Sumeet Pareek

An open mind. A romantic heart. And some simple and audacious surprises!

GoLang for Beginners, Concepts and Early Code

It is time for me to jump head first into a new exciting GoLang Project at work! Though I do not ancipate doing serious GoLang work anytime soon, there is an urge to learn about the language, its community, and balance that with shipping out code. These notes range from early conceptual things to some first real code runs.

Rob Pike, Ken Thompson and some friends created GoLang, so there can be a powerful yet simple modern compiled language, since C++ et al are 30+ years old, that builds fast, is good at concurrency and solving the C10K problem, and suitable for active development by large number of developers.

Resources

I would try to learn from the success stories and be aware of the gotchas. Popular packages and projects should be worthwhile to keep an eye on. I find hugo and docker of interest right away!

Modern Compiled Language

The fresh breed of programmers are once again getting excited about the world of powerful complied languages and using GoLang for a variety of use-cases, including those where Ruby, Python, etc. ruled the roost. Even though at first glance you would expect GoLang to gain ground from C++, Java and the likes.

Faster Builds

Faster builds are primarily acheived by re-working how Go’s complier works with what is analogous to header files, inclues and imports in the world of other programming langauges.

C10K and Concurreny

The C10K problem, of making servers be effectively concurrent and real-time for tens of thousands of request, is something you would use goroutines and channels for.

More Managable

Optimizing for large development teams is done by promoting NOT adhering to DRY way of working; simplifying dependencies by encouraging libraries to be backwards compatible, over having multiple released versions; downloading third party packages and keeping them with your application, with a changed import path; etc.

To Do Next - Some first programs

TBD