Hacker News new | ask | show | jobs
by mccoyst 5121 days ago
Go solves almost all of the problems that C introduces, how's that sound?
3 comments

Circular :-) But more constructively, it helps if you can get a bit deeper in the analysis. So C has a memory management problem, solved or not solved? C has a concurrency problem, solved or not solved? C has a security problem, solved or not solved? I will be the first to admit that I've not kept up with it since I left so it is entirely possible it's found its voice, has it?
I do mean almost everything; C has many problems: The preprocessor, no modules, annoying to correctly and portably write even seemingly simple things like signed integer calculations, error handling, resource management, almost anything involving arrays is a pain. I could go on, if I were in a worse mood. Go solve all of those for me, keeping the same clean feeling of C, yet is actually clean and simpler.
Those problems were solved by Java over a decade ago in a nearly identical way.
Either you don't know Java or you don't know Go, because the way the two do things almost couldn't be more different. The JVM and the requirement that every non-primitive be a class that inherits from Object are not small differences.
Just because they solve the same problems differently, doesn't mean they don't solve the same problems.
I love Java but it did introduce us (which may have occurred naturally over time) to new subsets of problems, which may in the future as well be referred to as traits.
Could you elaborate? Go feels nothing like Java to me.
But Go was not created in a vacuum. Many other languages have solved C's problems since then.