Well, well well, today we need to take a small teleportation to the future of software development. But before let's first look at the background.
- In 1972, a very wise guy called Dennis Ritchie develops the first version of C at Bell Labs.
- In 1979, another smart brain Bjarne Stroustrup enhances C to add more object oriented fetures such as classes also at Bell labs. C++ was made open for everyone to use in 1985.
- In 1991, we see the birth of the worlds most powerful language(as of the present), python, by Guido Van Rossum.
- In 1994, a language which was ignited to truck who viewed Rasmus Lerdolf's resume, called Personal Home Page(PHP), that was later released for use by others in 1995, which we may call its birth year.
- In the same year, 1995, we see another smart brain named James Gosling developed Java at Sun Microsystems though rumors say that it was ignited in 1991 but let the world to know about it in 1995.
... the list is endless.
But here is the catch
The first multi-core processor was developed by IBM, in 2001, more details can be read here and at this time the only latest programming language was C# which was created in 2000, one year before the birth of multi-core processor architecture.
To our rescue!
Robert Griesemer, Rob Pike, and Ken Thompson in 2012(when it was made public), 10 years back from the time of writing this article, (but developed in 2007), developed a language that combines all the good parts of the dear oldies, Java, Python, JS, C++, C#, C and ignores the worst parts they have, at Google. The language gets its name from (you guessed it right), Google as that's where it was developed from. Various features that you need to install as libraries, packages ..., will be implemented by default in Go.
Well, right now, the transition is not instant, but the future will dictate us to fully move to Go as most of the biggest companies have already changed their performance sensitive programs to Go.
- Go is popular for cloud-based or server-side applications.
- DevOps and site reliability automation are also popular ways to use Go.
- Many command-line tools are written in Go.
- Go is used in the world of artificial intelligence and data science.
- Some use Go from micro-controller programming, robotics, and games.
However, Go really shines the most when it comes to infrastructure. Some of the most popular infrastructure tools today are written in Go — such as Kubernetes, Docker, and Prometheus.
Generally, wherever you need a lot of performance and concurrency, Go has got you covered.
Speed comparison between Go and Java.
Factorial Time To calculate factorial 10000 0.03 seconds 50000 0.41 seconds 100000 2.252 seconds 500000 68.961 seconds 1000000 224.135 seconds
Factorial Time To calculate factorial 10000 0.112 seconds 50000 1.185 seconds 100000 2.252 seconds 500000 89.500 seconds 1000000 385.868 seconds
That's a small sample test, but you can explore more with other languages and see how Golang beats the rest in performance.
Note: It is only in Golang where you do not even think about async and sync as Go by default is the only asynchronous programming language ever made.
Whereas python, C#, Java, C ..., are still proving to be our present, after teleporting to the future, I found Go being widely used more than anything else!! So start learning it today from here
Top comments (0)