Why Did Google Create Golang ?

Go is a programming language created by Robert Griesemar, Rob Pike and Ken Thompson with in Google. Go came into picture by 2009. If we need to understand why Go was created, we need to understand the drawbacks of other programming languages used at the same the go came into light

Limitations of Python, Java, C/C++ compared to GO

  • The major programming languages which was used during 2007/9 era was Python, Java, C/C++
  • Each of the languages (Python, Java, C/C++) is powerful but had some limitations
  • Python is an interpreted language, but is a slow execution (run time) language. But still we rely on python due to the ease of development. So if we are running a tool developed in python the overall execution time is more.
  • Java  is quick but  the type system is complicated
  • C/C++ is not preferred since the type system is complicated and the compilation time is very high.
  • Multi threading is not a strong point for C/C++, Python and Java. At the time of introduction of three languages, Multi-threading was rarely used

Google was finding difficulty in doing string manipulation and increased compilations time even in a high end processor. In software world more time means more cost. So they had to find a solution to this issue

why did google create golang ?

Go was developed with a vision to overcome the drawbacks of the conventional languages and to retain the good qualities of conventional languages.

  • Like C++ and Java , Go is a Strong and statically typed language.
    • Strong typed means if we declare a variable to hold bollean, we cannot change this to integer later during the code execution
    • Static typed language means, all the variable which are used have to be defined at the compile time.
  • Go have fast compilation time
  • Go promotes simplicity. There are some features which are present in other languages but not in Go, this is because those features will add complexity to the language
  • Go is a garbage collected language so the user donot need to manage their own memory
    • Read more about garbage collected language here
  • Go have built in concurrency
  • Go compile to standalone binaries, which means the binary which gets compiled will have the necessary items, which include runtime, modules etc
  • Go have a strong community which helps new programmers to get acquainted with the language

 

References

Search on LinuxDataHub

Leave a Comment