Thank you! That is definitely an interesting language. However, it seems like development has stopped. The GitHub page says: "Note: For personal reasons, I'm on an extended break from the coding side of Vale, feel free to DM me on discord for details. - Evan Ovadia"
Right, and those C programmers talk big but there's no software written in C, where do they get off?
...I really don't understand this comment, there's so much Lisp code out there being used for everything from airfare search to video games, it seems willfully ignorant to say nothing is released in Lisp. I know, lucky 10,000, but still...
Excellent, that's precisely the thing I was looking for! Thank you! I see that there are some tricky issues that would have to be solved with regards to ergonomy, even with an imagined subset of Rust.
Nvidia on Linux is more like running Windows 95 from the gulag, and you're covered in ticks. I absolutely detest Nvidia because of the Linux hell they've created.
So if you take a Python program and you add the mental effort of having to deal with static types, lifetimes, the borrow checker and performance considerations, and this added mental effort actually allows you to write the program faster?
That is incredible. It's like being able to carve- and install a door from a slab of wood faster than installing a prefabricated door.
Ongoing maintenance and feature development on top of an existing code base is easily 10x the amount of time and effort of starting a new project greenfield. Even modest improvements in long-term readability and maintainability have disproportionately beneficial effects, even if the initial cost is somewhat high.
In my personal experience, once you're proficient in Rust, the initial cost is not somewhat high because those improvements in your ability to reason about your code base start snowballing quickly. And the long-term effects are enormous. I have literally picked up a project I hadn't worked on in years, made sweeping changes to the internals, and had every test pass in a pretty comprehensive suite the very first time it compiled.
This line of reasoning is utterly alien to me. If your types add mental overhead, you’re doing something wrong. You should be able to rely on the typechecker to check invariants for you, decreasing mental overhead. You have to think about types anyway, especially in an untyped language, where you can’t rely on the typechecker.
Having types lets you get better editor completion and such; I'd say Rust pushes you into bottom-up design, which I find significantly more productive than top-down too; doing bottom-up design is much trickier in a dynamic language, though, because changes to one of your "bottom layers" break upper layers in a way that the compiler/interpreter can't see
I code faster in types languages. I find typed code easier to read and understand. A lot of writing new code is just reading and understanding existing code.
So the claim doesn’t sound so crazy to me. For me at least, types remove mental overhead, they don’t add to it. I can’t count the times I’ve been reading through untyped (or inaccurately typed) python code and have had to jump a dozen levels deep just trying to figure out if a function can or cannot return null.