Should you learn Go in 2023?
Ғылым және технология
Go is a modern language with a focus on simplicity. With many languages out there, is Go a programming language worth learning in 2023? In this video, we explore some of the reasons that I think it is, and why you may want to consider learning it.
Become a better developer in 4 minutes: bit.ly/45C7a29 👈
#golang #coding #programming
My socials:
Twitter: / dreamsofcode_io
Discord Server: / discord
My Equipment:
Voice over: kit.co/dreamsofcode/voiceover
Coding: kit.co/dreamsofcode/coding
Please consider supporting me as well!
Patreon: / dreamsofcode
Пікірлер: 185
Thanks for the simple breakdown of the language, helps a lot with the report im currently writing on GO 😁
Yess, please do post more such videos!
Go is astoundingly easy to learn. Anyone with basic programming experience can learn it enough to be competent and writing complete applications within a day or two, and that is conservative estimate; it will be much less for many.
More content on go please, you have so much people wanting to see it 😍😍
@dreamsofcode
11 ай бұрын
Absolutely! I will put out some new content soon.
@M.V.CHOWDARI
Ай бұрын
@@dreamsofcode please make a Playlist for learning
Hope you will make that channels video one day! Also, maybe a video that shows how you use all those great animations and motion effects in your videos. Your content is beautiful, cheers.
Just want to say how awesome your videos are. If you keep making awesome content like this you'll see massive growth during this year!!!! There's no doubt you'll be right there with fireship soon. You already got your unique style which is great because many people try to copy and it doesn't work out well.
@dreamsofcode
Жыл бұрын
Aww thank you so much. I really appreciate that. Fireship is awesome and there's certainly been some inspiration there, but I agree there has to be some personal style added. Definitely figuring it out still and learning, however! Looking forward to finding my groove.
@Redyf
Жыл бұрын
@@dreamsofcode Honestly you're doing great, your videos are amazing. Keep up the good work
@dreamsofcode
Жыл бұрын
@@Redyf Thank you! I really appreciate that.
@thomasrichards8055
9 ай бұрын
I concur with the above. If it weren’t for your videos popping up, I wouldn’t have known the magic of ✨NeoVim with LSPs✨
@tonhom260
7 ай бұрын
I think so❤❤
the best video I have watched this week! Thanks for the well clarified video
They hated C++, so the created that has the simplicity of C and is also more safe. Like Java, but without classes.
@dreamsofcode
Жыл бұрын
Such an interesting story! I'm going to have to do a video about it
@vovasava3498
10 ай бұрын
you're saying like it's something bad)
@andyhall7032
7 ай бұрын
It's like C for the 21st Century. It's like scripting in a low level language.
@jasonyao3753
7 ай бұрын
Sounds like communism
@YaTingSuperFan
6 ай бұрын
Except there exists an even simpler language with even faster speed than Go, named Mojo...
Thank you it really helped. Please do more on concurrency in GO.
@dreamsofcode
10 ай бұрын
I will do!
I like your video. Please keep updating.
hey mate, great video as usual! I've been learning to go for a while and I love it, but I'm getting interested in rust simply because it's all over the place on the internet. i was wondering if you could make a video about rust vs go.
@dreamsofcode
Жыл бұрын
I absolutely can do!
I wanted to design my infrastructure with Go lang itself and since I just came to know that IaaC tool Terraform itself is written in GO ! It's pretty much decided that I'll create my career out of this language itself 😃
@dreamsofcode
9 ай бұрын
It's a great choice! I have some more golang content coming soon as well which uses both!
@anuragbisht1200
8 ай бұрын
that is nice , however do not base your career on a particular language but on skills, best wishes !
@yogeshdharya3857
8 ай бұрын
@@anuragbisht1200 humbled brother 😄😇
Excellent video would love to see some Go deep dives!
@dreamsofcode
Жыл бұрын
I shall have to do one on concurrency!
@themarksmith
Жыл бұрын
@@dreamsofcode That would be great!
Mate I love your slick art and images. Do you create them yourself? Can I be cheeky and ask how? Love your channel!
@dreamsofcode
Жыл бұрын
Yo, thanks dude. I do create some of them. Mostly using Figma. Others I source online from places such as canva or freepik.
More Go please! Would love to see Go in relation to DevOps as well. Tools, infra as code, CI/CD, all that jazz!
@dreamsofcode
Ай бұрын
Absolutely! I've got a lot of Go content planned for this year 😁
Yes more Go please.
@dreamsofcode
Жыл бұрын
I've got a few Go videos lined up!
I am interested in Go. Make more videos
Please do a video about the comparison between Golang and the newly released Mojo !!!
More content on Go ❤
@dreamsofcode
Жыл бұрын
Yes sir!
Awesome video!!
Nice video, short and very descriptive. But, are there any reasons to use Go over Rust? Not talking about things like demand or simplicity. I wanna know if Go has any advantages in terms of code. Speed, safety, time spent coding, etc. Also, is it worth learning it over Rust for personal projects?
@dreamsofcode
Жыл бұрын
I'd say the major reason is cognitive complexity when compared to Rust. Go is much more aligned with imperative languages, which most devs learn to code with. Therefore productivity is easier on teams which some cost for speed or safety. That being said, I do love Rust and would personally prefer to use it more, but I can see the business use case for Go. For personal projects: it depends. Do you want to get something built fast or for fun, if for fun, then use whatever language will give you the most joy! For rapid prototyping, Go is probably going to be better, especially as it has a larger community and thus more mature packages to use.
@frittex
Жыл бұрын
@@dreamsofcode I get where you come from. Rust would be a more mature solution, but Go is definitely easier for startups and getting a job. Thanks!
@Choroalp
Жыл бұрын
@@frittex Getting the job done extremly fast is one of the main focuses of Go. I prefer Rust over Go Tho
@baxiry.
5 ай бұрын
go is saver than rust
How did you customize nvim to look like in the video with the tabs and go syntax highlighting?
I'm glad I found your site! I thought Rust was the replacement for C++, do you think Go has more momentum than Rust?
@dreamsofcode
Жыл бұрын
I think they both have different use cases and can compliment each other. Go is much easier to use and allows for rapid prototyping, whereas Rust is great for tightening up resources and performance.
@manpt123
11 ай бұрын
rust is low level programming language and better for kurnel level things, where as go is a replacement of java, c++ basically backend/devops/gRPC/microservices these are the area where you will be using go
Learning it at the moment, coming from C# and TS and it looks like it, without curly bracets, that makes it easier to learn.
@Bob-1802
6 ай бұрын
No semi-colon too. No parenthesis for structure commands like "for", "if". But still few curly braces for blocks.
After using rust I really miss some kind of option type in go. The some/none pattern along with the match statement has made me fall in love with rust. Go is fun but I don't think I'm gonna use it.
@dreamsofcode
11 ай бұрын
I 100% agree. This is probably my biggest criticism of rust.
@seenucrazy
7 ай бұрын
binitrupakheti: Go is fun but I don't think I'm gonna use it dreamsofcode: I 100% agree. This is probably my biggest criticism of rust me: what.... lol
I'm a backend developer with experience in Node.js. I'm looking to learn something new within the backend space. I've used Python, Java and .Net and don't like either. I'm considering learning one of Go, Ruby and PHP. What would you recommend, strictly for backend web development?
I'm in total disbelief. I recently read a book with a similar topic, and it was astonishing. "The Art of Meaningful Relationships in the 21st Century" by Leo Flint
I like go because it helps me go home early.
@dreamsofcode
Жыл бұрын
Haha! That's a good reason
I think it would be worth while doing a bit more complicated stuff in Go, as there arent really any good quality resources. fun topic is the web assembly , or framework like Wails2, Fyne
@dreamsofcode
11 ай бұрын
Great ideas! I've added to my backlog for them
With Python background, would it be easier to switch to Go ? I see a lot of potential with Go, and still looking for any jumpstart for a python developer like me.
@dreamsofcode
Жыл бұрын
I believe so, Go is somewhat inspired by python. However, there's some key differences (especially around concurrency). I think Go is a decent next step, more so than any other languages.
having studied js and react for frontend , should my nextstep be using go at backend.
Thank you
WE WANT more good content we love go
Hi Goblin 😁 Go has less libraries so if you are into arcane projects it wont help you much on productivity since you'll be stuck somewhere and must solved it your self. If money is the aim then use ones that has the most benefit of them all.
@sastashroud7646
8 ай бұрын
which one like
More please.
I was hoping if you would make a similar video but with Rust & Kotlin
@dreamsofcode
Жыл бұрын
I can add this to my list of videos to create!
YES
All I can say is: Run
Mahn, please do the dadbod plugins for NvChad
does go has a framework that is similar to nextjs for nodejs?
@htdrednaxela96
4 ай бұрын
Yes there are.
I know Rust and Go are very different languages but if you had to choose one to develop apis, which one would you choose?.
@dreamsofcode
Жыл бұрын
It's a great question. Personally I'd probably build in Rust. But if my team wasnt as familiar, then Go is much easier to pick up. It also depends if there's a need to build on top of any other framework and how well that is supported in Rust vs Go.
@nictibbetts
Жыл бұрын
Go is always superior when it comes to building anything that has to do with web apps, networking, and cloud architecture.
@arturfil
Жыл бұрын
@@nictibbetts it what sense? Because Rust is faster and has less compiled errors but I know that golang is easier to write and do concurrency. Cloud probably is easier to write in go but better?
@nictibbetts
Жыл бұрын
@@arturfil sure that may be true about Rust but Go is a powerhouse when it comes to many thing related to networking or infrastructure. On top this Go is just easier to use comparatively. Furthermore, this ease of use makes its scalability and maintainability superior to that of Rust. With that said Rust out performs Go in many other areas but again Go’s simplicity makes it an attractive alternative.
@maleldil1
Жыл бұрын
@OffroadG ; Rust is safer at compile time by being strict about what you can and cannot do. Go, however, has little compile time safety: everything is mutable, so you're always at risk of data races, the type system is weak, and there are many edge cases that can surprise you. Rust seems harder becomes it makes you handle all of the necessary complexity. Once you do that, your program is more reliable. On the other hand, Go tries to hide that from you, but it will eventually bite you. You see all this as "punishment", but it's better viewed as "additional safety".
is there a good course to learn go lang?
cool video)
Hello, is it true that it´s nearly impossible to find a job as junior go developer(first language), because go is hard language for solving difficult optimisations and companies want to hire a junior developers that switched from other languages?
@dreamsofcode
10 ай бұрын
I don't believe that's the case at all. There's a lot of companies looking for Junior Go developers still out there.
@user-uu3vq5xe9b
10 ай бұрын
@@dreamsofcode thanks for the answer, you really helped me!
@ZettaiKatsu2013
4 ай бұрын
it depends where on Earth.
Lets GO 🔥
@dreamsofcode
11 ай бұрын
🔥
Good video.
@dreamsofcode
10 ай бұрын
Thank you!
Go is awesome, just learn it it'll be worth your time.
masm is the best👍🏻
❤❤
No, just keep watching videos and dont do anything
Erlang not Elixir? Doesn't right this. Could be Erlang/Elixir.
Gopher
The only languages that seem to be in demand is C++, Java, and Python (and JavaScript and Bash). These are the only language you'll see on job ads, with the exception of the very occasional C or PHP. Of course, once people have a job, they will choose whatever language they like, so you will encounter Go, Scala, and C.
@dreamsofcode
Жыл бұрын
Go is pretty high in demand from what I see, but then I also spend a lot of time hiring for Go devs as well. I see a lot of Elixir, Scala and Clojure as well.
@mattias3668
Жыл бұрын
@@dreamsofcode At the moment I see 4 job ads for C developers (out of just above 3000 job ads for developers), and 4 job ads where Go is used but it is not a requirement for any of them. But I did forget about C# being in demand (I ignore them because they are probably for Windows development).
@mattias3668
Жыл бұрын
Elixir: 2 ads (not even irrelevant stuff show up) Clojure: 2 ads (not even irrelevant stuff show up) Scala: a few ads show up, but a lot of them seem to be irrelevant, and I cannot find any there it is actually a requirement.
at timestamp 3:18 it should be Reason #5
what neovim colorscheme do you use?
@dreamsofcode
Жыл бұрын
I use Catppuccin theme, for both Neovim and Alacritty
My personal experience with GO is quite bad, I'm currently learning it coming from Python and I didn't know that there's a lot of standard library, just from this video I have never heard any of these before. I can find a lot of answer for JS, Java, Python, PHP by searching it, but for GO I rarely had an accurate search result.
V is a better Go. I wonder if Go will update to include much of its functionality. Also I wonder why V compiles faster than Go since they both rely on C. I don't know if V will ever make it to prime time but so far I've been liking it. I like the simplicity of `!` compared to having to handle all the errors. That way you can create "messages" (errors) and then just pass it up to the top and handle them at the very top to figure out what you want to send back to the user.
@dreamsofcode
Жыл бұрын
I'm going to have to do a video on V I think. It's really interesting.
@seanknowles9985
10 ай бұрын
Autofree memory
@baxiry.
5 ай бұрын
Go compiler is faster.
Go for Go if you want to Go far
@michaelai8274
Жыл бұрын
If you Go for Go, you're Going for Gold :)
"They all hated C++"... hate alone is never a good drive, or guide, to build new things
whats your vscode theme ?
@dreamsofcode
10 ай бұрын
My man. I am a Neovim guy! I use catppuccin
I learn languages by doing small projects. Java/Kotlin for Android, JS/TS for React, Vue, Svelte, etc..., Python for data processing, C# for Unity, Rust for Tauri... What type of project aside from an API would be good to start with?
@dreamsofcode
10 ай бұрын
I'd say anything hyper concurrent would be perfect for Golang. i.e. building a single process data pipeline with channels to read data off a push prot/stream and process it in parallel would be really cool.
Because I am silly I prefer Goose 🦆 over goblin/gopher ;)
Go disallowed Allman braces in all code, just because they don't like Allman braces.
@nyahhbinghi
4 ай бұрын
that's because Allman is objectively trash
How long Go will last bruh as hot in job market
@dreamsofcode
11 ай бұрын
I believe for a long while!
@vlad7269
11 ай бұрын
@@dreamsofcode I think about Go as it gives lots of possibilities to build desktop apps not hard like in Rust Tauri but in Go Wails I was being told the same that Python have many jobs but nobody actually hiring
My brain stuttering every time I see `n int` instead of `int n` lmao.
i don't see why do we need another one language that based on a garbage collection when we have java, c#, js and many others. it's not faster, it's not better, it does not have many features that c# has for example, it introduces nothing new. sure, google wants to be intendent from others and has own language and this is the only reason why it exists.
Go like like python++
GOPATH *
They aborted the decision of adding the non-bypassable telemetry in the toolchain?
But then why dont they have null safety?!
@dreamsofcode
10 ай бұрын
I know. I wish they did.
The new generics are still ridiculously weak and you still can't implement common iterator patterns in Go, because you can't have generic methods
@dreamsofcode
11 ай бұрын
I agree. I don't think Go needed generics and the implementation has been pretty poor, especially for tooling. I hope they improve it soon. That being said, I do think Go is useful without generics.
@BosonCollider
6 ай бұрын
@@dreamsofcode I kind of wish that Go had a system more like Zig's, where it added comptime evaluation and basically just made generics a special case of that where the generic parameter is a compile time argument to the function. It would have generally felt consistent with other places where this is done in go, where you often already do switches on the type of a value It's really powerful while also keeping Go's strength where the entire set of language features can be learned in a day
Go is certainly interesting, but I absolutely *despise* the fact that it deliberately lacks things like method overloading or default values. The fact you have to avoid dependency loops is also annoying. I can see *why* the creators made the decisions they did, but I disagree with some of them.
Video about channels!!!!
@dreamsofcode
Жыл бұрын
You got it boss!
@Jccke
Жыл бұрын
@@dreamsofcode much appreciated. Love your videos!
Too many languages to learn man
rust
@dreamsofcode
Жыл бұрын
Haha you know I love Rust! Go does have it's place though still.
The biggest downside is probably that it's a (de facto) Google product :/
Better to use zig, rust and v in future
@dreamsofcode
Жыл бұрын
I think Rust is fantastic but the cognitive overload is quite high and can cause teams to slow down somewhat. Zig and V are very interesting though
It’s a cool language but some of the syntax can just fuck offff
Go wasn't created bc they hated C++. It was created bc the C++ standards committee still hasn't standardized a library for network encrypted communication. In this day, it's a necessity. Instead of waiting for the standards committee to get around to it, they created their own language specifically for network encrypted communication.
@FrenchPirate83
8 ай бұрын
Citation needed
@janmsavage
7 ай бұрын
no citation needed-- do a goog search. @@FrenchPirate83
@nyahhbinghi
4 ай бұрын
something like this sounds legit - b/c Go is a fairly uninspired language otherwise
It depends. 😂😂
1:20 a typo
The answer is yes, save yourself the 4 minutes
@dreamsofcode
10 ай бұрын
Ahh you know people want more than that, right?
Why? Erlang is better
@dreamsofcode
Жыл бұрын
I do like Erlang a lot. But the memory usage is so high 😭
@Stopinvadingmyhardware
Жыл бұрын
@@dreamsofcode That’s why it’s so stable. No swap space writes. It runs all in an emulation zone. When a process crashes it rebuilds the environment automatically, which means no data loss. GO has none of these aspects
No. Golang is not well designed for any specific domain. Pointers and concurrency issues make it more suitable for gaming not web dev. But there are surely better choices for game engines. So Go is in no-mans-land.
No. Go sleep
I wish trading firms can pick up Go so that gophers can unlock higher pay jobs without switching back to C++
@dreamsofcode
11 ай бұрын
I'd be nicer for developement, but I think the garbage collector is the main reason this won't happen. It can cause periods where the code is frozen due to the "freeze the world" behavior in mark and sweep. Trading software tends to want very deterministic performance for execution of trades.
@zuowang5185
11 ай бұрын
@@dreamsofcode are you saying Golang software would freeze up randomly during it's garbage collection?
@dreamsofcode
11 ай бұрын
@@zuowang5185 Go uses Mark and sweep garbage collection which means it halts operation to run the garbage collector. This is very negligible in most operations, but for trading software it's usually deemed unacceptable.
cool video)