I was looking for new language to learn and Go looked very good candidate. It is getting popular due to its simplicity and power.
It is created by some of best minds of our industry
- 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.
So it becomes like if you want ease then give up on safety or vice versa. Some of new lang came with fancy syntax to give both but made it really hard learn.
Go took 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 new programming language today then Go looks very interesting choice.
It is not perfect , read about things that community don't like @ go-is-not-good also to get idea about what is left out in Go.
I am starting to learn Go and will be sharing my experience about it.
Lets Go for it:-)