Why I Use Golang In 2024

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
why am I choosing go in 2024 over rust this is kind of the year that I'm going to be choosing go over and over and over again and so one of the big motivating factors have been for me that I've been doing rust for every little side project for every little thing I could do on Netflix and any sort of tool and all that uh and I've just been using it a lot for the last two years for pretty much everything uh I've graduated from the point of using Arcam mutex hashmaps and so I feel like once you overcome that hurdle on async Rust you're you're pretty good place and so I've just been doing it for quite some time and what I'm kind of realizing is that the type system is incredible it is the best type it's like the second best type system I have ever used but there's a little something that I I think is really important to kind of know about which is that when you have such expressivity such complex some such complex complexi livity of a language uh there's this phrase that that I that I've seen said which is if your language doesn't have the comple if if your language isn't complex your app will be complex something along those lines either the complexity is in your language or in your application I've heard some version of this statement somewhere and I I I I truly 100% believe that that is just a dumb statement at this point it is not true in the slightest what I found with rust is that you can make anything incredible anything absolutely out of this world when you really need to if you really wanted to you could do proc macros to really even like Drive things off of strs and it's actually it's just such a powerful language but what I end up doing is that I end up making so much time investment into making my code pretty and I feel like rust has this weird curve where if you're not invested into making your code pretty it's actually it becomes uh excessively hard so there's like this weird line where I find myself battling against rust or battling against trying to make it so that it's super convenient to write so every single struct I'm making I'm implementing so many different of these like basic traits to be able to do anything like display uh into and all that and so it's just like it keeps on you know I just keep on doing that with everything whereas with go I'm trying go out for the next one to two years as like my kind of go-to reach when I can have a decision on the language I'm using and the reason why I'm doing that is I want to explore like the literal opposite Paradigm of rust which is this language is extremely simple it's designed to be simple it is like that is the literal purpose of it is to be like Peak grug Peak Simplicity and so I really want to experience what is the difference of becoming really good at a language in which is extremely complex and very powerful all the way down to like exactly how things are happening like at a very low level versus maybe a little bit higher level of a language that's still really fast it fits my bill for being a fast enough language I don't feel like I'm just doing users dirty and so it's on the fast enough thing and has a great concurrency model is the Simplicity true and right now what I'm seeing in my kind of initial run through is that if your language doesn't have complexity it does not mean your app has to have complexity your app having complexity that is unmanageable is a skill issue more than it is anything else and so that me I can have at least this is kind of what I'm experiencing I'm having the Simplicity of not having to overthink things though I do miss stuff right I miss trade implementations there's things I really wish go had that I really would like you know what I mean there's things that I like this is not me saying go rust is bad okay rust is great it's just that I I end up like I I do too much type masturbation when it comes to to rust whereas I just don't do that with go I I it's cuz I really can't you know what I mean it's just not in the cards and and so it becomes a lot harder to to spend my time really thinking about types and due to it being so simple I end up approaching problems with a really simplistic kind of view and it ends up making things really simple if that makes sense hopefully that that that makes sense uh go became amazing once generics were introduced yeah this actually has greatly simplified their uh their standard library because now they have like a Max and all that so there you go that's that's kind of been my thought on Go versus rust and I've been really kind of stewing on this because I I here's here's one problem that I see with a lot of people is that they find something that feels good and they really like it and so then they think this is Peak programming right and you see this constantly with typescript typescript is the worst offender not because typescript is somehow there no knock against typescript typescript is the worst offender because people who are new to programming start there and so when they start using it and they see a different language they automatically discredit it because they try to think of it through the lens of typescript and that's like not how you should approach any programming language you should approach a you should approach a programming language of how do you how do you use it its way how do you write idiomatic version of that if that makes sense and so I I feel like a lot of times people don't take that that kind of paradigm shift to write it right like if you try to write rust like you write typescript you're going to be deeply unpleased if you write typescript like you're trying to write rust you're going to be it's just not going to be that much fun if you try to write go like either of them it's not going to be that much fun right you have to like really kind of think through each one of your decision you know what I mean and so that's how I think about it all I wish go at Union types see that's the thing is I'm actually find that they don't have Union types you solve Union types by using interfaces and what that what the reason why I do like that is that it also simplifies how I approach this because often Union types I use it as like a catch up for things that need to change and instead I can walk backwards and try to figure out why do I need this Union type and what can I do to change it you know what I mean like I there's there's definitely things that you can it's almost like I go through and go okay wait a second why am I doing this to begin with what's the simpler way what's the thing that I should be doing here it just tends to make me just think a little bit different if that if that makes sense and so it's been fun I've been I've been having a lot of fun uh you know programming the grug language versus is the the you know the the the 600 IQ floating guy language and so I've been having fun on both sides and so I like it so there you go that's why I'm using go in 2024 versus rust you got to you got to flex your brain you got to really flex your brain and try different ways to approach problems honestly I think that's that that will be your biggest hindrance to becoming a great engineer in the next 10 years is your inability to be able to shift paradigms around and so I do have one last Paradigm I still want to do which is going for a real functional Paradigm like moment and I think it's really good uh to be fair just use the language you enjoy no see I hate this I honestly I hate that take because the problem with that take is that you won't enjoy any other language if you try to make other languages a certain way you don't understand why something is good or bad until you use it the way you're supposed to this is what keeps people stuck in this like I only use say you know whatever I only use rust because that's all I'm using because they they only view problems through this one lens and then they just leave this entire thing on the table it's not about what you enjoy it's about learning paradigms to solve things and then to use that to kind of springboard yourself into into understanding it do you need to love another language I think you can learn to love everything you can learn like the thing is here's a good example of that just I know this is one more take when I started using rust one of my biggest gripes with my big my two biggest gripes with rust was one I didn't like that if statement didn't have parentheses around it and that it was in a forced snake case as opposed to camel case honestly those I I hated that I found those just to be super annoying cuz that's like how my brain thought I thought it I just thought it looked annoying right now after doing it for a while I've unfortunately flipped my stance now it's like okay if your if statement has parenthesis around it it's it's it's awful and if you're not using snake case you're a loser now it's just like now I'm SC rude cuz now I'm unhappy in every language now I'm using go which doesn't have parentheses but pretty much wants you to have camel case and I hate my life you know what I mean it's so funny how your view of things can just simply change by using it and trying to use it for the purpose that it's intended for instead of use the best tool for the job because that's like again someone can make a roller coaster in Excel and I can give you a reason why making a roller coaster in Excel is the right tool for the job I prefer to try to understand the domains in which a language is best used and use the language that I think is best for this domain if possible and sometimes unfortunately it's a people problem if I'm working with a bunch of people that only know typescript I'm probably using typescript I'll I'll say hey we're using JS doc losers but that's me you know you know what I mean we're using JS doc losers all right hey the name hey the name is the prime gen
Info
Channel: ThePrimeTime
Views: 183,344
Rating: undefined out of 5
Keywords: programming, software engineer, software engineering, developer, web design, web development, programmer humor
Id: 6gwF8mG3UUY
Channel Id: undefined
Length: 9min 21sec (561 seconds)
Published: Wed Feb 14 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.