top | item 45705404

(no title)

vatsachakrvthy | 4 months ago

It's not kneeling it's literally just eliminating bugs. It's kind of like saying that we kneel to logic while doing math

discuss

order

GuB-42|4 months ago

The problem I have with what I call "bondage and discipline" languages is that while it has value making sure the code is correct, it is not pleasant (for me) to work with.

Sometimes I just want to try out stuff, I know there is a bug, in fact, it breaks everything, but that's exactly what I want, I will revert it once my little expertement is complete. Strict languages will refuse to run anything unless you make sure that code follow all the rules, which is useless work as you know it won't stay (because it breaks things on purpose).

It is not just Rust, it is just that Rust has a lot of that. There is also C++ not allowing me to access private class members, or Python being annoying with its indentation, these are all good things for production code, but it gets in the way of experimentation.

Combine this with slow compilation times and it makes Rust not very experiment-friendly, which I think is the reason why many people don't have a good time with it.

As I understand it, Zig is more permissive and also has fast compilation as a design goal, which I think is a big contributing factor in making it more "pleasant".

mordnis|4 months ago

Zig can also be annoying. For example, you cannot just ignore the return value, even in debug builds. Playing around with slices, c strings, arrays is also annoying in comparison to C.

vatsachakrvthy|4 months ago

You're right that rust is not experiment friendly, especially since it doesn't have a repl. I guess I must be into BDSM because my go-to language for experimentation is Haskell

api|4 months ago

Experiments very often become production and now you have security holes and technical debt.

ay|4 months ago

Put Claude code on top of it and now you have prototypes of what you have in mind written pretty much instantly and they are suitable for reshaping into production later if needs to.