I have been asked several times this past week about technologies I would choose to build my next application. There was a time when I adopted Java and the most of the world was still looking at Microsoft’s Visual Studio line of languages.
There was a time when people used to say “no one ever got fired for buying IBM” and more recently this rule was applied to Microsoft.
Java has now displaced COBOL in a lot of mainframe and other big iron installations. While it is stable in many environments it is still encumbered by licensing, deep dependencies, lack of a quality rating system, and is still not available on every platform.
Eventually GO may end up in the same place, however, the current state of the art tools for building and packaging GO application appear to be giving it a leg up. Also since the level of coding is somewhere between C and C++/Java one needs to take an algorithmic approach to software development. With any luck this means more performant code and scaling systems.
Google has deprecated several projects this year and terminated others. This is not always a good thing but clearly they are looking at their ROI as they should. It would be nice if Google would let us know what their commitment for LTS was going to be.
Unlike Java which was closed source for many years after it’s 1.0 release, GO has been open source since it’s beta days. I personally think they are lacking an IDE and a AppEngine toolkit similar to the python version. But for the moment it’s my goto after python.