Why I Use Golang In 2024

  Рет қаралды 228,235

ThePrimeTime

ThePrimeTime

3 ай бұрын

Recorded live on twitch, GET IN
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts

Пікірлер: 614
@coralsikes4718
@coralsikes4718 3 ай бұрын
the blue hair was the Go foreshadowing
@AJewFR0
@AJewFR0 3 ай бұрын
no, blue hair = rust developer. He had to switch to Go otherwise he would be trans by 2025
@sutirk
@sutirk 3 ай бұрын
Dyed hair blue to become a real rust developer, ended up identifying with the gopher so much that golang is his main language now
@justanothercomment416
@justanothercomment416 3 ай бұрын
@@AJewFR0 The Foundation is clearly suffering from it.
@susiebaka3388
@susiebaka3388 3 ай бұрын
Blue hair is rust bro 😅
@justanothercomment416
@justanothercomment416 3 ай бұрын
@@susiebaka3388 Yep. So is the agenda.
@taylorallred6208
@taylorallred6208 3 ай бұрын
I’ve really come around to Go. I used to despise it but now I’m in love with the simplicity. In Go, I find myself asking “what is the most straightforward way to do this?” And more often than not that is clearly the best approach.
@ThePrimeTimeagen
@ThePrimeTimeagen 3 ай бұрын
There's something very beautiful about this. When there's often only one path available, you just don't have to think too hard about the minutia
@RossDmoch
@RossDmoch 3 ай бұрын
​@@ThePrimeTimeagen ewww, that sounds like python. Gross
@susiebaka3388
@susiebaka3388 3 ай бұрын
​@@RossDmochpython is a lot different from golang 😅
@joshduffney7954
@joshduffney7954 3 ай бұрын
@@susiebaka3388 WAYYYYY different
@jibbscat5146
@jibbscat5146 3 ай бұрын
Is python known for doing everything one idiomatic way?
@keyboard_g
@keyboard_g 3 ай бұрын
Prime C# dev 2025. Lets go.
@akshay-kumar-007
@akshay-kumar-007 3 ай бұрын
C# .NET ftw
@Kdefthogbg
@Kdefthogbg 3 ай бұрын
Context always matters, I think he's not challenged enough. Also C# NET ftw :')
@kattankarl
@kattankarl 3 ай бұрын
This the arc we're all waiting for Visual Studio Enterprise C#
@aj-jc4cv
@aj-jc4cv 3 ай бұрын
C# is like a duvet
@xelesarc1680
@xelesarc1680 3 ай бұрын
C# is hot u know today
@re_detach
@re_detach 3 ай бұрын
Go is my goto language because it goes
@patrick_jane
@patrick_jane 3 ай бұрын
Where does Go go?
@user-qr4jf4tv2x
@user-qr4jf4tv2x 3 ай бұрын
@@patrick_jane its going no where for prime
@AdamFiregate
@AdamFiregate 3 ай бұрын
TypeScript, Go, Rust. Polyglot programming.
@re_detach
@re_detach 3 ай бұрын
@@patrick_jane the places Go goes continues to grow as time goes on
@OnFireByte
@OnFireByte 3 ай бұрын
Rob Pike knows Go is the go to language for a lot of people to the point that he has to put goto keyword in it
@thaddaeusmarkle1665
@thaddaeusmarkle1665 3 ай бұрын
"complexivityness"... Learned a new word today
@creativecraving
@creativecraving 3 ай бұрын
😂 That's a generous way to say it!
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Nice find! 'Complexivity' is a great word indeed 🤓
@markhaus
@markhaus 3 ай бұрын
I think this is a pretty great way of going about learning about the mysteries of how humans and teams of humans think about programming. Most languages have unintended consequences as a result of certain design decisions that eventually become crystalized and hard to avoid as it matures. I don't think a lot of people really know if the amazing expressivity and less than amazing complexity of rust affects the human behaviors of programmers working with it without trying something completely different like Go. I'll be following along and will be very curious what some of the unintended consequences of the decisions made during Go & Rust's development get uncovered.
@quasi_verum
@quasi_verum 3 ай бұрын
I am with you.
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Interesting perspective! Rust's expressivity vs complexity impact on human behaviors is a fascinating topic. Looking forward to your insights on Go's unintended consequences.
@joelazaro461
@joelazaro461 3 ай бұрын
Reminds me of the crazy types I would see in TS when I would mouse over a variable in a React app. I watched some of Matt Pocock's TS videos a long while back because I wanted to get better at types, but I kept wondering "Is this level of complexity really necessary?" I've been building a project in Go and the simplicity feels so worth it. I still catch myself overengineering things and have to dial it back when I refactor.
@einargs
@einargs 3 ай бұрын
A lot of the crazy typescript types are necessary to type the things people are used to doing in JavaScript. You can do basic classes and data types and only do that if you want, it's just that people are used to certain (more convenient) patterns from JavaScript.
@user-ir3yw8bs4i
@user-ir3yw8bs4i 3 ай бұрын
Matt Pocock is trying to polish a turd , and guess what? It’s still a turd!
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Ah, fellow over-engineer! 😅 Go is great for simplicity, but we all struggle with it. 😅
@thesaintseiya
@thesaintseiya 3 ай бұрын
Love your take here, as a relatively new dev I'm currently learning Go and loving it, but I'm super excited about learning Rust next year. I love this idea of dedicating time, like a full year or two, to explore and get good at different paradigms and that's what I'm doing
@Julzaa
@Julzaa 3 ай бұрын
Looking forward to it! I've been gobbling up your Go content
@SVVV97
@SVVV97 3 ай бұрын
Gobblin up the GoC
@AScribblingTurtle
@AScribblingTurtle 3 ай бұрын
Go is pretty fun. Cool, that you give it a serious chance. I love it for prototyping and testing new Ideas. You don't have to worry to much about types, to get things working, but once you want to tie things down, you can type things as strict as you want. The only hard thing to wrap my head around was slices. Once I realized that a Slice that is extended over its original capacity becomes a list of clones instead of references, everything was OK though. Until you extend a slice over its original capacity, all elements in it are references to the original entries, allowing for some pretty fun stuff, when building multiple slices from the same base Array.
@Rakstawr
@Rakstawr 3 ай бұрын
I think that depends how you are extending the slice. It's just a pointer to an array plus a size...
@AScribblingTurtle
@AScribblingTurtle 3 ай бұрын
@@Rakstawr there is an append function, it returns a new slice. Append to a slice, whos capacity has not been reached, and you get the original slice back, just with the new element appended. However, if you append to a slice whos length is equal to its capacity already, then Go creates a new slice, that contains copys of the original slices contents + the appended element and a new capacity. instead.
@YannSchmidt
@YannSchmidt 3 ай бұрын
I understood slices much more as I used them in Python and there is a lot of .
@sohn7767
@sohn7767 3 ай бұрын
⁠@@AScribblingTurtlethe capacity isn’t referring to the slices, but the underlying array. Slice is really just what the other user described
@ronny584
@ronny584 3 ай бұрын
​@@AScribblingTurtleI mean it's pretty obvious. Slice is just a reference to an array. And an array is a continuous block of memory, so if you append and it exceed the memory, you can't just put it in, it will override some memory blindly. So you have to create a new one.
@k0rnburn
@k0rnburn 3 ай бұрын
I like D because it has both sides of the coin somewhere in-between of Go and Rust: you can start writing in a simple way very clean and fast with GC and simple structs.. And if you need to make some tricky magic - welcome to metaprogramming world with traits, mixins and templates. If you need even more speed - you can even disable GC and write your hot part with asm and great auto-vec support from GCC/LLVM world.
@vladyslav1
@vladyslav1 Ай бұрын
A pity that Go has a lot more drive behind it from employers
@scofield117
@scofield117 3 ай бұрын
“Your app having complexity that is unmanageable is a skill issue” amen brother
@no_name4796
@no_name4796 3 ай бұрын
Living is a skill issue
@binpax5483
@binpax5483 3 ай бұрын
Thought he said a scale issue
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Agreed! Modal design can be tricky. Here's a simple fix: .modal { width: 400px; display: none; position: fixed; bottom: 20px; right: 20px; padding: 20px; background: #f9f9f9; }
@unl0ck998
@unl0ck998 3 ай бұрын
Type masturbation is hilariously accurate
@Dolanor
@Dolanor 3 ай бұрын
Yep, felt real
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Nice! Here's a suggestion for the background color: #f9f9f9.
@bohdanivanchenko5262
@bohdanivanchenko5262 2 ай бұрын
It’s not
@user-kq1yv8tc7v
@user-kq1yv8tc7v 3 ай бұрын
I have been writing php code for years. I starting to use go whenever I can because of how simple it can be to learn and all of the powerful choices it has made for a language go is really good and I want to find a way to write more Go code.
@martinkarkossa4714
@martinkarkossa4714 3 ай бұрын
I remember discovering your channel and being appalled that you were bashing Go. You've come so far ❤
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Wow, you've come a long way since your early Go-bashing days! 😊
@logannance10
@logannance10 3 ай бұрын
I switched to Go last week and it's nice to see you're doing the same
@pldcanfly
@pldcanfly 3 ай бұрын
I came from learning CS (with C, Java, C# and all the things) to do mostly PHP, some Ruby and ELM in between and a lot of JavaScript until I started to like TypeScript. Now Go is my main-language whenever I can. My first projects where pure chaos, since I was still stuck with JS-brain and trying to solve stuff that way. The more I looked at how go-devs solve stuff the go-way the more I embraced that, and now stuff feels so extremely elegant in it's simplicity. Combined with HTMX it's just beautiful.
@enzocam07
@enzocam07 3 ай бұрын
What kind of projects do you do in Go, I am starting learning but I don't have idea what to build because my mind is so immersive in Frontend but I need a change
@pldcanfly
@pldcanfly 3 ай бұрын
@@enzocam07 I started with some simple webservers. Replicated a few things I did in JS. Then I focused on a smart alarm. A replacement for an alexa echo dot with a raspberry pi underneath. What I also want to are some GTK-Desktop apps. Mainly to fill in blanks in my workflow I haven't found tools for that I like, and to learn a bit more about desktop-programming. Even tho go might not be the best for that, it still is better then electron.
@mauricioramirez2855
@mauricioramirez2855 2 ай бұрын
Impressive your journey. What’s the the main or top 3 ups of go compared to the other languages you handled?
@pldcanfly
@pldcanfly 2 ай бұрын
@@mauricioramirez2855 I just like the language which helps. But if I had to pick... Errors as values, the standard-library, and simplicity. honorable mention to god-tier concurrency, BLAZINGLY(tm) fast compiles and the elegance with which you can solve a lot of things.
@yugioh8810
@yugioh8810 3 ай бұрын
I feel like lots of Go programmers are ex-java programmers who have never did professional programming outside Java (like yours truly) and once they did the shift to go they were impressed by the simplicity of the language, bear in mind half of java is spring boot with all it's features and complexity so it adds more to the complexity and abstraction you have to deal with.
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Ah, I see! Many Java devs find Go's simplicity refreshing after dealing with Spring Boot's complexity. 😊
@egorsozonov7425
@egorsozonov7425 28 күн бұрын
That’s my case. I’m a Java dev and I feel alright about Java itself, but this obsession with that awful Spring thing is just sick. Spring is a monster gobbling up your development time, totally broken and undebuggable, and Golang is a refreshingly beautiful ecosystem in comparison. One of the best things about Go is that there’s nothing like Spring there
@toxicitysocks
@toxicitysocks 3 ай бұрын
I’ve been using go as my primary language for almost 6 years now and still love it. Need to dive into something new this year. Not sure if it will be rust or elixir.
@susiebaka3388
@susiebaka3388 3 ай бұрын
goroutines and channels are just incredible. i find if i am using mutexes then i'm not thinking about my design right. i try to use wait groups as little as possible also
@DeanRTaylor
@DeanRTaylor 3 ай бұрын
Glad to hear this, it will be interesting to hear reflections after six months.
@scillyguy
@scillyguy 3 ай бұрын
"This chisel is a rubbish hammer"
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Sorry to hear that! 😞 Can you tell me more about why you think it's a rubbish hammer?
@kuhluhOG
@kuhluhOG 3 ай бұрын
Imo one should try all combinations of high-level vs low-level and simplistic vs complex with at least one programming each (so yes, at least for PL). Obviously they shouldn't try all at once and from the get-go (and in general a starter PL shouldn't be a complex one, beginners already have enough other stuff to deal with (you would be surprised at how many people struggle with understanding the concept of recursion in the beginning)), but over time one should do this. And after having a decent amount of experience in each category, then go and start judging them against each other, but don't be surprised if not everybody agrees with your conclusion.
@ehfoss
@ehfoss 3 ай бұрын
I think Go will help your Rust since it will help you surface simple designs. I think this is how Tower came about. Before Tower, Rust web libraries were proc macro all the things, over complicated messes. They're powerful but if you get compiler errors, you need to use your galaxy brain to figure out what the heck happened. Well I'm sure someone saw how Go's handlers work and this completely inspired Tower and it's very simple and straight forward and composable.
@sfulibarri
@sfulibarri 3 ай бұрын
Imo, most people who like rust actually just like having native Option types and exhaustive pattern matching; just those two things solve something like 97% of bugs in most projects in mainstream languages just by getting rid of exceptions as control flow and forcing you to handle all cases. Beyond that, most of its features exist to address a specific kind of complexity that just isn't present in most software engineering contexts.
@Ataraxia_Atom
@Ataraxia_Atom 3 ай бұрын
Looking forward to learning go with boot dev
@ryanslab302
@ryanslab302 3 ай бұрын
Go for me this year, too. I’m taking your Go and HTMX lessons and other Go lessons on Frontend Masters.
@ThePandaGuitar
@ThePandaGuitar 2 ай бұрын
The older programmers get, the more they realize. Golang is the best language ever invented since C. Simplicity is the ultimate sophistication.
@matteo.veraldi
@matteo.veraldi 3 ай бұрын
What do you use to parse .templ files in NeoVim? I use coc-go for .go files but I didn't find anything for templ
@_MrKekovich
@_MrKekovich 3 ай бұрын
I really like how there's a word "brain" in his transparent head on 5:40
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Nice catch! 🤯 That's a clever design choice.
@ForeverZer0
@ForeverZer0 3 ай бұрын
I tried Go ~4 years ago, thought the syntax was strange, and I didn't really give it an honest chance, just dismissed it as "yet another language". About a year ago I gave it another chance, and ended up really liking it once embracing it as its own thing. It is currently my "go-to" language where it makes sense, so I am happy that I gave it another shot.
@bot1511
@bot1511 3 ай бұрын
I got the same thoughts about syntax and readability. Can you recommend some approaches to start from and clear old-used-language brain?
@ForeverZer0
@ForeverZer0 3 ай бұрын
@@bot1511 It would largely depend on your background, but nothing really specific beyond just "use it". Once you start creating more complex applications beyond tutorial-esque examples (might have to just slog through it at first), the design choices, which seemed odd begin to make moe sense and feel natural. Other things like the order of types/variables just need to overcome the muscle memory of doing it the C-style way. Embracing the "functions are first-class values" and "composition of inheritance" paradigms and using them effectively also helps break the old habits.
@Resolt2243
@Resolt2243 3 ай бұрын
Really looking forward to lots of quality Go content
@envitab
@envitab 2 ай бұрын
Great insights shared, thank you.
@Khari99
@Khari99 3 ай бұрын
I've been debating between switching from TS/JS to Rust, Go or Elixir and I decided to go with Elixir and I'm over the moon with it. I didn't think i'd like it as much as I have. Functional programming and the actor concurrency model has completely changed how I go about solving problems. It may not be as performant as Go or Rust but I write better structural code with it. Its understated how much of a quality of life improvement that has had that I was not expecting at all. There are also packages like Rustler that allows you to use Rust directly in Elixir if you need performance critical operations. I don't see myself leaving the language for quite some time.
@hakooplayplay3212
@hakooplayplay3212 3 ай бұрын
Prime, you actually one of the reasons iv switched from being node.js developer to Golang dev. Im happy and want to thank you!
@porfiriodev
@porfiriodev 3 ай бұрын
I'm kinda of migrating from PHP and Laravel to node because of a job and I'm really enjoying it. But I'm thinking about giving Go a try to see if I like it. The thing is, there are some details that scares me like pointers, bc I did not had a great time learning that on college lol. I wanna see if Go is all that great like everyone talk about
@hakooplayplay3212
@hakooplayplay3212 3 ай бұрын
@@porfiriodev pointers in go is simple, you don't need to think of them too much, because of garbage collector. Just understand what it is and when to use it and that's it
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Wow, thanks for the kind words! 😊 Glad to hear that my content has inspired you to switch to GoLang. Good luck with your new journey! 🚀
@BloodEyePact
@BloodEyePact 3 ай бұрын
I'm also more or less all-in on Go at this point, but to the point about enums, interfaces and enums are complimentary. Enums are great when when you need a fixed number of data options, but unbounded behavior options, while interfaces work when you have unbounded data, but a fixed number of behaviors. Interfaces are great for representing things like streams, which go does, but awful for representing deeply nested data structures, such as syntax trees. For this reason, I believe enums would actually be a valuable addition to Go. They added generics, so anything's possible.
@bear458ziif-s
@bear458ziif-s 3 ай бұрын
i'm still on the rust train but i totally get what you're coming from. when i use go it feels like it's lacking features. i know that can be a positive thing but i don't like that. for prototyping or very simple apps, i do like that, but when it comes to actually building something i don't. i also enjoy the "process" of writing rust code and thinking through problems in that way.
@gljames24
@gljames24 3 ай бұрын
I felt the same about snake case. I thought it was weird at first coming from Java, but it's so much more readable! Not as convinced about the parenthesis tho.
@WorldofMillenial
@WorldofMillenial 3 ай бұрын
When you write stuff in GO you are thinking about program you are doing, when you write in RUST you are thinking more about language and less what you want to achieve. This is dealbreaker (at least for me) when it comes to productivity.
@murtazarizvi605
@murtazarizvi605 3 ай бұрын
Similarly true for java and c# as well.
@baxiry.
@baxiry. 3 ай бұрын
100%
@creativecraving
@creativecraving 3 ай бұрын
I actually find Rust has less of that problem for me than Haskell. It's because the type system is slightly less expressive, at least, without macros. However, in C# I find myself spending too much time wondering what the simplest way to do something is, because it's so low-level that the simplest way to do something often looks complex. So it ends up being a different kind of type masturbation. I'm very happy with Rust so far. (I started using it this year.)
@GoddamnAxl
@GoddamnAxl 3 ай бұрын
Go’s lack of support for generics in receiver functions (or “methods”) makes making type-safe libraries so hard. Pretty much anything you want to make generic has to be top level functions it’s so counterintuitive. Receivers also can never have generic in the future because Go has implicit interfaces.
@ctrlmario
@ctrlmario 2 ай бұрын
It's awesome to see a big time creator going into one of my all time favorite languages. This has been the one piece of technology that I will 100% argue and defend until I retire.
@MuradShahsuvarov
@MuradShahsuvarov 3 ай бұрын
Go is the king🏆 Hope it keeps get updated and get better and better💫
@brumd21
@brumd21 3 ай бұрын
The thing I miss the MOST about Rust when moving to any other language is Rust's enums combined with match. Legendary features.
@razvangrigore322
@razvangrigore322 3 ай бұрын
Even PHP has that now.
@ursochurrasqueira
@ursochurrasqueira 3 ай бұрын
dart has it too
@stoffni
@stoffni 2 ай бұрын
@@razvangrigore322 PHP.. no joke, is actually quite nice now.
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Agreed! Rust's enums and match features are top-notch. 👍
@michelfeinstein
@michelfeinstein 3 ай бұрын
After I transitioned to Flutter I found weird how simple Dart is, now I love it.
@xotmatrix
@xotmatrix 3 ай бұрын
I did one big project in Golang and had a wonderful time. The suck started when using a graphics/sound library that had terrible performance. I kinda feel like giving it another go (hur-hur) after last year's C# excursion. I should give Rust another attempt but Golang is so much more comfy.
@ThePrimeTimeagen
@ThePrimeTimeagen 3 ай бұрын
Perhaps that's where you shouldn't use the language. It is a language designed for the web, writing servers, and clis. So using it outside of that bounds I'm not exactly sure where it fails
@amodo80
@amodo80 3 ай бұрын
​@@ThePrimeTimeagenebiten is a pretty nice game engine for go, though.
@Pabloparsil
@Pabloparsil 3 ай бұрын
Maybe try raylib with the go bindings?
@xotmatrix
@xotmatrix 3 ай бұрын
@@Pabloparsil Maybe! I've been following it for a while and want to try it. Do you have experience with it and Golang?
@xotmatrix
@xotmatrix 3 ай бұрын
@@amodo80 It's OK but it gave me a lot of pain actually. That's the library I was referring to. The shader system is kinda bad and dynamic audio synthesis is extremely laggy.
@jf3518
@jf3518 3 ай бұрын
You can do union type in Golang. Just use multiple return values, one for each type and check which one is not nil in the caller :D
@akshay-kumar-007
@akshay-kumar-007 3 ай бұрын
Tom loves Go for a reason
@orcofnbu
@orcofnbu 3 ай бұрын
I'm switching to go too. İ need something modern and well designed. But most of new languages are very strict and complicated to start or worse they force to use a specific framework. i like go's philosophy
@insidiousmaximus
@insidiousmaximus 20 күн бұрын
Ive been an AI and game dev for 6 years and this is so accurate. I learned to like each language the way it is. Even down to colour tbemes. I use jetbraind ides and python c# and javascript is what i use mainly and each one i have a different colour theme that somehow suits the langauge for some reason and im pedantic in each one respectively about its own syntax and styling. This just happened over time with using then all enough for different tasks.
@thedoctor5478
@thedoctor5478 3 ай бұрын
I'm gonna join you on the journey bro. Go is a solid language.
@GreywulfFoo
@GreywulfFoo 3 ай бұрын
A union type can be great for a closed set. For open (extensible) sets you need interfaces.
@charlesdarwin4351
@charlesdarwin4351 3 ай бұрын
I have been using Go at work for few years and I am trying to become proficient with Rust. I like to learn new things and Rust ticks that box perfectly. Which one I like best? I love them both.
@sunnypelletier3896
@sunnypelletier3896 3 ай бұрын
I just wish go would add a short way to handle null pointers. Something like `variable?.property`. I don't believe this goes against any of go's principles of simplicity, but it does make the language much faster to write and easier to read when you have a lot of possibly nulls to handle.
@nguyentanphat7754
@nguyentanphat7754 3 ай бұрын
For functional paradigm, Elixir is undoubtedly the choice, looking forward to your Elixir series xd
@AJewFR0
@AJewFR0 3 ай бұрын
Elixir is cool. I spent all of december and january using it 10-20hrs / week. i’m sold it’s the solution for small teams. Phoenix is Rails but better.
@creativecraving
@creativecraving 3 ай бұрын
Undoubtedly the best? Have you compared it to Lisp, Clojure, Haskell, Ocaml and Rust? I haven't tried Elixir yet, so I can't make a comparison myself.
@harrybarden5438
@harrybarden5438 3 ай бұрын
Elixir doesn’t have types, which are a must have for most people
@creativecraving
@creativecraving 3 ай бұрын
@@harrybarden5438 So everything's a string? No arrays, no numbers, no hash tables?
@tapasdatta6222
@tapasdatta6222 3 ай бұрын
Yeah Elixir is the best lang.
@aakarshan4644
@aakarshan4644 3 ай бұрын
Go got that dawg in him
@mdlsh
@mdlsh 3 ай бұрын
mocking in go (For unit tests) is often said to be a pain, is there a way to get around this? Am I testing in a inadvisable way if I need mocks?
@Dolanor
@Dolanor 3 ай бұрын
No, mocks in test in Go are GREAT! You can mock as little as what you need for what you want thanks to duck typing. Maybe you're using it wrong based on your previous experience on other language (I know I did for a while). If you can share more, I'd be happy to help.
@GetAnAndroid
@GetAnAndroid 3 ай бұрын
Funny you mention the if statements and snake case being a turn off for Rust initially. The one and only time I tried learning some Go a few years ago, I discovered the compiler forces opening braces to be on the same line. I use new line curly braces, and I hated Go forcing new line upon me so much I quit after the first exercise and haven't revisited the language since.
@shellderp
@shellderp 3 ай бұрын
this week I found out go doesn't even have immutability
@Feynt
@Feynt 4 күн бұрын
I definitely agree that there is no best language, there is just the best language for the situation. Sometimes it's a language you don't know yet. Insisting that there is only one good language is like saying welding is the only way to join two things, and if you can't weld those things you're using garbage materials. And then, a classical Japanese woodworker casually drops off a joined set of beams and says, "this survives a 6.0 earthquake in a 4 storey house" and walks away. No glue, no nails, no screws. Always be learning. Other languages exist because they solve a problem that existed when they were made. Sometimes they jump the shark and are brought where they shouldn't (looking at you, JavaScript), but there's still the core concept in mind, and you will know that it's the right idea to solve your problem when the time comes.
@FeistyFugu
@FeistyFugu 3 ай бұрын
I love this take. I write C# at work. How many times have I debated with colleagues whether such or such code should be an extension method, an abstract class or whatever else the language provides. By removing these options, Go shuts down all this useless chatter.
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Thanks, glad you enjoy! C writing is awesome 😊
@huge_letters
@huge_letters 3 ай бұрын
hey, what's the number one type system you've seen then?
@dickheadrecs
@dickheadrecs 3 ай бұрын
“Now i’m screwed because I’m unhappy in every language!” true enlightenment seen from walking the middle path 🌞 😂
@kenneth_romero
@kenneth_romero 3 ай бұрын
i had this same issue learning rust. tried to port a calculator app but damn did the syntax fuck me over. everything felt so messy compared to when i did it in c++ or java. just a skill issue, but is something jblow also said himself. gave up on rust for now since my main goal is to get a job using c or cpp, and i think zig would be a more enjoyable and skill transferable language to learn.
@__TClol__
@__TClol__ 3 ай бұрын
I started in TypeScript. I learned Go as a job requirement. I now write better TypeScript because of conventions Go introduced/enforced.
@Mr.Crow7
@Mr.Crow7 3 ай бұрын
Hey dude, I'm sure this will get lost in the comments, but I wanted to know your opinion on languages for cybersecurity. I was thinking Go or python. What are your thoughts. Thanks bud.
@bluecement
@bluecement 3 ай бұрын
Highly experienced Go developer here. You are on point.
@ThePrimeTimeagen
@ThePrimeTimeagen 3 ай бұрын
^^ glad to hear
@ducksies
@ducksies 3 ай бұрын
I find myself often writing really verbose workarounds for simple expressions in other languages. I think something that writes like Python with the speed of Go would be the best. For me, Python is the closest language to imperative paradigm pseudocode.
@creativecraving
@creativecraving 3 ай бұрын
Hmm. Could that mean you're not writing idiomatic Go code, yet? Translating from English can result in long, awkward phrases; and the same is true when translating into English, too
@aidanbrumsickle
@aidanbrumsickle 3 ай бұрын
It's funny how things don't feel verbose until you realize there's an alternative. When I was doing primarily Go for a while in 2017 - 2019, I really missed having either something like list comprehensions, or map/filter/reduce. And yet I had spent years happily writing for loops in C and pre-Streams Java.
@ducksies
@ducksies 3 ай бұрын
@@creativecravingfor example, take a simple ternary operation. x = 2 if thing else 3 in go this becomes x := 2 if thing { x = 3 } Lots of small things like that cause a great deal of mental friction while writing simple code
@DavidAlsh
@DavidAlsh 2 ай бұрын
Talk more about what you mean by overcoming Arc 👀 I wanna graduate too
@eldr-io
@eldr-io 2 ай бұрын
Go isn't my favourite language at all but it's honestly so easy to be productive in and the tooling is great so I'm finding myself enjoying it more and more!
@getthezeppout
@getthezeppout 3 ай бұрын
The more time I spend using Go the more I find interfaces really elegant. Refactors and testing become a breeze and they make the code feel super nimble
@landonyarrington7979
@landonyarrington7979 3 ай бұрын
There was no blue hair dye, Prime became a gopher naturally
@aveydotdev
@aveydotdev 3 ай бұрын
C and Go are my "Go" to for most of my projects
@godowskygodowsky1155
@godowskygodowsky1155 3 ай бұрын
goto golang;
@_hatred
@_hatred 3 ай бұрын
i have issues with go and especially with its type system. remapping json for different services is pain especially if one thing sends you json with nested arrays in it. i try to avoid reflection all the time because it just makes things much harder to maintain. interfaces are another issue, because majority of libraries just accept interface{} and god knows which interfaces even must be implemented. it's either skill issue or I'm trying to do what go wasn't created for.
@ignacior98
@ignacior98 3 ай бұрын
The Go fundamentals course in frontend masters is pretty good to get an idea of it
@BosonCollider
@BosonCollider 16 күн бұрын
9:05 This is where the ease of learning Go is amazing, because introducing it to your team is a relatively easy way to escape a worse language by starting work on a new project in Go. Stuck in the hell of using dynamic programming languages for large projects, or of using them for applications that need performance? Go is an easy sell and is so much nicer to work in.
@Akkadius
@Akkadius 3 ай бұрын
Guy finally is seeing the way
@nandans2506
@nandans2506 20 күн бұрын
I've been doing go for a while in production and it's been frankly good. There's a lot of missing things though
@blackhaze3856
@blackhaze3856 3 ай бұрын
Go it's a sweet way of understanding C.
@HumanoidTyphoon91
@HumanoidTyphoon91 3 ай бұрын
Commenter: Just use whichever language makes you happy Prime: TRIGGERED
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Haha, I see what you did there! 😂 Thanks for the feedback!
@Me-wi6ym
@Me-wi6ym 3 ай бұрын
I disagree slightly that using languages you really like gets you stuck using only that one or its associated paradigm. Personally, I've been having a TON of fun using Scala as my main language lately because I just like the way it feels (it has a lot of similar features that I love from Rust, but without the memory management), but when I need a more functional language, I tend to immediately reach for F# or Elixir (depending on what is needed for the project). If I want to practice OOP, I tend to use C#, Kotlin, or Ruby. Lower-level stuff gets Rust, C, or Go. I think you get the point... For me, using those different languages was a way *to break into* new paradigms, not get stuck in a single one. In fact, a lot of times I get really bored if I have to use the same language for a lot of projects in a row. I dunno, maybe I'm the outlier, but I just think it's neat to see how different languages handle similar (and also different) scenarios.
@SileySiley-dh5qz
@SileySiley-dh5qz 3 ай бұрын
"but when I need a more functional language, I tend to immediate reach for F#", clever guy! 😉
@Me-wi6ym
@Me-wi6ym 3 ай бұрын
I mean, Scala can handle functional programming just fine. My point was just that if what he was saying was entirely true, I would've just stuck with the one language over choosing several. Also, unrelated, thank you for bringing my attention to a typo that I missed!
@SileySiley-dh5qz
@SileySiley-dh5qz 3 ай бұрын
@@Me-wi6ym I meant that as you use F# you are clever guy. I didn't notice the typo. F# is a very good language. I started using it 2 months ago and migrated immediately a lot of my C# code to F#. C# is a little bit too verbose (Java heritage) and I like a lot the functional approach in coding. Having all the .NET ecosystem available when using F# , its great operability with C#, its great transpilers (Fable) make it a very good choice.
@complexity5545
@complexity5545 3 ай бұрын
Its really a expression of the individual. Prime's telling on himself and how his brain works. It is very transparent of him to expose himself like that. I've seen these brain types before. They lock on to an idea and go full ape. But prime has learned to tame that ape. The ape brain can self reflect real good now. Some programmers (or humans) hate switching paradigms or modes. Their brains literally don't have the idea hopping genius and correlation. It takes time for their brain to build up neurons that can grow at will.
@Me-wi6ym
@Me-wi6ym 3 ай бұрын
Ah I see. I assumed you were mocking the obvious choice of F# for functional programming since that's what it was designed for, my mistake. I personally love F# and it makes me kind of sad how little it actually gets used in the job market. I wish Prime would try it; the syntax is almost identical to Ocaml, at least for the important parts (if I'm remembering right, they handle OOP differently, but you don't use those languages for OOP anyway). I'll bet he would actually really like it
@calcs001
@calcs001 3 ай бұрын
Same thoughts. Def want to up my GoLang skill set this year.
@PeterBernardin
@PeterBernardin 3 ай бұрын
I was waiting for you to come around to Go! I'm a nerd like you and like powerful languages with all the bells and whistles. But when it comes down to real life, Go is simply more practical for most cases. It forces you to do things one way that's simple, stripping away what you don't really need. Go isn't perfect by any means. But for most projects, when you take ALL factors into consideration (including for example speed of development and readability), generally speaking Go will come out on top and the obvious choice. The fact that it's garbage collected also doesn't seem to have that much of an impact on performance for general use cases. It still performs in the same league as other low level statically typed languages.
@Quarkss
@Quarkss 14 күн бұрын
I’ve been using rust a bit a now. I used to be a big hater but it’s chill now.. the type system is nice, just works and casting is very forward. Also less buggy for sure, if the rust app builds it’ll probably run smoothly for the most part - opposed to C++ builds you run will come across unknown bugs you have to manually debug now. I do wish you could have no brackets for single line statements though, I’ve always found using brackets for single line statements nasty but now I’m force lol
@paper_cut9457
@paper_cut9457 3 ай бұрын
need a visual for that Rust chart mentioned at the beginning !
@sid__art_6614
@sid__art_6614 3 ай бұрын
i have only one question why are people choosing go or rust over c or cpp? What am I missing. i mean if c and cpp is fastest what else you need that go or rust are doing better.
@FraserChapman
@FraserChapman 3 ай бұрын
There are a number of reasons, granted they may be subjective, but they aren't trivial either. My main one is the concurrency model, namely goroutines and channels. For me this makes it a lot easier to write concurrent and parallel programs compared to using manual thread management in C or C++. The second main reason for me is the toolchain - for testing, profiling, debugging, and dependency management, etc - along with the go command and gofmt, etc. All in these promote a super consistent and efficient workflow. So whilst it is certainly true that C and C++ may be "fastest" and offer greater control in certain scenarios, Go provides a much better balance of performance, safety, productivity, and scalability.
@igoralmeida9136
@igoralmeida9136 3 ай бұрын
go is far easier than c++ and rust is for bragging rights
@hypnogri5457
@hypnogri5457 3 ай бұрын
speed isnt the most important factor depending on the situation
@sandeepvk
@sandeepvk 2 ай бұрын
This is so true. When I came from JS to python and saw no semicolons I hated python. I still do but I have learned to love python. I think I key is to learn to love and focus on the problem not the tool
@cariyaputta
@cariyaputta 3 ай бұрын
Smart choice.
@Sparagas
@Sparagas 3 ай бұрын
I'm 100% with you on this one
@dawizze1
@dawizze1 3 ай бұрын
New to golang. Can someone explain to me how to deal with the annoying issue of reading data from a DB and handling NULLs. Always get that annoying scan error when getting data from another source with my microservice in golang. Is there a short way to just cast null to nil or is it really taboo to do that.
@FraserChapman
@FraserChapman 3 ай бұрын
You have two options - use pointers like *int, *string, etc and if the value is NULL, the pointer will be nil - so you check "if x == nil" etc. Or use option types like sql.NullInt64, sql.NullString, etc then and check for validity "if x.Valid" etc. Both approaches have their pros and cons. Pointers are more "idiomatic" for simpler cases, while option types provide more explicit handling of NULL values. I prefer the option types myself as it feels more explicit.
@dawizze1
@dawizze1 3 ай бұрын
thanks so much for taking the time to share the knowledge. Appreciate it.@@FraserChapman
@igoralmeida9136
@igoralmeida9136 3 ай бұрын
whatever you do don't use pointers it will make your code disgusting to read
@Ziggity
@Ziggity 3 ай бұрын
Leading a migration of the microservices at my company from Python to Go to due to Python performance bottlenecks. Having a blast with it
@chuchung712
@chuchung712 3 ай бұрын
What domains Go really excels at compared to other languages? (I heard somebody said cli tools, what else?)
@brinckau
@brinckau 3 ай бұрын
According to Google's website: « Go was designed to address the problems faced in software development at Google [...] The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scalable. The language was designed by and for people who write-and read and debug and maintain-large software systems. » So, maybe... large software systems at Google?
@anon-fz2bo
@anon-fz2bo 3 ай бұрын
idk ab rust, i do know that sometimes it makes me depressed. i just fell into c# lately, i do use some concepts i 'borrowed' from time w rust in my c# implementations as of late + they are kinda similar with the exception of c# being easier (as the compiler is more lineint) imo.
@peterszarvas94
@peterszarvas94 3 ай бұрын
Proper enums and pattern matching would be great for Go
@WayTooUnderated
@WayTooUnderated 3 ай бұрын
As someone who writes GO code at work. I can finally feel validation Ty
@marcusrehn6915
@marcusrehn6915 3 ай бұрын
Rust forces you to care, and sometimes you just cant.
@Dolanor
@Dolanor 3 ай бұрын
That's what made me stop C++. It didn't force me to care (like the borrow checker in Rust), but if I didn't want some rubbish program that would poop itself because of rewriting some memory somewhere, I HAD TO care. But caring about memory didn't help me actually writing my program that I needed. Go makes me avoid so much of this pain.
@gokulakrishnanr8414
@gokulakrishnanr8414 2 ай бұрын
Understood! Here's a concise and human-sounding reply: Thanks for sharing your thoughts! 🤔 Yeah, Rust can be challenging at times, but it's true that it forces you to think more carefully about your code. 💡 Appreciate your input!
@Im_Ninooo
@Im_Ninooo 2 ай бұрын
it's interesting how we kinda swapped around the same time. I've always been a sort of Go fanboy but I've started learning Rust last week and I'm genuinely enjoying it.
@enriquesneffels3053
@enriquesneffels3053 3 ай бұрын
please, more Go videos! become TheGolangagen.
@luisalejandroquirogagomez1721
@luisalejandroquirogagomez1721 3 ай бұрын
I was once doing an app in Laravel with Svelte, and I didn't know how to set up Svelte with TypeScript. I love TS because of the type system, the hate against JS, and bla, bla, bla. So I said -Well, fk it, I'm going to rawdog JS for a while. Some time later, I managed to compile TS with Svelte, and I was happy; I would be able to use my beloved type system again! But... but then I realized that the modules and the logic that I had done with JS was much more simple, good and, overall, easier to understand. In TS I was worrying too much about generics, types, interfaces, trying to make traits, mixins (search that one out and tell me I'm not dumb). I think about that now... maybe I want a simpler language, with simpler tools to just get the job done, and not lose myself with all of that funcional, OOP jargon and stuff. Love you prime btw ❤
@ecampo123
@ecampo123 3 ай бұрын
Primeagen Go Arc, let’s Go!!!
@alexvass
@alexvass 3 ай бұрын
Thanks
How GO Was Created - Less Is More | Prime Reacts
28:15
ThePrimeTime
Рет қаралды 126 М.
Golang Tutorial 3 - Golang pointers explained, once and for all
13:49
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 134 МЛН
Follow @karina-kola please 🙏🥺
00:21
Andrey Grechka
Рет қаралды 22 МЛН
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 118 #shorts
00:30
The Best Golang Book | Prime Reacts
16:00
ThePrimeTime
Рет қаралды 100 М.
Anagram in JavaScript | JS Tips & Tricks - 002
45:08
Hemaanshu MMahajan
Рет қаралды 3
Go vs Rust: Which To Learn In 2024?
6:27
Kodaps Academy
Рет қаралды 129 М.
Why I Quit Netflix
7:11
ThePrimeagen
Рет қаралды 476 М.
Golang is OG?
5:16
Martin Baun
Рет қаралды 1,8 М.
Projects Every Programmer Should Try
16:58
ThePrimeTime
Рет қаралды 340 М.
Learn GO Fast: Full Tutorial
1:07:53
Alex Mux
Рет қаралды 277 М.
Complete Rewrite In Go!
14:44
ThePrimeTime
Рет қаралды 197 М.
The Ultimate Tier Programming Tier List | Prime Reacts
26:57
ThePrimeTime
Рет қаралды 290 М.
Обзор Pixel 8a
19:36
Rozetked
Рет қаралды 243 М.
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Рет қаралды 18 МЛН
Nokia 3310 versus Red Hot Ball
0:37
PressTube
Рет қаралды 1,5 МЛН
The power button can never be pressed!!
0:57
Maker Y
Рет қаралды 47 МЛН
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 431 М.