DeVault: Announcing the Hare programming language
DeVault: Announcing the Hare programming language
Posted May 3, 2022 12:05 UTC (Tue) by nix (subscriber, #2304)In reply to: DeVault: Announcing the Hare programming language by JMB
Parent article: DeVault: Announcing the Hare programming language
I read a lot of people commenting on why various design decisions seemed poor, followed by, variously, defensiveness, attacking the critic rather than the point they made or declaring they will simply not interact with them at all, declaring the point to be "out of scope" (even when it was *explicitly required* for the design goals of the language: UAF protection or decent data structures are obviously needed in order to be able to actually trust your tools, but I guess it's not obvious after all)... or simply ignoring the entire comment thread (e.g. the rather devastating points about its character/unicode handling, which would seem germane to the string handling stuff Drew *was* responding to).
My immediate impression from this thread is that this is a new language where design or implementation criticisms or even suggestions for tiny changes to the documentation are ignored unless they're really easy to fix *and* you're someone in the designer's good books, which might well mean never having mentioned a competing language in his hearing. You'll pardon me if I think that this sounds a bit excessive. "Tidal wave of hate" or no, walking on eggshells in order to not offend the language designer or having suggested improvements disregarded because of who I am seems like a bad fork to be stuck in if I want to use a nascent language.
FYI: I saw no hate, although I did gasp in shock at several of Drew's comments. I saw one comment that designing new languages which intentionally avoid trying to protect against UAF should lead to legal liability for the language designer. I'm not so sure about that, but it is clearly seriously *unwise* to choose to use this language, however pretty it might be, for anything remotely important or which processes hostile input or which processes not-perfectly-controlled input which might not all be perfectly formed UTF-8 or which requires complex datastructures or which might need nontrivial memory management... which rules out just about everything other than hobbies you're sure nobody else is going to use. It probably should expose people who choose to use it for safety-critical or security-exposed stuff to legal liability, but this should be true whatever language they choose to use. If people do use it for critical stuff and its manifold obvious faults cause problems I can easily see the language designers getting exposed to significant opprobrium for encouraging people to use it without prominent warnings about this stuff, all while having an announcement that said "Provide tools the programmer may use when they don’t trust themselves" while leaving huge mantraps like manual memory management and no decent datastructures in place which obviously force the programmer to be perfect a huge proportion of the time, just like C does.
I like C. I use it all the time: even though it is obviously a stone-age tool, it is a good one as such things go, and you can prepare food perfectly well and also cut yourself really badly with an Acheulean hand axe. I still think this language is obviously aiming at the wrong goals, and that this comment thread is an example of self-destructiveness on Drew's part the like of which I haven't seen on LWN since the Apache OpenOffice fiasco. Drew hasn't *actually* insulted or driven off most of the C++ committee or Rust language designers yet, but that's seemingly only because most of them don't post here. It is obvious from this thread alone that he considers that disagreeing with him is a cardinal sin and that there is no need to justify even the most bizarre and retro language design decisions beyond saying "out of scope" or using plural pronouns like a monarch to make it seem as if lots of really important unnamed people already thought this through, though you don't get to see their reasoning and no precis nor even a link to a rationale is provided.
I used to more or less trust what Drew wrote. He seemed to think things through. That's gone.
