I picked up Go because C frustrated me so much. Can you give some examples as to why you prefer C?
I prefer C99. A smattering of features I like:
* Variable Length Arrays
* Variadic Macros
* Designated Initializers
* Anonymous Structs
* Compound Literals
Some of the meta-"features" I like: * No built-in runtime or GC
* A choice of dynamic vs static compilation
* A good libc is wonderful but not necessary to get work done fast
* The tooling is mature and plentiful
I'm sure Go is a fine language. I probably suffer from some sort of first-language bias as I've been using C for a long time and only know a smattering of Go from toy programs, blog posts, and reading the source to interesting projects like CockroachDB.1. Variable Length Arrays: Go has slices 2. Anonymous Structs: Go has these 3. No built-in runtime (in C): This is not true unless you are compiling -ffreestanding -nostdlib, etc. I have done this in C, but such programs have to call system-calls directly and provide their own malloc, etc.