5 ms·
I'm a Go fan and I've used it tons; I'm Rust-curious, but I've only made toy programs w/ it. While there is a germ of truth to this -- C++ and Rust are both com
by dilap 7y ago
I'm a Go fan and I've used it tons; I'm Rust-curious, but I've only made toy programs w/ it. While there is a germ of truth to this -- C++ and Rust are both complex -- I think it carries w/ it a lot of connotations which are untrue.
To wit, C++ is a brutal, terribly designed mess that's absolute torture to work with.
Rust is extremely well-designed and a pleasure to work with.
Very important difference!
- inimino 7y agoC++ is two and a half decades older than Rust. Come back to this comment in 25 years and see how well the pleasure of Rust's design has held up.
- thawaway1837 7y agoThat’s ironic because arguably C++ became a much better language in the last decade or so than what it was before that.
- rob74 7y ago...and I'm sure the language features which feel like torture now looked like a good idea at the time they were implemented, decades ago.
- dwaite 7y agoHowever, most of those torturous points were from the onset, to attempt 100% compatibility with C.
- marcosdumay 7y agoHum... No they didn't. People were creating new languages by that time just to reimplement them correctly.
- dralley 7y agoThe "edition" model is a big point in Rust's favor. They can make "backwards incompatible" syntax changes without infringing on the ability to compile older code.
- aloknnikhil 7y agoPre-C++11 was. Modern C++ not so much. Things have drastically improved and dare I say, it's more appropriate to call C++11 and greater C++ v2. That said the tooling around build/test/dependency management/versioning leave much to be desired for. But a combination of meson (for build), Catch (for test) and CMake for dependency management can go a long way.
- baby 7y agoDo you still need to write makefiles manually?
- dwaite 7y agoIf you are using makefiles, you either write them manually or use a generator like Cmake or the autotools. Tools or scripts to automate build are required in all languages once you hit a certain level of heterogeneity/complexity.
- umanwizard 7y agoWhat does the build system have to do with the language? The current trend of combining the two concerns by having language-specific build systems (like Cargo) was a mistake, IMO.
- adrianN 7y agoIt has a lot to do with the language because the ease of adding external libraries has an enormous impact on the design choices made when writing code. Also, the need for header files and disgusting hacks like unity builds just adds unnecessary friction.
- signa11 7y ago> ... language because the ease of adding external libraries has an enormous impact on the design choices... even if you could incorporate external libraries with zero impedance mismatch, you still have to _use_ the said libraries. while there might be _marginal_ element of truth to that statement, however ease of stitching external libraries into your application has no bearing on either the programming language or the act of programming the application itself.
- adev_ 7y ago> To wit, C++ is a brutal, terribly designed mess that's absolute torture to work with That's not arguments. That's at best your personal feelings, or just FUD depending of point of view. And not everybody agree with that. I personally find Golang brain dead and close retarded because it is a shame to see language in 2020 not even supporting Generics and Operator overloading.
- baby 7y agoEvery languages must have generics and overloading? Gosh that’s one crazy opinion.
- adev_ 7y agoThat's my opinion for system language. And even if purely superficial, it has already more argument that the previous comment. But yes, if your language pretend to be a modern system language, you should yes. Not being able to write generic data structure or linear algebra containers in 2020 is a shame yes.
- baby 7y agoWell. I love the fact that Go code doesn’t have generics. Super clear to read. I must be a goof.