Hacker News new | ask | show | jobs
by bjconlan 815 days ago
Yes, this is all very interesting, I've found golang is significantly simpler to get up to speed on from a c-family based education (c/c++/java) so I'm curious if these teams were both proficient before starting the projects. (And 3rd party package comparisons come into play). Either way enough to keep an ear out as I'm sure with the wealth of python & js developers the language of choice will be promoted by their experiences/evolution (so suspect mojo will also be something to keep an eye on)

(Notably I've gone through this evaluation recently and landed on implementing my personal project in c++23 (using cosmopolitan if possible) mostly for the value of updating my c++ knowledge (and perhaps look into cuda))

2 comments

>> I've found golang is significantly simpler to get up to speed on from a c-family based education (c/c++/java) so I'm curious if these teams were both proficient before starting the projects.

Coming from a similar background, I have found Golang to be a nice, more efficient replacement for Java because it works great for backend web services, middleware, etc. Go is easy to learn and brings most of what is needed in its standard library (similar to Java).

Rust's sweet spot is where C and C++ shine: performance critical, maximum efficency required software such as operating system components, device drivers, media applications, etc.

Rust does have a learning curve, but most of what it enforces are best practices: 1) multiple readers or one writer resource usage, 2) organizing code hierarchy into trees, 3) sane patterns for concurrency, etc.

Go is great, but it has garbage collection (you don't manage memory directly) whereas c++ and rust do not.

It is apples and oranges, in that regard. Some node guy isn't going to just go and pick up rust/c++ because they're used for quite different purposes.

As a general purpose language, Go is amazing. In fact, it is what I use day to day for all my needs. For my current business needs it is what all our services are written in. They are fast, and the go concurrency model honestly makes it pretty easy for me to forego a lot of extra add-on technologies that are not yet required at my stage and KISS.

For anything like super high perf, systems programming, embedded, etc. you will want to use c++ or rust.