spent the last 10y as a node/react/yadayadyada dev, felt the burn out harrrd the last few years, recently switched to righting a lot oft go and zig and feel its a huge breath of fresh air. I love the term JS detox. I am so glad to be taking a break. Great video!
What do you use go and zig for? I would love learning these languages but I have no idea what I would use them for, like projects dont come up in my mind
I think we gotta respect him being so honest about what he knows and doesn't and that he realizes that some things might not be accurate and always informs the audience. Just for reference pointers and references are not the same when you want to modify a variable you pass by pointer, reference semantics is something in c++
I've been learning web dev and swimming in the javascript ecosystem for around 6-7 years and now I work as a golang dev, this is becoming more and more common.
@@0oShwavyo0 I started with carrying over things I've learnt in JS by building use-case specific projects in golang, like a project just to understand building APIs, CLIs, distributed computing using goroutines, so on so forth, and reading the official docs and the source code of standard Library, it has a lot of comments and inline documentation which is super cool to read through, there are many things that's similar both in terms of language syntax and design patterns between Js & golang, but there are some golang specific design techniques such as struct embedding and project structuring quirks, this takes some time getting used to.. watch golang talks from conferences, engulf yourself in the content the community is putting out and you'll start enjoying the learning process..
@@0oShwavyo0if you already skilled developer and worked with blackend , know about database's, message brokers, microservice concepts - you can learn Go like in a week and start looking for go jobs. There is a pretty high demand for go Devs and companies pretty happy to get one who just transitioned
Things I love about go: - stdlib (it's really amazing) - compile time - interfaces (i really like go's approach of implementing interfaces) - error handling (some people hate this) - concurrency model - and the best feature, 'defer'. I miss that feature so much whenever I use TS. Things I don't like: - Lack of generics in the stdlib. - Naked return - That uppercase export
Defer is amazing, they really knocked it out of the park with that one. I don’t personally love the whole interface thing, because at least to my knowledge it’s not very easy to see what interfaces a particular object actually implements. Overall big fan of Go though, sad that I didn’t try it out sooner!
@@0oShwavyo0you can lookup for some extensions to find implementations of interface, in goland, it shows which struct implements a interface right above interface and vice versa
Which version of Go do you use or when did you last write a program in it,cause from go version 1.6 there have been generics and now with 1.22 they are much better
Go has been a major breath of fresh air for me. You can also see how much influence it has on things like bun and deno It’s also hard to describe but the LSP is super good. It does a lot of really nice things for you
Cody really stands out when it comes to authenticity and transparency. The video starts with him just saying why he is learning Go. For other TH-camrs, that would have been said somewhere at the end of the video (if not click bait) but not Cody! Keep up the great work Cody.
I happen to also be learning Go at work and I come from a React/TS world, so it's nice to see your reflections on your learning and what you appreciate about Go coming from so much experience in JS land.
@@babar-khan good question! while I have good experience in frontend programming, I am also pushing myself and looking for opportunities to at least be competent with backend even if it never becomes my area of expertise, that way I can be more of an asset to the companies I work for. Learning Go is moving in that direction.
I'm extremely happy that you're doing content on Go. It's going to be a lot more adopted in the future, and getting started early would be great for you since there aren't many content creators for it. Go is a beautiful language that's so simple. I love that if you capitalize or lowercase the beginning of a variable/type/function/method it defines if it's public or private. Makes it so easy without having to use keywords like `public` and `private`. Keep it up!
17:30 defer is great, because it guarantees something gets done at the end of the function, so even if you have multiple returns you can have the one deferred function call. It's particularly useful in Go because early returns are very common with the normal error handling patterns.
I clearly understand you. I was a team lead in startup, was working with JavaScript frontend and nodejs 5 years and now I'm happy working as back-end Go developer in big local company and I'm loving it
Every statement here is wrong. You should check benchmarks and make your own. Golang is not that fast. Most "old" bench that make this myth were based on the fact that serialization was based on code gen, meanwhile dotnet and java catched up. Rust and C++ are the most performant. dotnet core has the best DX. Saying a platform that don't compile to machine code and rely on GC is as fast as C/C++ is non sense.
@@pepperdayjackpac4521 in term of DX and syntax, Python is good but let's be honest... Its adoption has been caused by science universities that wanted to replace C++. Typescript should have taken that spot in my opinion. Python is one of the least performant these days.
@@pepperdayjackpac4521Python and Go have abstracted syntax. Simple syntax is of languages like C and other very low level languges in my opinion. You have to rate simplicity by the levels of abstractions to agree with me though.
We love Go! I have had a recent epiphany along the same lines. I use JS and TS so much at work sometimes I just want a simple language where I can lean on the std lib and not have to learn the newest framework for every little aspect. Go is a breath of fresh air. It feels like when you learn something you’ll be using that knowledge much later down the line and not have to relearn the new way to do it with every project. I have even got some Go microservice a up and running at work and a powerful cli tool to automate a huge problem we had on a on perm server which badly needed to be concurrent so Go was perfect.
computers will have usually less than a dozen cores in their cpu, cores could have hundreds of threads, coroutines (what go calls goroutines) are a lightweight abstraction on top of traditional threads. there can be thousands without much overhead. it’s managed and garbage collected by go during runtime. hope this helps
I just started learning GO towards end of 2023. It's so much fun, easier, faster and now I am half-way transitioning my complex JS project to Go and HTMX.
As someone whom went from C/++ to JS/TS and is just now starting on Go, this video was really cute seeing you discover concepts Go's inherited from C :)
For just starting to learn it, your assumptions are dead on. it's actually pretty wild how quickly you determined what was happening underneath intuitively.
The biggest thing that soured me on Node and JS for the server is I just got so tired of trying understand the massive skyscraping stack of abstractions between the code I write and what actually happens on the machine. I had to switch to C# when I got a new job and while it’s a bit stuffy it’s not trying to hide a mountain of bodies to accomplish the basics. I still love JS for handling the dom, it’s excellent at it. It’s an adequate Frontend language for the browser (it is now anyway, took 30 years to get there). HTML, CSS and JS are still to me the easiest and most flexible way to make UIs. But man am I glad to be off of Node.
"go fmt" is the standard formatter for Go. I like to use gofumpt instead -- it's a drop-in replacement that extends what go fmt does, so go fmt won't undo its changes. It's just a little bit stricter with what it formats, like unnecessary blank lines and variable assignments, but I like it a lot. (it'll also sort your imports in a more nitpicky order that's very common.)
Man feel the same way. I’m still early - mid career but spent the last 3-4 years diving deep into JS and the constant ever changing land of frameworks Might have to pick up Go in my spare time after work. I admire the BE because tools and/or eco system is more stable and concrete Also, it stimulates me differently than FR, where most of the time it feels like I’m stirring a pre made pot of ingredients adding more seasoning, hot sauce, ect Vs BE it feels more like cooking from ‘scratch’ no pre-made packaging
I'm learning Go too. When I came across type aliasing in one of the exercises I thought, this is so cool. For example: type Quantity uint Then x := Quantity(4) or func order(qty Quantity) etc.
Enjoyed this video.. I am pretty early on in my Go journey & can totally relate to your comments/findings. I completely agree with you on the JSON thing.. it feels so native in JS/TS that any other language does seem like a step backward, but as you say, not the end of the world. Some things I do really miss from JS land, are optional chaining operator, not having to format console logging (just print it!) & template literals.
after 5 years of php(laravel,codeigniter) with bunch of composer packages and really complex eco system, go feels like a fresh air. Go literally haves so many tools out of the box AHHHGh dream language.
This is exactly what I did. Go is even cool because you can cross-compile to other platform and it just works ( assuming you don't pull some C library ). And you can embed html or SPAs into the binary. Thanks to learning Go, WASM is kind of easy. Fulltime JS does getting boring. So it's nice to take a break.
I love programming and wanted to explore Go. So I decided to port a Java app that we use professionally to use Go. Although I found it pretty fun to use and easy but man it is tough to sell to Java and JS devs. Even I felt a bit crazy when I showed my colleagues the final ported app and told them that this is "better". From their point of view they were staring at gibberish with pointers and they'd like to be as far as possible from that
Hey dude, first time landing on your channel. That moment at 0:23 when you mentioned feeling burned out on JS? Totally resonated with me. I've been in that boat, questioning if it's just me or a common vibe among devs. Been there with PHP and JS too, albeit for a hefty 8 years. Just hit subscribe while dropping this comment. Keep up the cool content!
I'm in the same boat. Busy learning Go and using it for APIs over Node. I've tried Rust as well and honestly, I love both. Go is great for getting out your way.
As a go dev, i valid. Once you enjoy the simplicity of Go, it’s hard to switch to other stuff. Error handling became a big thing now that i’m working on a java project
Great content as always! I too am trying to branch out from web development by learning things that fascinate me. This was exactly how i got into web development in the first place anyways ;)
I'm reading Let's go by Alex Edwards and im loving so much go, as a frontend dev with 6 years of experience im so done with JS ecosystem and learning go has been a refreshing thing to do!
I read an article the other day about the hype around golang because I was curious and it def convinced me. I’m learning swift rn and they are very similar.
very simply put: you could see struct as a kind of immutable variable type, predefined to use in the program. You could temporarily make it mutable-ish, by using pointers (which doesn't actually change the struct variable, but a copy of it)
Great video, but I think you’re *absolutely* ready for Rust! I say this having watched this whole video; you are a *solid* developer, my friend. P.S. Nobody ever thinks they’re good enough! Just gotta get your feet wet, and before you know it you’ll be underwater :)
If you want smaller executable sizes, try setting the -s parameter to leave out the symbol lookup table. I also vaguely remember -d making the output smaller for some reason, but I can't remember why, so YMMV.
Don't forget too that Go is a garbage collected language, which means it's compiled with the GC, so on average it's going to have a larger files size than most compiled languages.
Yup I also like its simplicity. You can do pretty much everything with its standard library. The only thing I truly dislike are the magic strings and definitely with parsing json in structures.
I love React, although I suck at it. But I also love how you went full Go content. Probably do some Go problems for developers who have interview with this language programming. :)
i’m detoxing on golang right now myself. one thing you should look at doing set up a vscode dev container. i’m finding is so nice to set up my dev ends this way so i can spin up servers quickly for dev and know the arch matches deploy location.
2:10 don't worry, rust isn't that hard to learn really - you can mostly ignore lifetimes for a lot of early learning if you are willing to clone instead, and slowly learn to work with lifetimes etc over time. Rusts enums/match are amazing for a lot of things! great language, would recommend
I see a lot of people burnout from javascript chaos. Learning something new refreshing mind a lot espectially simple language like Go and Python. Even though you might not using it at work but playing those tools as side project is very enjoyable. In Go you only need standard library and you good to go.
I've been messing around with Go recently coming from mostly Java/Python and it's quickly becoming my favorite language. Not one-size-fits-all by any means but it's pretty close for my usage to be honest.
I like this kind of content even though react and js development in general is ny main thing. I have been torn between java, rust and go. I like the way go does some things. Its a nice change. Since go has rep for being fast and has support for backend APIs, i see it as logical next step. And there is nothing wrong with the kind of content youre producing. I see you doing a lot of different things and i mentally note them down as things to explore and learn, but im kinda doing same thing always i.e. js
I love golangs Json handeling your example misses one thing and that is the struct for the json Request. Golangs Json and Marshal workflow is like using zod on every incomming Request or Response
people keep talking about rust, but like I said I want to avoid complexity. comparing rust to go syntax, rust from a glance already looks like complexity.
@@WebDevCody I assume by "complexity", you mean the verbose syntax and the steep learning curve. The real software complexity is always there. We're just choosing our own poisons. I used both Go and Rust in production. Go is a great choice for simple APIs. When you have to deal with "Stop of the World" GC pauses and CPU spikes from Go and if you want to build high fidelity programs like in medical/automobile sectors, etc. you should choose Rust. All comes to down to "it depends". There's no silver bullet.
The only reason why i don't go all-in on Golang, is because i don't really like writing infrastructure, low level, network and crypto stuff. And those are primary fields where go is used.
The reason you're surprised about the size of the compiled binary, is because you're forgetting that its also compiling your code with the garbage collector. If you were compiling your code in C or C++ it would be a lot smaller, which is what you were expecting, but what makes Go nice, is you don't have to think about memory management as much, because of the GC; the tradeoff is a larger executable.
You should really learn the concurrency that go provides and just concurrency in general! It’s a neat topic and allows you to unlock the potential, hiding behind cores of your computer!
I personally learnt it from university courses on TH-cam, but they are not in English. I feel like books on go concurrency are quite good, and one of the core developers, that created the inner workings of goroutines also has in depth articles about go scheduler.
How do you make your thumbnails bro? Can I slightly copy a similar style thumbnail for my videos? Your thumbnails are some of the best I’ve seen in coding TH-cam imo.
oh wow, thanks for the kind words. I just use gimp. Each thumbnail I try to have the these key ingredients. - picture of me (get good lighting and take the picture in portrait mode on iphone, remove the background on mac) - a subject image (the gopher) - a short headline ("I'm a go simp") - sometimes I'll add an arrow if it helps guide the eye to where I want the viewer to look - throw a gradient background and add some faint code overlay in the background - throw in a couple of radial gradients behind myself - sometimes add a drop shadow to the subject (gopher has a purple drop shadow with a lot of extra bluring)
Perfect man. Thank you so much I appreciate that. I never heard of gimp but I’m def checking it out lol. And I was gonna ask , one last question lol. Do you also record on your iPhone? I’ve been thinking about just recording on an iPhone since it’s so easy to setup.
I think that it's better always to consider other alternatives from Javascript on the backend. Javascript might not be always be the best option in terms of speed and concurrency when you the application scales. Plus, Go is getting very hot this year so it's always a plus.
"I just want something simple" while having a k8s folder in your project is fucking golden :D
Shh you didn’t see anything 🙈 at this point k8s might be simplier than this aws Rube Goldberg machine we’ve been marketed as “the future”
🤣🤣🤣🤣
K8s is so easy once you understand it...
K8s is easy. I just email the devops guys at work and they take care of everything.
I just use chat gpt for that. Simple enough for me 🫠
We love Golang
it's the best way to make API and handle servers efficiently !!
Dont stop Making Go content
hello how can i connect to you...I want some questions answered if possible
Incorrect. The beam vm is far superior. Learn elixir.
@@EricLouisYoung Unpopular opinion but fckn true, surely i will give it a try !!
@@EricLouisYoungTrue to an extent. Do you think BEAM green-threads can compete with Go's?
@@nahiyanalamgir7056 totally different tools.
spent the last 10y as a node/react/yadayadyada dev, felt the burn out harrrd the last few years, recently switched to righting a lot oft go and zig and feel its a huge breath of fresh air. I love the term JS detox. I am so glad to be taking a break.
Great video!
What do you use go and zig for? I would love learning these languages but I have no idea what I would use them for, like projects dont come up in my mind
@@pixelforgPretty sure he uses both for backend. I'd also suggest trying out Rust for backend dev.
I think we gotta respect him being so honest about what he knows and doesn't and that he realizes that some things might not be accurate and always informs the audience. Just for reference pointers and references are not the same when you want to modify a variable you pass by pointer, reference semantics is something in c++
I've been learning web dev and swimming in the javascript ecosystem for around 6-7 years and now I work as a golang dev, this is becoming more and more common.
Yeah, JS ecosystem is too volatile. Not worth the hassle.
How did you make the transition?
@@0oShwavyo0 I started with carrying over things I've learnt in JS by building use-case specific projects in golang, like a project just to understand building APIs, CLIs, distributed computing using goroutines, so on so forth, and reading the official docs and the source code of standard Library, it has a lot of comments and inline documentation which is super cool to read through, there are many things that's similar both in terms of language syntax and design patterns between Js & golang, but there are some golang specific design techniques such as struct embedding and project structuring quirks, this takes some time getting used to.. watch golang talks from conferences, engulf yourself in the content the community is putting out and you'll start enjoying the learning process..
Same here. Switched half a year ago.
@@0oShwavyo0if you already skilled developer and worked with blackend , know about database's, message brokers, microservice concepts - you can learn Go like in a week and start looking for go jobs. There is a pretty high demand for go Devs and companies pretty happy to get one who just transitioned
Things I love about go:
- stdlib (it's really amazing)
- compile time
- interfaces (i really like go's approach of implementing interfaces)
- error handling (some people hate this)
- concurrency model
- and the best feature, 'defer'. I miss that feature so much whenever I use TS.
Things I don't like:
- Lack of generics in the stdlib.
- Naked return
- That uppercase export
Defer is amazing, they really knocked it out of the park with that one.
I don’t personally love the whole interface thing, because at least to my knowledge it’s not very easy to see what interfaces a particular object actually implements. Overall big fan of Go though, sad that I didn’t try it out sooner!
@@0oShwavyo0you can lookup for some extensions to find implementations of interface, in goland, it shows which struct implements a interface right above interface and vice versa
Which version of Go do you use or when did you last write a program in it,cause from go version 1.6 there have been generics and now with 1.22 they are much better
@@johnnathaniel1336 Yes, but they're still not integrated in most of the standard library.
Generics are supported
Go has been a major breath of fresh air for me. You can also see how much influence it has on things like bun and deno
It’s also hard to describe but the LSP is super good. It does a lot of really nice things for you
Cody really stands out when it comes to authenticity and transparency. The video starts with him just saying why he is learning Go. For other TH-camrs, that would have been said somewhere at the end of the video (if not click bait) but not Cody!
Keep up the great work Cody.
I happen to also be learning Go at work and I come from a React/TS world, so it's nice to see your reflections on your learning and what you appreciate about Go coming from so much experience in JS land.
why moved to Go ?
@@babar-khan good question! while I have good experience in frontend programming, I am also pushing myself and looking for opportunities to at least be competent with backend even if it never becomes my area of expertise, that way I can be more of an asset to the companies I work for. Learning Go is moving in that direction.
I’ve been subbed for a long while but I’m excited about Go, I’ve really grown sour on node and JS on the backend.
I'm extremely happy that you're doing content on Go. It's going to be a lot more adopted in the future, and getting started early would be great for you since there aren't many content creators for it.
Go is a beautiful language that's so simple. I love that if you capitalize or lowercase the beginning of a variable/type/function/method it defines if it's public or private. Makes it so easy without having to use keywords like `public` and `private`.
Keep it up!
Not to mention no need to type export and import and make sure import routes are correct!
Thank you buddy. Your passion to learn something new encourages me to learn as well.
17:30 defer is great, because it guarantees something gets done at the end of the function, so even if you have multiple returns you can have the one deferred function call. It's particularly useful in Go because early returns are very common with the normal error handling patterns.
it's a great feature!
I literally said this EXACT thing to my co-worker this morning, and set up my Go environment just last night. The timing is crazy
I clearly understand you. I was a team lead in startup, was working with JavaScript frontend and nodejs 5 years and now I'm happy working as back-end Go developer in big local company and I'm loving it
Golang seems so fire. So many big tech companies use it, plus it has the crazy speed of C++ and the simple syntax of Python, Ruby, Js.
Every statement here is wrong. You should check benchmarks and make your own. Golang is not that fast. Most "old" bench that make this myth were based on the fact that serialization was based on code gen, meanwhile dotnet and java catched up. Rust and C++ are the most performant. dotnet core has the best DX. Saying a platform that don't compile to machine code and rely on GC is as fast as C/C++ is non sense.
@@BonBaiserswhat about the “simple syntax of Python…” statement?
@@pepperdayjackpac4521 in term of DX and syntax, Python is good but let's be honest... Its adoption has been caused by science universities that wanted to replace C++. Typescript should have taken that spot in my opinion. Python is one of the least performant these days.
@@pepperdayjackpac4521Python and Go have abstracted syntax. Simple syntax is of languages like C and other very low level languges in my opinion. You have to rate simplicity by the levels of abstractions to agree with me though.
@@BonBaisers Go does "compile to machine code" or am I missing something?
We love Go! I have had a recent epiphany along the same lines. I use JS and TS so much at work sometimes I just want a simple language where I can lean on the std lib and not have to learn the newest framework for every little aspect.
Go is a breath of fresh air. It feels like when you learn something you’ll be using that knowledge much later down the line and not have to relearn the new way to do it with every project.
I have even got some Go microservice a up and running at work and a powerful cli tool to automate a huge problem we had on a on perm server which badly needed to be concurrent so Go was perfect.
i really like how straightforward and honest you are about your opinion and experience. it kinda makes me learn from your perspective
Go content is and will be much appreciated, happy coding!
Having 1 day of experience in Go, I can really say that this is the ultimate crash course for beginners.
GO MENTIONED!!!❤ A great language for backends and CLI tooling!
computers will have usually less than a dozen cores in their cpu, cores could have hundreds of threads, coroutines (what go calls goroutines) are a lightweight abstraction on top of traditional threads. there can be thousands without much overhead. it’s managed and garbage collected by go during runtime. hope this helps
Keep posting Go stuff. I'm trying to take JS detox as well.
I just started learning GO towards end of 2023. It's so much fun, easier, faster and now I am half-way transitioning my complex JS project to Go and HTMX.
As someone whom went from C/++ to JS/TS and is just now starting on Go, this video was really cute seeing you discover concepts Go's inherited from C :)
For just starting to learn it, your assumptions are dead on. it's actually pretty wild how quickly you determined what was happening underneath intuitively.
Hi i'm late,
quality Go contents are rare, Happy 😊.
I am also Learning Go, so it's nice and refreshing, thank you. You won a new follower +1
This content is beautiful. Absolutely loving the kube stuff since its hard to find good quality content.
The biggest thing that soured me on Node and JS for the server is I just got so tired of trying understand the massive skyscraping stack of abstractions between the code I write and what actually happens on the machine.
I had to switch to C# when I got a new job and while it’s a bit stuffy it’s not trying to hide a mountain of bodies to accomplish the basics.
I still love JS for handling the dom, it’s excellent at it. It’s an adequate Frontend language for the browser (it is now anyway, took 30 years to get there). HTML, CSS and JS are still to me the easiest and most flexible way to make UIs. But man am I glad to be off of Node.
"go fmt" is the standard formatter for Go. I like to use gofumpt instead -- it's a drop-in replacement that extends what go fmt does, so go fmt won't undo its changes. It's just a little bit stricter with what it formats, like unnecessary blank lines and variable assignments, but I like it a lot. (it'll also sort your imports in a more nitpicky order that's very common.)
Man feel the same way. I’m still early - mid career but spent the last 3-4 years diving deep into JS and the constant ever changing land of frameworks
Might have to pick up Go in my spare time after work.
I admire the BE because tools and/or eco system is more stable and concrete
Also, it stimulates me differently than FR, where most of the time it feels like I’m stirring a pre made pot of ingredients adding more seasoning, hot sauce, ect
Vs BE it feels more like cooking from ‘scratch’ no pre-made packaging
I'm learning Go too. When I came across type aliasing in one of the exercises I thought, this is so cool. For example: type Quantity uint Then x := Quantity(4) or func order(qty Quantity) etc.
Enjoyed this video.. I am pretty early on in my Go journey & can totally relate to your comments/findings.
I completely agree with you on the JSON thing.. it feels so native in JS/TS that any other language does seem like a step backward, but as you say, not the end of the world.
Some things I do really miss from JS land, are optional chaining operator, not having to format console logging (just print it!) & template literals.
after 5 years of php(laravel,codeigniter) with bunch of composer packages and really complex eco system, go feels like a fresh air. Go literally haves so many tools out of the box AHHHGh dream language.
Nice content, I'm also learning Go for the same reasons, will be nice to follow your development!
I hope you continue making Go videos
Bro i also started learning it a month ago. My legend. 3 years of full stack and now starting to look into Go
I'm at the same stage in Go as you ahahha, I also love it so far! Coming from C# feels like a great upgrade in every part.
This is exactly what I did. Go is even cool because you can cross-compile to other platform and it just works ( assuming you don't pull some C library ). And you can embed html or SPAs into the binary. Thanks to learning Go, WASM is kind of easy. Fulltime JS does getting boring. So it's nice to take a break.
Started learning go like 2 months ago. Will be so nice if I will see your go content ;)
I am also Go learner.Keep us fresh with your Go content.I feel bored with JavaScript && Typescript too
Nice, currently learning swift.
You will very much enjoy Go, makes you a superstar at work too
bower, grunt, gulp... ohh those where the days ! I wasn't prepared to hear these words today
did it invoke a little PTSD?
@@WebDevCody I confess, it shook me up for a bit .
Trying to deep dive in Go myself, Love your js content, looking forwad for Go videos as well!
I love programming and wanted to explore Go. So I decided to port a Java app that we use professionally to use Go. Although I found it pretty fun to use and easy but man it is tough to sell to Java and JS devs. Even I felt a bit crazy when I showed my colleagues the final ported app and told them that this is "better". From their point of view they were staring at gibberish with pointers and they'd like to be as far as possible from that
I just started learning go a week ago!
Hey dude, first time landing on your channel. That moment at 0:23 when you mentioned feeling burned out on JS? Totally resonated with me. I've been in that boat, questioning if it's just me or a common vibe among devs. Been there with PHP and JS too, albeit for a hefty 8 years. Just hit subscribe while dropping this comment. Keep up the cool content!
I'm in the same boat. Busy learning Go and using it for APIs over Node. I've tried Rust as well and honestly, I love both. Go is great for getting out your way.
I feel your pain. I go back and forth with this. I like parts of Go, Rust, and Kotlin. Zig also looks interesting
As a go dev, i valid. Once you enjoy the simplicity of Go, it’s hard to switch to other stuff. Error handling became a big thing now that i’m working on a java project
I’ve just starting to learn go this week! Can’t blame you 😆
It can be more exciting when you mix up using functions, struct, interfaces and dependency injections altogether 😊
Great content as always! I too am trying to branch out from web development by learning things that fascinate me. This was exactly how i got into web development in the first place anyways ;)
I'm reading Let's go by Alex Edwards and im loving so much go, as a frontend dev with 6 years of experience im so done with JS ecosystem and learning go has been a refreshing thing to do!
I was dabbing into Drizzle at the same time as you did & now witnessing the same with Go haha. Great minds think alike I suppose 😉
Interesting, that's exactly the reason why I clicked on this video....I need a TS/JS detox :D Great video!
Im in a similar position but with python. Feels like a breath of fresh air without having to deal with bundlers when writing backend python.
I read an article the other day about the hype around golang because I was curious and it def convinced me. I’m learning swift rn and they are very similar.
I am currently learning Go and also my major project is based on Go
very simply put: you could see struct as a kind of immutable variable type, predefined to use in the program. You could temporarily make it mutable-ish, by using pointers (which doesn't actually change the struct variable, but a copy of it)
I'm in for the next and convex content but its great to see other content from your perspective
Great video, but I think you’re *absolutely* ready for Rust! I say this having watched this whole video; you are a *solid* developer, my friend.
P.S. Nobody ever thinks they’re good enough! Just gotta get your feet wet, and before you know it you’ll be underwater :)
I love Golang, I can't wait to see more video of Go
Ok that's does it, I am learning GO now so i can decide if its really good or not.
If you want smaller executable sizes, try setting the -s parameter to leave out the symbol lookup table. I also vaguely remember -d making the output smaller for some reason, but I can't remember why, so YMMV.
Don't forget too that Go is a garbage collected language, which means it's compiled with the GC, so on average it's going to have a larger files size than most compiled languages.
Yup I also like its simplicity. You can do pretty much everything with its standard library. The only thing I truly dislike are the magic strings and definitely with parsing json in structures.
4:29 you can optimize the size of your build using build flags, and for further reduction, use UPX.
But I am loving it, motivated in my go journey because of your videos
Very fun introduction to Go ❤
I love React, although I suck at it. But I also love how you went full Go content. Probably do some Go problems for developers who have interview with this language programming. :)
Love the Go arc!
I’m learning Go myself. I love it. I still love JS myself too though.
for what its worth, I actually subscribed to you because of all the non-web related content
wait, but what non-web content do I make? everything I make it related to web development 😅. are you talking about non front end stuff?
@@WebDevCody ah sorry, yeh I meant non frontend stuff 😄
I started my dev journey with Go. Couldn't get an interview anywhere. much less jobs and they are all senior positions.
I'm lovin the fo content and I'm all for it
I didn't realize that "bower" was a trigger word for me until you said it 😂😂🤣🤣
Blast from the past
I'm also from React, Next JS stack..and also started to learn Go :D
great video, think this convinced me to give it a whirl. thanks!
🔥🔥
i’m detoxing on golang right now myself. one thing you should look at doing set up a vscode dev container. i’m finding is so nice to set up my dev ends this way so i can spin up servers quickly for dev and know the arch matches deploy location.
if you want a template to start i got a nice setup with docker compose launching a postgres and redis server and golang in the dev container.
Go is so much fun! As an old guy I love C/C++ I did Rust but I'm not loving it. I am loving Go and Zig though.
2:10 don't worry, rust isn't that hard to learn really - you can mostly ignore lifetimes for a lot of early learning if you are willing to clone instead, and slowly learn to work with lifetimes etc over time. Rusts enums/match are amazing for a lot of things! great language, would recommend
I see a lot of people burnout from javascript chaos. Learning something new refreshing mind a lot espectially simple language like Go and Python. Even though you might not using it at work but playing those tools as side project is very enjoyable. In Go you only need standard library and you good to go.
i'm using Go for network programming, good choice.
That’s awesome! I got into Go also
I've been messing around with Go recently coming from mostly Java/Python and it's quickly becoming my favorite language. Not one-size-fits-all by any means but it's pretty close for my usage to be honest.
I like this kind of content even though react and js development in general is ny main thing. I have been torn between java, rust and go. I like the way go does some things. Its a nice change. Since go has rep for being fast and has support for backend APIs, i see it as logical next step. And there is nothing wrong with the kind of content youre producing. I see you doing a lot of different things and i mentally note them down as things to explore and learn, but im kinda doing same thing always i.e. js
Great video coming from C++
5:58 get your eyes zapped and smell the burn!
I love boilerplate, so I am learning Spring Boot and Java. One thing I wish was available in the industry is plenty of SolidJS jobs hehe.😂
I love golangs Json handeling your example misses one thing and that is the struct for the json Request. Golangs Json and Marshal workflow is like using zod on every incomming Request or Response
my request structure is not known since it's a generic key value store. a user can store any type of JSON they want.
same here buddy, I was soo done with JS after 10 years, TS/React was the straw, I just moved to Go
You can union types by embedding one into another and it's awesome
You're a good developer, Cody. Don't lose hope. Try Rustlings. You don't need to learn all of Rust to write a bunch of APIs in it.
people keep talking about rust, but like I said I want to avoid complexity. comparing rust to go syntax, rust from a glance already looks like complexity.
@@WebDevCody I assume by "complexity", you mean the verbose syntax and the steep learning curve. The real software complexity is always there. We're just choosing our own poisons. I used both Go and Rust in production. Go is a great choice for simple APIs. When you have to deal with "Stop of the World" GC pauses and CPU spikes from Go and if you want to build high fidelity programs like in medical/automobile sectors, etc. you should choose Rust. All comes to down to "it depends". There's no silver bullet.
I totally relate to everything you've said
The only reason why i don't go all-in on Golang, is because i don't really like writing infrastructure, low level, network and crypto stuff. And those are primary fields where go is used.
The reason you're surprised about the size of the compiled binary, is because you're forgetting that its also compiling your code with the garbage collector. If you were compiling your code in C or C++ it would be a lot smaller, which is what you were expecting, but what makes Go nice, is you don't have to think about memory management as much, because of the GC; the tradeoff is a larger executable.
Good info!
You should really learn the concurrency that go provides and just concurrency in general!
It’s a neat topic and allows you to unlock the potential, hiding behind cores of your computer!
I personally learnt it from university courses on TH-cam, but they are not in English. I feel like books on go concurrency are quite good, and one of the core developers, that created the inner workings of goroutines also has in depth articles about go scheduler.
How do you make your thumbnails bro? Can I slightly copy a similar style thumbnail for my videos?
Your thumbnails are some of the best I’ve seen in coding TH-cam imo.
oh wow, thanks for the kind words. I just use gimp. Each thumbnail I try to have the these key ingredients.
- picture of me (get good lighting and take the picture in portrait mode on iphone, remove the background on mac)
- a subject image (the gopher)
- a short headline ("I'm a go simp")
- sometimes I'll add an arrow if it helps guide the eye to where I want the viewer to look
- throw a gradient background and add some faint code overlay in the background
- throw in a couple of radial gradients behind myself
- sometimes add a drop shadow to the subject (gopher has a purple drop shadow with a lot of extra bluring)
Perfect man. Thank you so much I appreciate that. I never heard of gimp but I’m def checking it out lol.
And I was gonna ask , one last question lol. Do you also record on your iPhone? I’ve been thinking about just recording on an iPhone since it’s so easy to setup.
Go all the way!!!
I think that it's better always to consider other alternatives from Javascript on the backend. Javascript might not be always be the best option in terms of speed and concurrency when you the application scales. Plus, Go is getting very hot this year so it's always a plus.