2 ms·
Go is not a "modern C". It may or may not be a swell language, but it differs fundamentally from C: 1. Go is a garbage-collected language, C is not. 2. Go is
by einpoklum 5y ago
Go is not a "modern C". It may or may not be a swell language, but it differs fundamentally from C:
1. Go is a garbage-collected language, C is not.
2. Go is a single-company-managed language, while C is managed by an international standards committee within ISO. You might not care about this difference, but its quite significant w.r.t. how future language developments happen.
3. C types are intentional, Go types are extentional ("structural typing").
These fundamental differences are not cases of one language being superior, or further advanced, than the other - they're about going in different directions.
- 37ef_ced3 5y agoI have been writing C for decades, but now I almost exclusively use Go. What I mean is that if you like C99, you will probably like Go. Go can be understood as a modernization of C that doesn't abandon C's simplicity but adds a few important facilities that C lacks. Go obviously derives from C. It's a very C-like language. It makes sense to view Go as an enhanced C that makes slightly different trade-offs and that is applicable to a slightly different set of purposes.
- bachmeier 5y agoHonestly, I think D's betterC would be the right choice for someone that wants to keep writing C but wants modernized features. Go might be great for someone looking to replace C, but betterC is comfortable for someone that prefers to continue to write C.