Learning go lang


Well-Known Member
Apr 25, 2017
Reaction score
I haven't really had much time to look at go yet. I've barely scratched the surface with it. I worked through one or two online tutorials two or three years or so ago - so I don't remember a lot about it. Other than I quite liked it, but that's about it.

But go has been touted as a next-gen systems programming language, so it's probably worth taking the time to learn properly. It's one of the languages on my todo list!

I've been trying to learn functional programming using Haskell on and off for the last couple of years. I think that is finally starting to sink in.

I'm also busy learning about the 2011, 2014 and 2017 changes to the C++ standard, because work are finally talking about upgrading to an up-to-date version of Visual Studio (We're still using VS2008 ATM)

Anyway, getting back on track:
Regarding Python - it's definitely a good language to learn - It's great for web-based projects (via frameworks like Django), and there are python bindings for tons of other useful libraries - so it can be used for a wide variety of applications.

Ruby is another language you might want to consider too. It's another language that is great for web projects (via the ruby on the rails framework), but doesn't seem to have bindings for quite as many libraries as python yet. But I'm sure that situation will change in time!

Python and ruby are very expressive languages - you can implement a lot of functionality with very little code. From what I remember, go is a little more verbose than python or ruby - in other words, more code is required. Go reminded me of C++, but with slightly different/cleaner syntax.

As for whether to jump straight into go, or to learn something like python first - I guess that's up to you!

It might be a bit of a leap from shellscripting to go, but the same could be said for going from shellscripting to python. Either way, I don't think it will be too horrendous a transition.

Through shellscripting, you will at least be aware of using variables, functions, loops and other branching/control mechanisms.

And any course on python or go would start you off by introducing things like that anyway, before introducing more advanced topics - e.g. concepts like classes and inheritance/polymorphism etc.

Members online