Why go?

Todd McLeod
A free video tutorial from Todd McLeod
Tenured College Professor
4.5 instructor rating • 19 courses • 341,175 students

Learn more from the full course

Learn How To Code: Google's Go (golang) Programming Language

The Ultimate Comprehensive Course - Perfect for Both Beginners and Experienced Developers

46:34:13 of on-demand video • Updated August 2019

  • The ultimate comprehensive course
  • For beginners and experienced devs
  • Taught by a university professor
  • From beginning to advanced concepts
  • Concurrency, channels, benchmarking
  • Testing, error handling, documentation
  • Hands-on exercises with solutions
  • Access to valuable code base
  • This course is tried, tested, and proven
  • Over 2.65 Million students taught
  • Lifetime course access
  • Learn at your own pace
  • 100% satisfaction guaranteed
English [Auto] So now we're going to talk about why you should choose the go programming language, and the first thing that drew me to the go programming language were the credentials of Go Go has amazing credentials. And so it's a it's a software. It's a programming language created by Google. And to create at Google hired some of the heaviest hitters in computer science, some I call them luminaries, luminaries and computer science. They hired Rob Pike, Ken Thompson and Robert Crestmore. And so these are some of the same individuals who helped create the B programming language, the C programming language, UNIX, the Unix operating system, and UTF eight, the world's most popular coding scheme. And and literally, that's like the bedrock, the foundation of computer science. So Google looked around and all the other programming languages and said none of these programming languages are meeting our needs. Not C, not C++, not C sharp, not Python, not Java, not JavaScript, definitely not JavaScript. None of these languages are meeting our needs. We need to create a new language. So just like that, detonate in your mind for a second like Google, which to me is the best software engineering firm to have ever existed. Google looked around at all the other programming languages that are out there and said, nope, none of these are doing it. We're going to create a new one. And to do that, they hired luminaries, some of the heaviest hitters in computer science to create it, Rob PYT, Ken Thompson and Robert Kretzmer. So as soon as I heard that I was sold on the go go programming language and and that was in the early days of go. And so there weren't a lot of people involved in it. And I got in and learn the language really early and and I've benefited from that. It's been awesome because it's been really wonderful to see the go community grow and to see the popularity of go grow and to see other people validate that. Yeah, literally, this is the best programming language you could know and use today. And it's used widely in industry and all the major companies are using it. And we'll see. We'll take a look at that here in a second. But the other reason, right, like for you, why goes the best language to learn today? It's the fastest growing programming language in America and it's also the highest paying programming language in America. And so I have some links here in this course outline. And you're going to get access to all these Korth resources very soon. But here's a link to a tweet that I put out. Where it's going is the top paying language. So you could take a look at this graphic right here. When you have the course resource, you could just click that link. And by the way, Todd McCleod right here on Twitter, make sure you follow me. I'm kind of new to social media and but I've just totally embraced it and I love it. And it's a great place. Like, I'm always sharing awesome things, I think. So check me out on Twitter, but goes the top paying language, you could you could click that link to get their credentials go right. Google created it, Rob Pich, Robert Crestmore and Ken Thompson. And then why did they create it? So that's the next thing. That is like a really good question. Why did Google create this programming language? And here's the story. So in twenty five, twenty six, the first commercially available dual core processors became available for four consumers. Right. For the public and and dual core. Up until that point in time, every programming language was built to take advantage of a single core single CPU and go was created to natively easily take advantage of multiple cores, multiple cores in one machine and multiple cores across multiple machines. And so go does parallel computing, concurrency design patterns and parallel computing really well. And it's built to do it easily and it's super fast. And so. Twenty six first dual core processors came out. No programming languages had been built to natively, easily take advantage of of multiple cores. Google started creating language to do that in twenty nine they open source language. In 2012 the language was released, March 2012 is released version one so stable version and and so it was built to take advantage of multiple cores and to do concurrency and parallelism really easily. And so the three goals of the go programming language were to have efficient compilation, meaning taking your code from, from, from your programming language and compiling it down to machine language to binary, compiling it down to do that really quickly, efficient compilation, efficient execution. So to have it be really performant and ease of programming. And if you click on this link right here, it's going to take you to go langue. They have an F, a Q and you can read about why are you creating a new language? And you'll you'll see those three things there. You could pauses. Right now, if you like, and read that. All right, so that's that's why goes created for those those three reasons. And one more nice link right there, which you could peruse if you want to pause the video and take a look at that and and then what is so good for so goes good for what Google does, which is Web services at scale. That's one of the things that's really good for Google is rewriting a lot of their infrastructure and go. And so YouTube has already been completely rewritten and go. It's great for networking, it's great for concurrency parallelism, taking advantage of multiple CPU's, multiple cores on a machine. It's a good system level programming language. It's good for automation, command line tools. It's good for crypto. There's a bunch of different things goes good for those are just some of them. You can do image processing, right? I did a course for Lynda.com or one of the challenges as I did some image processing. I don't recommend that course. It kind of got destroyed in editing, I think. But you can do image processing with go. So the guiding principles of the language were to have an expressive, comprehensible, sophisticated, clean, clear and easy to read. And some of the companies using go. Let's just take a look at that. They're the guiding principles of the design. You can pause video and watch that. Read that. There it is. And and here are the companies using go. And so companies currently using go throughout the world. You can kind of scroll through that. I have an entire presentation here, which I give when people ask me to talk about the go programming language. So we'll just kind of like scroll through that and do a little bit of a review and see a little bit of additional information here. So why go langue? This is a great article. You could click that link. It's going to take you there. Who made this? Ken Thompson, Rob Pich, Robert Kretzmer and a few other engineers go was invented by geniuses. It's performant takes advantage of multiple cores. Does concurrency design patterns really well, which leads to parallel execution. That's the difference between concurrency and parallelism. We'll learn that through the course it's compiled. Language has a garbage collector. It works well, network environments. It's got clean syntax. It's a powerful standard library. There's a lot of pre written code for you to use garbage collected. I said that it's portable. I could code on Windows, compile to Linux and then have a Linux executable. It's backed by Google. It's open source. Why are you creating. We saw that. Here's a nice diagram. Right? So you can just pause this video and let that digest in your head fast and fun for humans. Fast, efficient for computers like C, totally fast for computers, not so fast for humans. You know, Python, fast for you, fast for humans, not so fast for computers, but go like kills it in both categories. That's what they're going for. Efficient ease of programming and efficient execution is basically what this diagram saying. And then concurrency and parallelism, efficient concurrency c, C++, Java write beautiful straightforward code and not so much, but go as efficient, concurrency and beautiful straightforward code. So that's nice. And this is a really nice quote from Bill Kennedy. He's a heavy hitter and the go training ecosystem. So you could check him out at Art and Labs. If you ever get the chance, make sure you go to one of his in-person trainings, total kick in the pants and he'll he'll he'll take you to new levels of knowledge with language skills. Awesome. Here's some more information on the go programming language from Caleb, doxy, Caleb Dock's. He's also written a great book on the go programming language for getting started with Go and and a personal friend of mine. And he's awesome. That's his description of go. You can go to that that you, Earl, by the way, and read some of it. And just like a nice thing from the go from Go and Go is released right here at Google. You can just take a look at this and pause it also. So here are companies using Google, YouTube, Apple. You can see how long ago I created this course. I had their old logo, YouTube, Apple, Dropbox, all these people. Docker and it just goes on, right. Like you recognize all these people, you know, it's like, yeah, OK, well, I'm going to learn this language. Everybody's using it. Then there's a bunch of companies you don't you don't know. And I love this right here. So farewell Jazz and one of the creators of one of the largest contributors node left node. And and then there's also here's here's what what what go could be used for right here. There's also one of the founders. Let me find this for you. Hold on. Cool, so I just found it here from October twenty seventeen, the creator of NOGs has abandoned Noad in favor of Go and and here it is. And I'm just going to click on these links here so we can take a look at it. And I need to know just concurrency. And and then here is interview with Reindl, creator of Noge. So the creator of No Jazz has completely abandoned no jazz. And his reason for it is, I think note is not the best system to build a massive server web. I would use go for that. And honestly, that's the reason why I left note. It was the realization that, oh, actually this is not the best server side system ever. So the guy who created node left node for go, I don't know if anything else beyond that needs to be said. So that's that's why you should choose the go programming language. Here's a little example of what you could what was done with go a couple of years ago and you could find that link in the Go blog. So you could just read kind of like how that changed things. So for experienced developers, it's great language to learn. It's the highest paying, fastest growing language in America. And and it's the best language just from an architecture. Language design perspective was built by the best software engineering firm to ever existed in the best people, some of the best programming computer science people to have ever worked in computer science. And and so if your experience that's why you might want to learn go. And if you're new to programming, it's a great language to learn because it has ease of programming and it also has the constraints of being a comp. language with a compiler that's going to check your syntax and your code and tell you when you did things wrong. And it's a static programming language, not dynamic. So you have to learn all about types and values and we're going to learn that in this course. So go is the absolute best choice. I say that with complete confidence, absolute best choice that you could use today that you did for as a language, and then also that you can learn his language, whether you're a beginner or experienced. All right. So that's that's the gospel of go. That's me proselytizing the good word of programming and and goes the way to go today.