Pros and Cons of Golang

► SPONSORS ◄
Linode Web Hosting ($20.00 CREDIT)
http://bit.ly/2HsnivM

HipsterCode
http://bit.ly/2XTdIrx

Web Development in 2019
http://bit.ly/2Ux54Np

DevMountain Coding Bootcamp
http://bit.ly/2TGqKJP

Comments

Clipsey says:

Golang has generics through using interface{} as a type.

Ray Pereda says:

The simplicity of the language is mind boggling. Go will be more popular than Java, Python, C/C++, and Ruby.

JavaScript Evangelist says:

If you love JavaScript + Python + Haskell, you will love Golang.

Daniel Browning says:

Go is so well designed it blows my mind! the main reason you need 3rd party libraries for other languages is because those languages are crap! lol! making things the “GO” way ,will stop other developers making super mega monster Classes, that are so out of control that there is a chance they could become self-aware and take over the world ! GO is the new Python, pass it along! :))

JAGC says:

I think thare us enough help online. Maybe not on everything, but the godocs are very useful.
And there is not much need to look things up.
When I write 1000 lines of Javascript I’ll probably have 2000 errors to fix, with golang most if the errors will be unused imports and or variables and a small error that I can’t create any more queries. I tend to forget I have to break the loop after I insert correctly.
And our testing server only has 1 core of some cpu and 500MB memory. It can’t handle the load, even ssh starts to lagg.

achmed20 says:

there are shitloads of libraries out there and with “go get ” there absolutly no need for something like “npm”
also, the language is dead easy to read. maybe thats also why there is not much going on on stackoverflow.
coming from a mostly PHP background, i cant stress enough how freaking fast and easy this language is.
but error handling sure is no fun ^^

Jaap S says:

Go is the way to go. Go compiles super fast, most programs in under a second. No include files that get included a million times. Excellent memory management and build in garbage collection. Easy to learn and read language. If you know C you can very easily switch to Go. It is started and backed by Google and is open source. I think the advantages are huge en the disadvantages are trivial.

wwwShadow7 says:

So it solves concurrency? Why not use ADA for that, since that’s already out there and government backed. I thought about learning go, but I heard that it doesn’t do shared libraries, so pass. I liked some of the hype about go, but compiling fast like assembler isn’t that big of a deal with todays modern systems. The same could be said as a pro for integrated garbage collection, but giving up control of your resource usage to the language is a loose cannon IMO. Someday you’ll be running that marathon and the language is gonna make you stop mid race to re-tie your shoe laces because it doesn’t like the way they look. Like a poorly run government.

Yaniv Eliash says:

Less than a year old video that is so incorrect

Andre Khan says:

Go has made other languages obsolete.

Pat Farrell says:

GO is a systems language, not an application development tool. By design, you won’t find a zillion folks trying to use it. It addresses serious issues with performance and scaling that more popular languages such as Java or Python will never solve. Its a feature, not a bug.

Eric Greer says:

How can you say that pip and npm are missing? it’s built in to the base tools and packaging?? adoption is not suspect. you can’t compare that to react. thanks for making the video but I’m not sure you’ve used go long enough to be taking about it

Dim3nsion YINJ says:

for a beginner like me, that fact that it would have a general way of typing code would be good because it makes it easier to get the hang of(if that makes sense xD)

SuperGrimmy says:

https://github.com/gogits/gogs is an example of a fantastic go project. It’s a personal github “clone” written in Go that uses a minimal amount of memory. Idle usage is about 27MB. It’s super responsive and much more efficient than for example gitlab.

Ovidiu Georgescu says:

A video made be someone who needed to make a video. It contains no information.

G C says:

If you want to learn programming I would check out http://techiebooks.io They have over 4000 computer programming ebooks available on a all you can read monthly subscription model.

Михаил Кръстев says:

React is js framework/lib, Go is a language … Comparing apples and oranges here…

Arnold Parge says:

for me.. having no class is con not pro..

mbielchris says:

Pretty much all your cons is because it’s a relatively new language…

SuperGrimmy says:

Low memory usage is a huge pro as well. I love the standard library. Clean and simple. The lack of 3rd party libraries can be a problem, but no one I know really use Go for complex things. Mainly smaller command line utilities that needs to be lightning fast and of course beastly rest apis. Go is fantastic for small rest apis that needs to perform. I’m still in awe every time I look at the request stats on the smaller services I’ve made.

igotadose says:

Ken Thompson invented Unix along with Dennis Richie (RIP). I don’t know why you don’t mention that – without Unix, we’re not sitting here reading text on a web site…. Or if we were, it’d be some DOS-based drivelware. No Unix->No Linux. Also no Windows NT/XP/7/8/10. All tightly interwined, all deriving from the work Ken did to build a better computer for playing chess…. Go is nice, and I’m sure it’ll do well until there’s the next big thing that replaces it. Pike is selling Go versus C and C++, but c’mon already, if you can’t do better than languages developed in the 70’s nearly 50 years later…

Etienne Bruines says:

It should be noted that Go has one active community, so if you have any questions about it, people will usually be pretty helpful in the chatroom (https://invite.slack.golangbridge.org/). And the first con you mention, “Lack of third party modules”, made me laugh. Yes, not as much is available as in other languages, but the things you mention (i.e. JSON support) are already available in the standard library. No need for third party modules when it’s already a part of the standard library.

As some have already pointed out in the comments, one of the biggest pros of Go is speed. It runs, and it runs fast. (Almost C-like performance)

No offense :-).

Epowouid says:

What a useless video. How is this the top recommendation for “Golang”?

Vilito Exquisitus says:

I know you said you haven’t done much Go. But Go have many of the packages you said are missing like net package (http://golang.org/pkg/net) and several encoding packages for JSON, CSV (http://golang.org/pkg/encoding/json).

Epowouid says:

Best language out there.

Sandy says:

Go was designed to offset the challenges of enterprise level languages like Java and C. Its not perhaps great for small time app building

Abeltensor says:

by far my favorite language at the moment. its very strong for web APIs and concurrency.

Robin Mattheussen says:

I seriously don’t understand how one can consider Go to be a complete 180 from other “C-like” languages. I think most people who have programmed before should be able to understand the intent most Go code without too much trouble. It’s a very simple language, which was one of the design goals. I’d say Python (a language you program in) is syntactically quite different from C. Code is often structured quite similarly. Your mileage may vary, but when compared to languages like Idris, Scheme, Haskell, Ruby, Scala or Erlang, I’m sure you’ll admit that it all looks quite familiar.

Also, for a language of its age, Go has a HUGE amount of packages available. The real problem is that not all of them are well-maintained or mature. Furthermore, you mention that “adoption is still suspect outside of Google”. I think this is the overstatement of the year, I’d argue that adoption of the language has been staggering! Plenty of huge Open Source projects have adopted rather quickly, especially in the DevOps tools space (things like Docker, Kubernetes, the entire Hashicorp stack, InfluxDB, CockroachDB, gitea, tidb, seaweedfs, Graphana, gogs, etc.). Contrary to what you claim, we actually don’t know much about the use of the language at Google. A couple of systems have been mentioned (like dl.google.com), but that’s all we know. Comparing it to how React has taken off is comparing apples to oranges. React is a library for the most well-established and most popular programming language of our times. I can’t think of another language introduced in the last 10 years that has done so well for itself.

Another thing is that you mention that Object Oriented programming is generally not well-fit for designing highly concurrent systems. While I generally agree that this is true to some extent, you can’t just simply mention this as if it were true without even providing a simple explanation.

Not trying to say Go is good or bad, just pointing out some stuff.

Andrew Sheldon says:

Thanks for video Chris. Several issues though for newbie:
a. You seem to criticise it from the perspective of an established programmer with a legacy to defend. So I’m wondering from a newbie perspective? Would you start here? Can you do much with it? You say ‘no support’, but others are saying its so intuitive.
b. I was keen to learn Python-Jupyter-Docker, and wondered how Go would fit in? Does it substitute for anything?

Abathur says:

what about making a video on node.js?

Rahul Singh says:

As said “GO HAS NO GENERICS” , there is a concept of interface and reflection which provides a graceful work around for GENERICS . A function can be written to handle whatever data type you want

Andrew Shatnyy says:

Agreed. Documentation is worthless. Good language tho. In contrast check out elixir lang docs

Carsten Hansen says:

I think it competes with Erlang.
http://blog.erlware.org/some-thoughts-on-go-and-erlang/
https://www.quora.com/What-language-should-I-pick-next-Go-or-Erlang-See-details

How did you make your hair in the sponsor ad. Auto-Lasso/Light/BlackScreen? Nice that somebody supports you!

Brandon H says:

I love Golang. I started out as a Java developer, and I grew to hate the language. I did Python for a number of years, and I thought it was everything I wanted. But Golang has really grown on me as a language. I hated it at first. It felt too verbose, too quirky, and inelegant. I was use to more expressive syntax in Python. But I’ve grown to like Golang. Interfaces handle abstraction without beating you over the head. Structs are really easy to build and compose. People don’t talk enough about closures in Golang. But they’re amazing and powerful. Golang is a simple language, and you’re meant to combine the different features in the language in seamless ways. I wish it had more of a functional approach, and it was a bit more concise. But outside of that, it’s really one of my favorite languages for serious heavy duty programming. It was definitely made by programmers in the grind everyday, and not some PhD in a university.

Clayton Ray says:

I’m going to also use Go for a week and publish a video about the pros and cons. I mean, come on. Spend some time with a language before getting trigger-happy and pushing out a new video.

Maybe dogging Go because that’s no something taught at a bootcamp, like, say, DevMountain?

“Lack of 3rd party modules.”
Yes and no. A lot of your common modules already exist or are built-in.

“Deviates away from traditional C-based languages.”
That’s not a con. That is a con to YOU. I LOVE the syntax of Go. And, yes, JavaScript and Go do not look similar. They are not similar. Point blank. Interpreted vs Compiled. Low-level vs high-level. I could go on and on. You can’t compare completely different languages like that. Comparing something like C and Go makes sense.

“After being out for 6 years, adoption is still suspect, outside of Google.”
I LOVE that you compared a low-level, compiled language to a very, very high-level library; React. Out of all the comparisons, that’s the one you chose? Seriously? And you contradicted yourself in the same sentence. Not to mention, Docker and some other huge companies (especially DevOps) have adopted Go.

James Prendergast says:

Seriously have to question how much research Chris Hawkes did before making this presentation. It’s been said before in the comments below, but I also have to question how much C programming Chris has done if he thinks Golang is 180 degrees away from C. It’s practically a subset of C, barring the concurrency primitives (Channels and Select statements).

Expecting 3rd party ‘modules’ (your python is showing) to cover what is essentially Golang’s main use case: webservices and APIs is astonishingly naive. The net/http and encoding/json packages of the standard library are probably the most widely used in the entire Golang corpus and they are very hard to improve on – hence the lack of ‘reinvent-the-wheel-but-with-corners’ implementations.

Alexander Greene says:

Thanks for compiling this info!

 Write a comment

*

Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!