3 ms·
Drew is getting a lot of flak for this language for some reason. I think it's interesting, and it's obviously still brand-new. Problems will get worked out with
by seanw444 4y ago
Drew is getting a lot of flak for this language for some reason. I think it's interesting, and it's obviously still brand-new. Problems will get worked out with time. I, for one, am quite excited to give it a try. I like the "minimalism" (in a sense) of C, so Hare seems to be right up my alley. Just judging based off of syntax, I'm already a fan.
Side note - Drew, your Gemini capsule was one of the few I regularly check! I thought my internet was down when it wouldn't connect. Hope to see you back on sometime.
- duped 4y agoI think it's because the Hare authors seem to willingly ignore decades of PL research and practice. In this post the section on garbage collection and the notion of adding a borrow checker without changing the language seem a little misguided or even naive.
- ddevault 4y agoA lot of languages have been accused of "ignoring decades of PL research", an almost word-for-word criticism I've heard of a dozen languages or more. In fact, Hare includes a lot of innovations from newer PL research, but indeed not all of them, because different designers can approach a problem with different values and opinions. It's a deliberate design choice, not ignorance.
- duped 4y agoI can respect intentional and principled design choices, but some of the comments you've made on things like garbage collection, borrow checking, generic programming, compiler optimizations, etc don't come off as such. It would be interesting to read some of the modern design choices that Hare is making, for me most of what I understand about Hare are the things you've chosen not to do. Which is interesting, but not necessarily the most compelling all the time. I also think two of the principles you laid out - ease of implementation and transparency/explicitness of code are the hottest takes in Hare. I can see why people like or dislike those choices, and it's compelling to think about, but I'm not sure that the explicit choices to add or not add features from PL research reflect those. For example the paragraph on GC - I think there's a ton of reasons not to use a garbage collector in a language like Hare (for example, you have to write a GC in some language and not the one that is GC'd) but I'm not sure the reasoning you laid out is among them (concurrent and hard-realtime GCs are thing, whether removing the burden of manual memory management is more/less transparent to the intent of a programmer is very debatable).
- ddevault 4y agoI did not want to fill up an entire article about the garbage collector problem, but rather just wanted to use it as a brief example to illustrate the thinking around trade-offs when it comes to features like it. It might make sense to write a separate article talking about why Hare takes a conservative approach to language design, but this was not the article for that topic. > for example, you have to write a GC in some language and not the one that is GC'd This is not true.
- pwdisswordfish9 4y agoIt’s also funny how they invite experts on the Rust borrow checker, having previously explicitly declined to add generics. If they bothered to actually try the language, they’d realise that Rust borrow checking requires much of the same type algebra machinery that generics also use, so if they’d went through with it, they’d be implementing half of generics support anyway… Honestly, I kind of expect them to walk back on the borrow checker promise for that reason alone.
- ddevault 4y agoWe're well aware of the relationship between borrow checking and generics in Rust and, though it may rule it out for Hare, I do not think that we need generics or anything like it to obtain most of the value-add of a borrow checker.
- turminal 4y agoAvoiding tons of complexity in the compiler is just one of the reasons why Hare doesn't have generics, and a borrow checker may be a sufficiently compelling reason to introduce some of the that, while generics themselves are not.
- cardanome 4y agoI think some people here are just generally negative about any new projects be there language, tool or whatever. I often see comments that basically demand that projects justify their own existence. I guess people like to role play as venture capitalist asking the critical questions or something. It super annoys me because is reduces my own enjoyment as I love learning about new things. Also, a few up-and-coming languages are trying to fit into the C-replacement niche, so maybe it's some misguided fanboy-ism coming up. Personally, I am just glad Drew decided to share Hare with us. Always interesting to see what trade-off are made in a certain language and why. Definitely like the minimalism, will keep an eye on it.
- seanw444 4y agoWholeheartedly agree. Not everything has to solve all the problems. In fact, nothing ever will.