4 ms·
Somewhat. But I would rather characterize Go as a modernized middle ground between C and Java. Both C++ and python are rather fully featured languages, while t
by Lutger 8y ago
Somewhat. But I would rather characterize Go as a modernized middle ground between C and Java.
Both C++ and python are rather fully featured languages, while the design of Go seems to aim for more simplicity and quality of implementation which affords a great developer UX. In this sense, Go is a step back from the complexity of both C++ and python.
Go for me feels more like an updated and slightly higher-level C for application or webserver programming than any sort of alternative for C++.
- platz 8y agoI don't understand why anyone would characterize C and go. C and Java makes much more sense. It's basically Java with a clean an minimal API. That does not make it C.
- _ph_ 8y agoIn my eyes, Java and Go have very little in common beyond that they are both garbage collected languages. Go has been created by experienced C programmers and the heritage shows. Java is completely object-oriented, based on byte-code which gets JITed by a VM. All complex types have to be objects and are always handled by references - you cannot make an array of objects, you can only have an array of references. Go is statically compiled into a statically linked executable. Go has structs as complex types. They are handled by value, unless you specifically use pointers. Structs can contain other structs as values, without requiring the indirection and the overhead of references. The same applies for arrays. You can have methods on any type, including structs, but you can also just have functions.
- smittywerben 8y agoI’m a novice programmer but guessing Golang is concerned with keeping things as bytes; arguably _the_ distinguishing characteristic of C. So it has a scanner like Java or C#, but you’d get laughed at iterating bytes not objects in Java. I’d also note Golang’s API is built for enterprises so it’s familiar by design. I’d enjoy to hear other perspectives.