Is it worth learning Golang ?
I was looking for a new language to learn and Go seemed a very good candidate. It is getting popular due to its simplicity and power.
It is created by some of the best minds of our industry
- Robert Griesemer – Google V8 javascript engine, Java hotspot virtual machine
- Rob Pike -UNIX and co creator of world most popular character encoding UTF8
- Ken Thompson – UNIX, B ,C language and creator of UTF8
Now we have so many language choices.
For ease of programming people use dynamic language like Python, Ruby , Javascript etc and for safety options are C++, Java, C#, Functional or VM based lang( Scala,Clojure etc)
So it becomes, like if you want ease and give up on safety or vice versa. Some of the new langs came with fancy syntax to give both but made it really hard to learn.
Go took a very different approach (i.e still using curly braces) by keeping the syntax simple that most of the programmer can read the code and solve the hard issues like:
– Memory management/Garbage collection.
– Making pure value types. No abstraction on top of abstraction. Data oriented design.
– Design for Multi core.
– Distributed computing support.
– Access to low level programming construct.
– Portable to many OS.
– Interesting module system and dependency management.
– Very simple error handling.
– Interesting support for OOPS.
– Easy to read and simple mental model. No hiding of cost like how much memory allocation or CPU processing required.
Pictures are better than thousands words, so i picked up some content from
GoCon Tokyo
If you want learn a new programming language today then Go looks a very interesting choice.
It is not perfect so you can read about things that community don’t like @
go-is-not-good and also to get an idea about what is left out in Go.
I am starting to learn Go and I will be sharing my experience about it.
Lets Go for it:-)
Published on Java Code Geeks with permission by Ashkrit Sharma, partner at our JCG program. See the original article here: Is it worth learning Golang ? Opinions expressed by Java Code Geeks contributors are their own. |