4 ms·
I'm not familiar with Rust, so I can't advise you there. But I have worked with the other two languages. Go is not a great choice, because it's not very low le
by johan_larson 11y ago
I'm not familiar with Rust, so I can't advise you there. But I have worked with the other two languages.
Go is not a great choice, because it's not very low level. You don't allocate and free memory explicitly, and you often work with maps, slices, and channels, which are quite high-level.
C is a reasonable choice, since the core of it is fairly simple. I expect that forty years of incremental additions have added quite a bit of cruft though, which you have to be able to see though. There also isn't very much work done in plain C these days. Most people in this space use C++, which is even more complicated.
May I ask what you are hoping to do with this skill? If you just want a chance to learn more about how computers work, an artificial assembly language like MMIX may teach you more while avoiding much of the cruft that real languages pick up as they evolve. If you actually want to use this for work, C++ is the way to go, but expect to be a beginner for a long time.
https://en.wikipedia.org/wiki/MMIX https://en.wikipedia.org/wiki/MMIX
- brudgers 11y agoAre there any workbooks with challenging exercises for MMIX?
- johan_larson 11y agoI haven't used it, but this supplement to Knuth's classic The Art of Computer Programming is bound to be instructive: http://www.amazon.com/gp/product/0133992314 http://www.amazon.com/gp/product/0133992314