+ 10

Why is GoLang so popular ?

Hello there, I've seen for a while the Go language in the top trending programming languages for the last 3 years (average) But I was wondering, why is it so popular ? Python for instance has a simple syntax and is widely used in data science and machine learning, Java isn't much loved anymore in the last 5 years but still pretty used for cross-plateform applications... But I can't see anything special with Go, except it has a particular syntax that a few seems to fully appreciate (not to mention it introduced new syntaxes like the walrus operator that a good part I saw of the community doesn't seem to embrace much), and it is pretty young (and maybe not mature enough) So what kind of implementation does it have, what kind of field does it targets to be so popular nowaday ? And also, should I learn it to get a job in, say, 5 years ? Or is it a wildfire that will more likely be forgotten ?

14th Aug 2019, 12:26 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
32 Answers
+ 11
Winston-Delbert Gaster 👍You are welcome!😊 Scalability indicates the possibility of growth while maintaining all the basic properties and functions. Scalability is a desirable property of a product, network, or system that indicates the possibility of growth without altering basic features or functions. **Here's what it looks like in practice: once you design and patent your shoe, others can develop it further. Designing a shoe makes a lot more money than manufacturing. Production is by no means scalable – while idea generation is.😉 [ Edited: ] For which purpose is the Go programming language used? • https://www.quora.com/For-which-purpose-is-the-Go-programming-language-used
15th Aug 2019, 5:29 AM
Danijel Ivanović
Danijel Ivanović - avatar
+ 10
It's hard to predict the future. It is probably popular because it has a major company behind it.
14th Aug 2019, 2:38 PM
Sonic
Sonic - avatar
14th Aug 2019, 3:28 PM
Danijel Ivanović
Danijel Ivanović - avatar
+ 9
Eriberto Mendez [ Learning Go: ] • From zero to hero — https://medium.freecodecamp.org/learning-go-from-zero-to-hero-d2a3223b3d86 [ Go Introductory Tutorials: ] • A list of tutorials to understand Go Programming Language with deep dive into language spec with basic examples — https://medium.com/rungo/go-introductory-tutorials-896aeda0fb8a
25th Aug 2019, 7:34 AM
Danijel Ivanović
Danijel Ivanović - avatar
+ 8
rudolph flash The question, as it stands, is impossible to predict. Businesses that do this conversion will only consider a rewrite if they can justify the costs and delay for new features during that rewrite. In that regard, this would apply to a smaller set of projects that require support for high concurrency, low latency requests. At that level, the costs are exceptionally much higher. Even then, it's not clear if you are referring to microservices or Web APIs. That would impact the speculation about which makes more sense.
15th Aug 2019, 10:18 PM
David Carroll
David Carroll - avatar
+ 6
Sonic Good guess, but I'm doubting. The same company has Dart, language of the Flutter framework, which is however ranked in the "top 10 worst programming languages to learn in 2018" and not even in trending, while it's right now heavily developed and offers a bigger opportunity (cross plateform — mobile and desktop this time — development) than Go does, at least in my knowledge
14th Aug 2019, 2:57 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 6
Danijel Ivanović Thanks a lot ! It's clearer for me now. So it's mainly for performances and maintainability But there's a point I didn't got right, with this sentence: "[…] this language was designed for massive scalability" What does it mean concretely ?
14th Aug 2019, 6:48 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 6
Winston-Delbert Gaster In the context of Golang, scalability refers to Go's very efficient and lightweight approach for parallel processing via Goroutines. Goroutines is able to run multiple executions across multiple CPU cores that aren't tied to thread overhead. By comparison, Javascript supports single execution, running one at a time on a single thread. Javascript uses an event loop with levels is prioritization for promises, callbacks, and functions with non-blocking IO that runs incredibly fast. However, it's still, only single threaded execution. Hopefully, this makes some sense.
15th Aug 2019, 6:21 AM
David Carroll
David Carroll - avatar
+ 6
Looks like Go is competing with Python in the Data Science arena. If it adds convenient AI/ML libraries, will it render Python obsolete?
15th Aug 2019, 9:37 AM
Sonic
Sonic - avatar
+ 6
Go will be a strong alternative to C/C++ languages. If support for generics are ever added, I imagine I might be more interested in it for other applications. Kotlin is still my favorite new kid on the block. Python is massively popular among non programmers, programmer hobbyists, students, and a niche industry known as data science. However, it's not nearly as popular in enterprise / professional development circles. In fact, aside from a few big name companies known to have implemented python as their core, it's non existent among my network of developers. So, I don't think it would take much for Python to fade away into oblivion once the false survey hype dies down.
15th Aug 2019, 6:43 PM
David Carroll
David Carroll - avatar
+ 6
Eriberto Mendez These links may be a good start to review: https://medium.com/quick-code/top-online-courses-to-learn-go-programming-language-golang-for-beginners-c228c615946c https://medium.com/hackr-io/learn-golang-best-go-tutorials-for-beginners-deb6cab45867 Learn Go Programming - Golang Tutorial for Beginners (6 hr 40 mins) https://m.youtube.com/watch?v=YS4e4q9oBaU Go Programming Language Tutorial | Golang Tutorial For Beginners | Go Language Training | Edureka (1 hr 8 min) https://m.youtube.com/watch?v=Q0sKAMal4WQ Go / Golang Crash Course (1 hr 38 min) https://m.youtube.com/watch?v=SqrbIlUwR0U
25th Aug 2019, 5:16 AM
David Carroll
David Carroll - avatar
+ 5
Evan Martine Thanks for your answer ! However, aren't interpreted languages supposed to be slower than compiled ?
14th Aug 2019, 1:16 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 5
ShadowWrath72 Same here, I prefer Rust's syntax over Go's
15th Aug 2019, 7:28 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 5
David Carroll I don't think Python will completely fade in oblivion. If it has been out for so long and is used in multiple fields, I think it could still resists beyond the fact that it is not much popular in a more professionnal circle.
15th Aug 2019, 7:32 PM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 4
The major benefit of using C, C++ over other modern high-level languages is their performance. Processors understand binaries. When you build an app using Java or other JVM-based language, it compiles the human readable code to byte-code. Go works like an interpreted language, making it super fast.
14th Aug 2019, 12:36 PM
Evan Martine
+ 3
Thank you everyone for your explanations and sources, now I understand 😁
15th Aug 2019, 8:34 AM
Winston-Delbert Gaster
Winston-Delbert Gaster - avatar
+ 3
GoLang is from Google and you already know what sort of legacy it had imbibed coming to programming language it's a must in learner's list......
15th Aug 2019, 12:50 PM
Aditya
Aditya - avatar
+ 3
Eriberto Mendez I've not seen a course for Golang. I'm curious about why the interest in Go? Are you already familiar with other languages or were you planning to learn this one first?
25th Aug 2019, 3:51 AM
David Carroll
David Carroll - avatar
+ 3
Eriberto Mendez My preferred starting Go reference is here: https://www.golang-book.com/books/intro Looks like its been taken off the official Go website (which has some new resources). Might be slightly older but, very good regardless.
25th Aug 2019, 6:12 AM
Jared Bird
Jared Bird - avatar
+ 3
Thanks for the links guys much appreciated!
25th Aug 2019, 7:07 AM
Eriberto Mendez
Eriberto Mendez - avatar