I started working with golang about a month ago and did some hands on. Looks like a pretty good language to write backend code and lots of other stuff.

As I surfed through various links searching for various references, I came across a quora question with interesting debate on golang. There are arguments both for and against the design of the language. The arguments mostly hover around that Go is not designed as a modern language that serves various areas, unlike other languages like Scala, Rust, etc. and how Google has designed an outdated language. Few more discussions here and here. Some have come out in defence as well. But as a software engineer I find it difficult to say that X language is better than Y. Let me explain.

As an engineer our purpose is to solve a problem using the best tools available. If a language X solves my problem better than Y then I am going to use X. No point blaming Y in that case. May be X is not the right language for my task. There might be a question of having an attachment with the tools and languages that you have worked on. That is a fair point. Once you start coding you cannot help but admire the elegance and beauty of the code and how it works. Same goes for criticism as well. However, one has to come back to reality and, and this is important, identify if the current language or tool no longer works for the product. Perhaps this is something similar to the Innovator’s dilemma where the creator has to take a step back and analyze if its time for a re-design.

If X language doesn’t fit your needs, move to Y. X was made for a specific purpose. If its doing that then its mission accomplished. If its not then try to find out if any other tool/language works. Same can be said for processes, architecture, almost anything that goes into making a product. Worst case, if none of the languages don’t seem to fit, you might have to write a new one or extend an existing one. :) That is how we can make better software I guess.

I have Go just as an example. Must be with other languages or tools as well. Do watch Rob Pike’s talk on golang and why Google needed it.