3 ms·
I'm going to be the heretic and predict the opposite about Go and Rust. The reason is that Rust is overengineered, allows for macros, and is getting more and mo
by 13415 6y ago
I'm going to be the heretic and predict the opposite about Go and Rust. The reason is that Rust is overengineered, allows for macros, and is getting more and more complicated all the time. It's going to be as complicated as C++ in 10 years from now. Go is kept simple, the team is reluctant to introduce large changes, and it was from the beginning planned as an "easier C" with automatic memory management.
I'd also like to challenge the idea that Rust is optimized for maintaining. It's optimized for backwards compatibility. IMHO Ada is way better for long-term maintainability and in that respect beats every other language I know.
- brundolf 6y agoThat's actually a great point about macros. I have extremely mixed feelings about Rust's macros, but one of those feelings is that if anything is going to compromise its status as "the maintainable language" down the line, macros are the most likely.
- 13415 6y agoThat's also my impression about CommonLisp, which I otherwise like a lot. Macros are really handy but in the long run they force new programmers to learn DSLs forever. The same for templates, of course. They increase programmer comfort but decrease long-term maintainability. It's always a trade-off.
- jcelerier 6y ago> in the long run they force new programmers to learn DSLs forever. but... that's a good thing. programs should be built as a collection of small DSLs tailored to the specific tasks of that program
- zozbot234 6y agoYou think macros are overly complicated? Have you looked at how people use C++ templates?
- oblio 6y agoHe just presented C++ as being another over-complicated language :-)