Twelve Years of Go
Coming from other languages, the most interesting thing about Go for me (in my limited experience of a few other languages) was all those things they left out:<p>No inheritance - no more digging through the massive world-tree of objects to find the code that actually does things.<p>No churn - I have not seen a Go update break my code in about 8 years of use.<p>No complexity - I like the culture of simplicity and eschewing dependencies in favour of writing the minimum code required.<p>No dynamic libraries - deployment is easier and apps more stable<p>No declared interfaces - they are defined at the point of use, not declared elsewhere<p>No header files - why C++, why?<p>No implicit type conversion - of the kind that plagues JS (see WAT), this rarely makes it more verbose.<p>There are of course a few gnarly corners - nils, errors, panics, struct tags are not very satisfactory IMO at the moment.<p>There are also lots of great positive things about it – the GC, tooling, fast compiler, stdlib and docs are a great example for other languages IMO.<p>I&#x27;ll be really interested to see where they take it next, while hopefully keeping the culture that has made it so pleasant to use. Thanks to everyone working on Go from me, and here&#x27;s to another 12 years of Go.