4 ms·
Since the language is officially announced now, here's an interesting analysis on the language: https://tilde.team/~kiedtl/blog/hare/ https://tilde.team/~kiedtl
by jpe90 4y ago
Since the language is officially announced now, here's an interesting analysis on the language: https://tilde.team/~kiedtl/blog/hare/ https://tilde.team/~kiedtl/blog/hare/
Personally I'm very interesting in playing with it. Generics, functional programming constructs, and a lot of the syntactic sugar you find in modern languages have their uses but I think there's a lot of merit to the idea that you might not want them in a systems language. I think cleaning up some of C's rough edges and providing batteries while keeping things extremely simple and clear is very compelling. I'm also appreciative that it doesn't seem overly opinionated where it doesn't need to be.
It's kind of a bummer that there's no MacOS support so I'll have to SSH into my linux box to play with it. I hope the language takes off and support for other platforms materializes. Congratulations to everyone who worked on this.
- turminal 4y ago> Since the language is officially announced now, here's an interesting analysis on the language: https://tilde.team/~kiedtl/blog/hare/ https://tilde.team/~kiedtl/blog/hare/ Just a reminder (since I can't see a date in the blog post) that this was written almost a year ago. Lots of things have changed in the language since then.
- wchar_t 4y agoYes, it is indeed outdated, however some of the criticism/praise is still relevant. I'll see if I can take a second look at the language in the coming days.
- turminal 4y agoYeah, I didn't mean to imply it's not relevant.
- pwdisswordfish9 4y agoHare has generics now?!?! Because to me it looks like the bulk of the criticism remains substantially relevant.
- magnio 4y ago> Labeled loops > I'm not yet sure whether this is a good thing or a bad thing. Sure, you can do clever shenanigans now, but something tells me this will make the code's control flow much harder to follow. The most popular example I can think of is JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label#using_a_labeled_continue_with_for_loops https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Tbh, I think the opposite is true: without the ability to break outer loops, I have resorted to shenanigans using an auxiliary variable and then have to check it after the loop completes, obscuring the logic of the program. Of course, it does not have the full power of goto, and in this case I think it is a sensible choice.
- erk__ 4y agoRust also has this: https://doc.rust-lang.org/rust-by-example/flow_control/loop/nested.html https://doc.rust-lang.org/rust-by-example/flow_control/loop/...
- wchar_t 4y agoAuthor here. Fair enough! Since writing that I've done a lot of Zig code, which has labeled loops, and I can say it's definitely made a lot of code clearer than it would be otherwise.
- deleted 4y ago[deleted]
- hoytech 4y agoI agree, labelled loops are fantastic. I don't know for sure, but I believe the JavaScript feature was inspired by Perl, which has had them since at least the v4 releases (1989-1993): https://www.rexswain.com/perl4.html#flow https://www.rexswain.com/perl4.html#flow
- tayistay 4y agoFrom that article: "The real question is, does Hare have an[y] business existing when Zig and Myrddin already exist?" Why do people question whether something such as a programming language has business existing? Do they believe in a zero-sum theory of human attention? By "business existing" are they really questioning whether we should pay any attention to it? Serious question, because I find it somewhat disturbing on some philosophical level.