1. 程式人生 > >Why Should I learn Go ? > LinxLabs

Why Should I learn Go ? > LinxLabs

The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google to make the process more productive and scalable.

Brain behind Golang are the pioneers in computing

  • Kenn Thompson (B,C,Unix ,UTF8)
  • Rob Pike (Unix, UTF8)
  • Robert Griesemer (Hotspot, JVM)

(From left to right; Robert Griesemer, Rob Pike, Kenn Thompson)

These folks started sketching the goals for a new language on the whiteboard on September 21, 2007.
Within a few days, the goals had settled into a plan to do something and a fair idea of what it would be.

Design continued part-time in parallel with unrelated work.

By January 2008, Ken had started work on a compiler with which to explore ideas; it generated C code as its output.

By mid-year, the language had become a full-time project and had settled enough to attempt a production compiler.

In May 2008, Ian Taylor independently started on a GCC front end for Go using the draft specification.
Russ Cox joined in late 2008 and helped move the language and libraries from prototype to reality.

The thought was to have a language with efficient compilation, efficient execution, and ease of programming
because no language existed with all these three characteristics before go was developed

Referring to himself along with the other original authors of Go Kenn Thompson states :

“When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research.
The three of us got together and decided that we hated C++. [laughter] … [Returning to Go,]
we started off with the idea that all three of us had to be talked into every feature in the language,
so there was no extraneous garbage put into the language for any reason”

Go became a public open source project on November 10, 2009.
Many people from the community have contributed ideas, discussions, and code.

Developers prefer ease Over Safety and moved to dynamically typed languages like Python, JavaScript, and Java.But that caused impact in efficiency and complexity

Go is an attempt to combine the ease of programming of an interpreted,
dynamically typed language with the efficiency and safety of a statically typed, compiled language.

In every respect, the language was designed by thinking about what programmers do and how to make programming, at least the kind of programming we do, more effective, which means more fun.

Still, if you didn’t get the answer to, why should I learn go ;

  • Look at the names who architected this language and their past.
  • Its backed by Google.
  • Cross-platform support (Linux, FreeBSD, Mac, Windows).
  • Famous OS container service Docker developed in go.
  • Container orchestration service Kubernetes developed in go.
  • Compiled binary (not like python or Perl or javascript which needs a separate runtime).
  • Execution speed, thin, garbage-collection, dynamic and so on.
  • Own runtime.
  • Object Oriented (without inheritance).
  • Simple syntax.
  • Concurrency using Goroutines.

So I would say Go is 21st century’s C language and there is no reason for you not to learn this language.