My Impressions of Hare
vfoley.xyz
vfoley.xyz
I don’t mean to impose some duty on people to just at random intervals re-evaluate something, but as in the article, if something prompts the possibility for a second chance I would want the default position of devs to be to go for it.
I wonder if this is “maturing” as a software engineer or becoming more “specialized” (a nice way to say, not wanting to touch/learn new technology)
I also find myself placing a premium in simplicity, but what if “simple” for me simply means what I’m familiar with?
Sure, I’m still trusting on a compile and an OS and a handful of libraries, but that is certainly a lot less than the standard, say, node.js app out there with a couple thousand npm dependencies.
I'm speaking as someone who reads more code than writes for many years.
I nevertheless agree that writing clever code is a bad idea. Code should not be a riddle. But writing smart code is helpful in many ways. Dumbing down a language in order to prevent people from writing clever code looks like an obvious idea, but even such spartan language as C has numerous examples of contrived code, like the Duff's device. A more expressive language won't need these contrivances.
A thing I've discovered that helps me a lot that don't see mentioned at all is to always review code by checking it out on your machine and using your editor to inspect it. Maybe it's just me, but there is something about seeing the code in your own environment as well as having all of your tools to e.g. see where a method is used helps massively.
Derived implementations of things like `equals`. An advanced language feature I guess. Easy to read in the complex language, longer to read in the simpler language, and something you have to keep in mind to update manually or regenerate when you update your data structures.
The industry needs a C replacement, and there are many contenders including Hare. You can't replace C without being able to build all the same kinds of software that it can.
I have done a fair amount of hobbyist development with Rust on embedded devices. The naysayers make this sound difficult; it isn't at all.
Yeah you’re not gonna get any old age wisdom points from me when the technical argumentation is so thin. But I guess intuition is also a form of wisdom.
I noticed the author mentions implicit context argument passing in Odin. I looked into it, and as I understand it is for language related use only - memory management, etc.
I'm looking for inspiration in this regard as I'm working on a language. I'm familiar with Go-s context passing and aware of Java's thread locals. Can you recommend other any languages with different approaches that I should look into?