Seven years of Go
I have decided to get proficient in Go about 3 years ago and I am glad I did. One of the discoveries in the process was that Go enables you to do things that previously were extremely difficult and you&#x27;d typically not even consider as options.<p>Many of the &quot;old&quot; ways of thinking do not apply to Go, and I had to get over the phase of looking for an ORM or webapp or testing frameworks - they don&#x27;t exist because they are not necessary, and those that do aren&#x27;t any good really.<p>I ended up inventing my own challenge - a time-series database backed by PostgreSQL (<a href="http:&#x2F;&#x2F;github.com&#x2F;tgres&#x2F;tgres" rel="nofollow">http:&#x2F;&#x2F;github.com&#x2F;tgres&#x2F;tgres</a>), because I needed a difficult problem. Tgres is still not fully baked, but what it does couldn&#x27;t possibly be done in e.g. Python, and not in C in as little time (even though it&#x27;s been two years in development).<p>Contrary to what the blogs say, Go is _not_ an easy language to learn. Interfaces, goroutines, channels, selects, etc. will take a long while to become second nature, and if you&#x27;re not using them then you&#x27;re not really getting anything out of Go.<p>With respect to all the criticism Go is getting out there, e.g. lack of generics - I honestly can&#x27;t say there is anything that bugs me at all. Some things may take getting used to, but usually in the end you&#x27;re glad to have done so.<p>As someone who has done a lot of programming in my life (in Python, C (remember mod_python?) and also Ruby, and (with displeasure) Java) I can say that Go is a big deal in the language landscape and will not long from now be as big as Python - in fact I think it is Python developers who are most likely to switch over to Go for their next project.