It's a shame that go isn't being used by more people, as far as I know currently it's mostly used for DevOps but it has so much potential and it's so elegant and fast
I learned Go by reading the spec and stdlib docs. They allowed me to know the built-in capabilities of the language with examples. You don’t need to remember it all, you just need to remember “I saw that somewhere in the docs”
Yes. With coding at the beginning you need to know what you need to do and why, then as long as you know exactly what the code is doing you can look it up easily
I came from mostly Java stuff and I was very impressed by how easy Go was to learn and it immediately reduced my server costs when I rewrote a program in Go. Give it a try if you haven't already!
The best way to learn for me was just playing around and trying out new stuff. Also finding different ways of doing the same thing can help a bunch. I also found some really good concurrency pattern videos on youtube which really helped with understanding channels. Being curious is always the best way to learn anything
Glad to see you uploading back again and great tips! I'm still doing baby steps while trying to learn go, but having some guidance on where to start is always helpful, thanks for that!
@@bashbunni Heya bash, I was just revisiting your videos and I got curious after rewatching this one, how long did it take you to become proeficient in Golang?
Did a FEM course on Go over the holidays. I always paused before the live coding, to try out what I learned in the lecture. To my surprise, when I resumed, a lot of what I attempted lined up or even surpassed the live coding (follow along/demonstration) segments. I think I've found a pretty effective way to learn in those "courses" format.
Good resources, I started learning Go today! I know TypeScript but I wanted something faster for the backend and I can already tell it is way better suited for the job. Thanks for sharing!
I jumped into Go for the first time for Advent of Code this year. After a week, I already felt like I'd been writing Go for years. Truly a testament to the amazing community and documentation that this language has.
I keep telling devs its easier to learn than Python, faster to develop with, and is way more fun. I get so much flack from python lovers (and node/ts devs too). "No way.. python is by far the fastest/easiest". I said.. no.. no not really. I had a complete noob to coding pick up Go basics in a week and productive in two. From almost no coding background. That's a huge testament to me how simple the language is for most things. That it compiles to binary, is super fast runtime, on all platforms, no installation dependencies, etc.. on top of the insane compile speed, makes it the most productive I've ever been in any language. Python is fast..sure.. but you get so much more with Go on top of the learning speed that I wonder why people still use Python. Other than for AI and that argument is "all the AI libs are in python.. so we stick to python". Shit.. these people have no clue how easy it is to use WASM with python and build wasm in go (with tinygo for now) so that you're not stuck in python land. But.. for whatever reason so so so so so (x1000) many devs just refuse to go beyond their little comfort window of what they know.
Yo, I'm planning to learn golang that way too! Can you share how u started? Like im proficient in python and know programming, but how did you actually start writing code in go?
I have been coding since almost 3 years now and learned about 7 languages just jumping from language to language until one really clicked with me. It's great as you learn so many different approaches to problems. Already working as a dev and recently finished a old Vue.js project of mine. My new task is to create a truck coordination system for about 40 ramps, e.g. what load is prepared at which ramp, what sales/purchase order is tied to the specific load. Planning that one with SSR Go that collects data with some OData Service and just sends HTML templates to the scanners of our warehouse employees. So glad I can chose whatever tech I wanna learn for these kinda projects at work. Go is so fun.
How I'm trying to learn is to contrast it with python and C, as those are the languages I know, it really helps to get an idea of the unique language features go provides. Thanks for the tips!
HOT TAKE: for beginners, no need to "unit testing". Just go(:P) and write code. PS: it would be better if its a project based. But for new beginners, even deciding the project could be overwhelming. So maybe Advent of Code or just doing the leetcode could be good start.
Totally agree solving coding problems is great for learning new langs. I would disagree on the testing part though. Tests are generally pretty straightforward, you just need to learn that syntax. I’ll often write a failing test for leetcode problems just to practice + see if my solution passes the basic checks before running it on leetcode. It’s never a bad thing to know how to write tests in a language imo. Not that it needs to be the first thing they learn
@@bashbunni hey bash. I was mainly talking about total beginners, whose first language is gonna be go(and for that matter, let it be any language). But if someone is coming some programming background, knows a language or two, and started learning go, sure. Testing could be a good tool to know. But i still feel for complete noob, unit testing is only gonna make things more complicated. But in the end, Neovim FTW🫡
I've been learning Rust, coming from C/C++, and Go seems like such a nice language! So many languages feel so "samey", but Rust and Go seem very distinct, and like very obvious choices to learn depending on your needs.
Click search bar, type in "go projects", hit enter & profit? Oh, you mean her specifically? Why? A go project is a go project regardless of who makes it? Isn't the point of looking at said projects to learn and see what is possible?
I learn Go about 9 years ago, because a teacher told me and my team to take a look at it to get inspired to solve a problem in our project that needed concurrency… we were in first year of programing school! So I learn Go and I did absolutely not understand why it was great at concurrency since I had no programming background at the time 😅 Nowadays, when I want to learn a language I use Exercism (great platform, TDD-based exercises with tests already written), but I can’t remember if I learned Go with it.
I started learning go with "The Go Programming language" book. It is more in depth. It taught me many new things and how things works under the hood. Definitely not recommended if you are go is your first language.
Started go last 2 weeks and built a web socket yesterday with Crud in iris .. Dockerized it today and want to include some Kubernetes this weekend. The reason I like go is the go routines and to be honest its much simplier than rust.. I am learning in real time as I am building a Saas for education
As Python developer diving intgo go I like it as it introduces you to low level features and better performance but without sacrifice readibility and friendly sintax
I'm currently going through one of the free Code Academy courses. I am not sure I would recommend it for someone completely new to programming, but its helping me get a crash course on the syntax.
The only thing I've done with go so far is to do image processing for a correcting a qr code that someone provided code for a problem for a cryptography problem that I followed up with the solution which was using a mask for correction and bit flipping an image. My only minor wall was it kept complaining about unused items (I would remove any of that stuff for production ready code myself but don't worry about it during dev process (I'm not big on hand holding, unless it's actually critical) ). No major issues though, and was quite quick.
I enrolled "Go specialization" in Coursera. It covered topics till the concurreny. And now I am building cli game "Space Invaders" get used to go. Then I am planning to continue learning go for backend.
i think the first resource i used to learn go was a udemy course. from there, i just started building stuff tbh. it's been that one language i want to work with professionally, but never seem to be able to get my team on board ☹
What would be the best way to learn about Go concurrency (go channel and go routine)? I want to understand communicating sequential processes (CSP) and I've heard the go concurrency model is based on this idea. What do you think?
How did u install go did you use docker or install it manualey. I am on Windoes 11 and have a linux mini pc. i am just getting started with coding in go? What software do you recmend to use? How do you setup go on windoes 11? i use vscode ide? Your video is good and has some nice points in it.
I’ve trying to learn to for a while. With some gRPC on the side hehe. What I miss the most is some null safety. Even c++ has optionals, why not you Go :(
the most frustrating thing I experienced with go lang is dealing with databases or other systems that allow null. So you have to do some scan crap or wtver to then handle it and when dealing with multiple databases with tables - especially when working with older systems - that have nulls left and right... its annoying. Not a strong golang person so maybe at the time I was doing this there wasn't any easy solution but couldn't really find any out of the box solutions to this.
I use Go to embed 15 C files, export it as a shared library and run it from Python wrapped in a recursive Bash function. I wanted less C but CGO is a mess on Windows.
Oh definitely. Had multiple companies find me through my live streams and provide offers when I was looking for a job. It also gave me peace of mind knowing that they had seen me code live, so they knew what my skill level was
Ah it’s a @charmcli inspired theme that I made for neovim. The shell theme is also charm, I think that’s in my dotfiles/kitty dir on GitHub github.com/bashbunni/dotfiles (I think)
Use a linter, PLEASE. Ha ha, the eye roll was perfect. Reminds me of being a developer so long ago. Here because a company I want to work for demands golang experience. I've written code in raw hex, assembly, C (embedded and Linux), C++ (raw open GL, QT, and more), Ruby, Python, Pascal, Basic, C#, Java, JS, and more! :-D how could this possibly be a problem for me? And yet, that's their requirement, so it goes. :-)
Go is fine for a first language. Pythons syntax is unlike every other language. I tend to see people that start with dynamically typed languages (JavaScript, Python, Ruby, PHP) struggle more than those that start with C++, C#, Java, Go.
Go for sure. It’s a tad more explicit than python. So it’ll be easier to learn since there is less magic going on. And be sure to do “a tour of go” it’s the official go lang tutorial and they explain things very well
I like building things fast with no fluff and that stays readable and doesn’t break over time. I feel very productive in Go and it allows me to collaborate with other developers really easily given how readable and simple the language is by design. I haven’t tried rust, but from what I’ve heard there’s a bit more ceremony, but more control of resource usage and whatnot
I started my Go journey with "100 Go mistakes and how to avoid them" book. I'm somewhere near the middle but great insights.
It's a shame that go isn't being used by more people, as far as I know currently it's mostly used for DevOps but it has so much potential and it's so elegant and fast
What's that? A book?
@@KimberlyWilliamschyes
@@KimberlyWilliamschIt's a Manning book.
I learned Go by reading the spec and stdlib docs. They allowed me to know the built-in capabilities of the language with examples. You don’t need to remember it all, you just need to remember “I saw that somewhere in the docs”
Oh totally you just need to know where to look, or keywords to search for. It helps a ton when you've seen it before
Yes. With coding at the beginning you need to know what you need to do and why, then as long as you know exactly what the code is doing you can look it up easily
That is very interesting, I don't think it would be a good idea for beginners though.
All great advice. I love that advice from Go devs is always pretty consistent.
I learned go from the official go tour, it gave me everything I need to start building projects in go
I came from mostly Java stuff and I was very impressed by how easy Go was to learn and it immediately reduced my server costs when I rewrote a program in Go. Give it a try if you haven't already!
The best way to learn for me was just playing around and trying out new stuff.
Also finding different ways of doing the same thing can help a bunch. I also found some really good concurrency pattern videos on youtube which really helped with understanding channels.
Being curious is always the best way to learn anything
The tip about extending tutorials is spot on. I started doing that and it leapfrogged my skills
Glad to see you uploading back again and great tips! I'm still doing baby steps while trying to learn go, but having some guidance on where to start is always helpful, thanks for that!
Thank you Felipe! I'm so glad these points were helpful for you, best of luck on your Go journey
Hello can we be friends?I also learn Go but I dunno what I can build @@bashbunni
@@bashbunni Heya bash, I was just revisiting your videos and I got curious after rewatching this one, how long did it take you to become proeficient in Golang?
Did a FEM course on Go over the holidays. I always paused before the live coding, to try out what I learned in the lecture. To my surprise, when I resumed, a lot of what I attempted lined up or even surpassed the live coding (follow along/demonstration) segments. I think I've found a pretty effective way to learn in those "courses" format.
Good resources, I started learning Go today! I know TypeScript but I wanted something faster for the backend and I can already tell it is way better suited for the job. Thanks for sharing!
I’ll tell Theo I’ve stolen one of his viewers and shown them the light that is Go 🤩🙌 (good choice)
TypeScript does not run on backends, unless you are using Deno.
I came to your channel from your interview on backend banter. Very excited to learn go!
thank you so much for this! This was precise and to the point (and great for a beginner like me to not get lost in other countless resources).
I jumped into Go for the first time for Advent of Code this year. After a week, I already felt like I'd been writing Go for years. Truly a testament to the amazing community and documentation that this language has.
I keep telling devs its easier to learn than Python, faster to develop with, and is way more fun. I get so much flack from python lovers (and node/ts devs too). "No way.. python is by far the fastest/easiest". I said.. no.. no not really. I had a complete noob to coding pick up Go basics in a week and productive in two. From almost no coding background. That's a huge testament to me how simple the language is for most things. That it compiles to binary, is super fast runtime, on all platforms, no installation dependencies, etc.. on top of the insane compile speed, makes it the most productive I've ever been in any language. Python is fast..sure.. but you get so much more with Go on top of the learning speed that I wonder why people still use Python. Other than for AI and that argument is "all the AI libs are in python.. so we stick to python". Shit.. these people have no clue how easy it is to use WASM with python and build wasm in go (with tinygo for now) so that you're not stuck in python land. But.. for whatever reason so so so so so (x1000) many devs just refuse to go beyond their little comfort window of what they know.
Yo, I'm planning to learn golang that way too! Can you share how u started? Like im proficient in python and know programming, but how did you actually start writing code in go?
@@abhinavyadav13 Who are you asking? @fus-ro-dah or myself?
@@b3owu1f not sure how u got pinged in this chain but sure share your experiences too hehe. asking u both now
just wondering what your previous language is?
I am really looking forward learning Go, and I didn't knew the things you shared here, thanks for the information.
I have been coding since almost 3 years now and learned about 7 languages just jumping from language to language until one really clicked with me. It's great as you learn so many different approaches to problems. Already working as a dev and recently finished a old Vue.js project of mine.
My new task is to create a truck coordination system for about 40 ramps, e.g. what load is prepared at which ramp, what sales/purchase order is tied to the specific load. Planning that one with SSR Go that collects data with some OData Service and just sends HTML templates to the scanners of our warehouse employees. So glad I can chose whatever tech I wanna learn for these kinda projects at work. Go is so fun.
Oh I love that for you! Fresh supply of problems to solve with code?! The dream. Glad you’re thriving (and using go)
Fantastic video! Just as I was wondering how to learn Go. Thanks for all the resources
Thanks for this video. I studied the official doc but I didn't know about 'Learn Go with Tests' . I'll definitely go for this one :)
Absolutely killing it. Bash is an inspiration.
How I'm trying to learn is to contrast it with python and C, as those are the languages I know, it really helps to get an idea of the unique language features go provides. Thanks for the tips!
HOT TAKE: for beginners, no need to "unit testing". Just go(:P) and write code.
PS: it would be better if its a project based. But for new beginners, even deciding the project could be overwhelming. So maybe Advent of Code or just doing the leetcode could be good start.
Totally agree solving coding problems is great for learning new langs. I would disagree on the testing part though. Tests are generally pretty straightforward, you just need to learn that syntax. I’ll often write a failing test for leetcode problems just to practice + see if my solution passes the basic checks before running it on leetcode. It’s never a bad thing to know how to write tests in a language imo. Not that it needs to be the first thing they learn
@@bashbunni hey bash. I was mainly talking about total beginners, whose first language is gonna be go(and for that matter, let it be any language). But if someone is coming some programming background, knows a language or two, and started learning go, sure. Testing could be a good tool to know.
But i still feel for complete noob, unit testing is only gonna make things more complicated.
But in the end, Neovim FTW🫡
Getting back into go, love this! 🎉
I've been learning Rust, coming from C/C++, and Go seems like such a nice language! So many languages feel so "samey", but Rust and Go seem very distinct, and like very obvious choices to learn depending on your needs.
I very rarely make mistakes in my predictions, the future is Rust.
@@chillappreciator885 The future of what? Rust and Go are being used in different cases, you fanboy
@@catto-from-heaven wrong. I am a Java fan
Oh totally! I’ll get to rust one day. I’ve really enjoyed the journey with Go :)
Give Zig a try.. it's another one of those types of languages.
Thank you for recommending the book Learn Go with Tests. This book is really useful.
Liking this presentation style and love seeing it for Go. Best coding environment 🏆
Let’s gooooooo! Been learning go the last couple days.
You are the best!! thank you for sharing a learning path with all of us go newbies :3
Thank you, I've always looking forward to learn GO
Would be cool if you could make some projects in go and show them on youtube! Would be so much fun and good for learning!
Click search bar, type in "go projects", hit enter & profit? Oh, you mean her specifically? Why? A go project is a go project regardless of who makes it? Isn't the point of looking at said projects to learn and see what is possible?
@@isaacreyes4915 chill out bud.
This is such a informative videos , please make more such videos and also related to landing a job or internship in go and projects
"Learn Go with Tests" It’s a great way to dive into Go while picking up test writing skills too
I learn Go about 9 years ago, because a teacher told me and my team to take a look at it to get inspired to solve a problem in our project that needed concurrency… we were in first year of programing school! So I learn Go and I did absolutely not understand why it was great at concurrency since I had no programming background at the time 😅
Nowadays, when I want to learn a language I use Exercism (great platform, TDD-based exercises with tests already written), but I can’t remember if I learned Go with it.
Ouuu thank you for the tip! I'm always looking for more resources to learn new langs, so I'll definitely check that out
I started learning go with "The Go Programming language" book. It is more in depth. It taught me many new things and how things works under the hood.
Definitely not recommended if you are go is your first language.
Thanks for the rec! I liked that one too, I’m sure others will find it helpful to hear what worked for others as well :)
Started go last 2 weeks and built a web socket yesterday with Crud in iris .. Dockerized it today and want to include some Kubernetes this weekend. The reason I like go is the go routines and to be honest its much simplier than rust.. I am learning in real time as I am building a Saas for education
As Python developer diving intgo go I like it as it introduces you to low level features and better performance but without sacrifice readibility and friendly sintax
Fascinating. Thanks for the resources.
I learned Go entirely through reading "The Go Programming Language". I highly recommended it - it's written by Brian Kernighan himself!
I'm currently going through one of the free Code Academy courses. I am not sure I would recommend it for someone completely new to programming, but its helping me get a crash course on the syntax.
started to read both `Effective Go` and `Building an intrepreter with Go`!
go by examples is pretty cool way to learn go fundamentals too...
Great Channel, Thanks for sharing your knowledge!
Such amazing content and fantastic advice! 🥂
hell yeah Im learning go lang because of your videos, I’m a rubyist but wow I think im a gopher now
Best way to learn is to do “a tour of go”. This is the best resource by far to get your feet wet. After that build something small, like a web server
The only thing I've done with go so far is to do image processing for a correcting a qr code that someone provided code for a problem for a cryptography problem that I followed up with the solution which was using a mask for correction and bit flipping an image.
My only minor wall was it kept complaining about unused items (I would remove any of that stuff for production ready code myself but don't worry about it during dev process (I'm not big on hand holding, unless it's actually critical) ).
No major issues though, and was quite quick.
It’s forcing you to keep a tidy codebase or ELSE (no compile)
This is really helpful. Thanks!
I enrolled "Go specialization" in Coursera. It covered topics till the concurreny. And now I am building cli game "Space Invaders" get used to go. Then I am planning to continue learning go for backend.
very well made short and sweet video!!
youtube has been suggesting me golang videos a lot ever since I started learning Web Development Backend.
Go is just amazing!
I still think that the best way to learn is to Build some realworld projects that are useful to yourself
Awesome video. Great advice.
New house? Very Charming!
I'm coming from Django. Any replacement must be able to implement auth, DB, admin etc.
How best do we learn Go to replace more complex builds
i think the first resource i used to learn go was a udemy course. from there, i just started building stuff tbh. it's been that one language i want to work with professionally, but never seem to be able to get my team on board ☹
Yup, also did go for a couple of years, now onto rust… so far I like it loads more and wish I’d tried it earlier!
❤
What would be the best way to learn about Go concurrency (go channel and go routine)?
I want to understand communicating sequential processes (CSP) and I've heard the go concurrency model is based on this idea.
What do you think?
I wish "Learn go with tests" book had a php version.
php docs are great, but Learn Go with Tests provides such a nice interactive learning experience. Would be so cool to see it span other languages
thank god i have all my lsp formatter linter autocompletions set in neovim it helps alot and its fast af
Can a complete beginner to programming learn Go?
I only know HTML, CSS and some really basic JavaScript for front end stuff.
Question: why did you pick go over rust? I'm thinking about picking one of these as my next language, but not sure which direction to go
How did u install go did you use docker or install it manualey. I am on Windoes 11 and have a linux mini pc. i am just getting started with coding in go? What software do you recmend to use? How do you setup go on windoes 11? i use vscode ide? Your video is good and has some nice points in it.
With such a teacher I would learn any language in the programming world, even Fortran 😂
learn zig, then eli5 pls
Are u going to build another Bun, bashbunni? Let’s stay with Go for now :)
Prove it, learn binary
I subbed because of Go. I love it.
I’ve trying to learn to for a while. With some gRPC on the side hehe. What I miss the most is some null safety. Even c++ has optionals, why not you Go :(
the most frustrating thing I experienced with go lang is dealing with databases or other systems that allow null. So you have to do some scan crap or wtver to then handle it and when dealing with multiple databases with tables - especially when working with older systems - that have nulls left and right... its annoying. Not a strong golang person so maybe at the time I was doing this there wasn't any easy solution but couldn't really find any out of the box solutions to this.
Oh the nil checks are real in Go
You give me Ana de Armas vibes for some reason 🙂Great content, easy going and informative.
Thanks for supporting :)
Anyone recommending the book “The Go Programming Language” ?
I use Go to embed 15 C files, export it as a shared library and run it from Python wrapped in a recursive Bash function. I wanted less C but CGO is a mess on Windows.
linter is always a good choice but, I feel you should switch on linter after some time. You should make mistakes to learn faster
Linters don’t prevent mistakes, they just call you out on them
Intro reminded me of how my one professor would have us write snippets of code… on paper 🫠
Glad those days are in the past.
I don't think they are the past, I also did some time ago lol, and I hear people doing this until this day
LET'S GOooo
Awesome!
I'm a C++ dev, what other languages do you know, and how does go compare to them in your opinion?
Time to become BLAZINGLY FAST.
ty bun!
She did the "chefs kiss"! Like for that reason alone 😂
Do you kind it's worthy to learn GO in 2024 ? Considering the opportunities ?
Love this video so much. Was it filmed on an iPhone using cinematic mode?
Yes!!
Learned Go cause I wanted a better and faster backend lang over Python, best choice, especially when the other choice is Rust
It’s just such a nice, simple language
@@bashbunni nice, simple language for the top tier gigachads in SWE* is what you meant to say
You are so ❤
Oh ... I thought this was about Go the tabletop game ... you know, the white and black stones? Igo, Weiqi, Baduk ... that Go :D
Got started in neovim following your channel, would you say that your Twitch helped you in getting hired?
Oh definitely. Had multiple companies find me through my live streams and provide offers when I was looking for a job. It also gave me peace of mind knowing that they had seen me code live, so they knew what my skill level was
What colorscheme are you using in the screenshots?
Ah it’s a @charmcli inspired theme that I made for neovim. The shell theme is also charm, I think that’s in my dotfiles/kitty dir on GitHub
github.com/bashbunni/dotfiles (I think)
your kiss was amazing than go which you given on 1:27 time stamp😅😅
Did you find a job as a Go developer? If so, how many months did it take you to get the job?
I did! I got recruited for my job through my social media and open source projects, so I'm not sure I'm the best example on this one
@@bashbunni How many months did it take u?
Use a linter, PLEASE. Ha ha, the eye roll was perfect. Reminds me of being a developer so long ago. Here because a company I want to work for demands golang experience. I've written code in raw hex, assembly, C (embedded and Linux), C++ (raw open GL, QT, and more), Ruby, Python, Pascal, Basic, C#, Java, JS, and more! :-D how could this possibly be a problem for me? And yet, that's their requirement, so it goes. :-)
which font are you using? It looks very clean. Does it also support font ligatures?
I use (and love) BlexMono Nerd Font! Been using it for ages. Not sure about ligature support
@@bashbunni Thanks!! I’ll try it for sure. :)
Coming from Clojure, Go feels such a letdown.
Try gleam😮
Hello. I'm interested in native windows GUI app / 3d games development. What does Go offer in these areas?
Go a good language for that stuff. C++ or Rust.
awesomeness simplicity about how to "go"
I Don't know if i should opt for Go cause the syntax in large code bases scares me xd but yeah your video gives me the motivation!
thanks
As someone learning to code would you recommend Go or should I stay with learning Python as a first language?
Go is fine for a first language. Pythons syntax is unlike every other language. I tend to see people that start with dynamically typed languages (JavaScript, Python, Ruby, PHP) struggle more than those that start with C++, C#, Java, Go.
Id recommend Python for the fundamentals since its easier and smoother then moving on to Go, but starting with Go is also good
Go for sure. It’s a tad more explicit than python. So it’ll be easier to learn since there is less magic going on. And be sure to do “a tour of go” it’s the official go lang tutorial and they explain things very well
In neovim I have everything everything everything
any prerequsities to learn go'
I tried to learn go but the whole komi thing bugged me.
Let's GOOOOOOOOOO (literally)
Just one thing: can I ask a question?
(╯°□°)╯︵ ┻━┻
Less love is more. Time to let go.
why go and not rust?
I like building things fast with no fluff and that stays readable and doesn’t break over time. I feel very productive in Go and it allows me to collaborate with other developers really easily given how readable and simple the language is by design. I haven’t tried rust, but from what I’ve heard there’s a bit more ceremony, but more control of resource usage and whatnot