Should You Learn Go In 2023

Поделиться
HTML-код
  • Опубликовано: 17 сен 2024

Комментарии • 204

  • @peterluxus7382
    @peterluxus7382 Год назад +56

    SHORT ANSWER: YES!

  • @yxtqwf
    @yxtqwf Год назад +78

    I don't think it's true that Go is time-consuming to write. Its static typing and compilation prevents the need to spend time debugging many errors that would otherwise appear during runtime in languages like JavaScript and Python; its syntax is also very concise and simple, and it's much faster to write than, say, C or Java. Also there's gofmt which helps mitigate the need for a style guide.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +10

      Yeah, gofmt is something I really like about go. The code looks exactly the same, no matter who wrote it.

    • @daveface69
      @daveface69 Год назад +3

      I generally agree but it depends on the situation, there are many cases where the risk and/or consequences of failure are small, or requirements are constantly changing, where the flexibility of dynamic typing are useful. That's compared to something like Python, though - it is certainly faster than most other static languages.

    • @yxtqwf
      @yxtqwf Год назад +4

      @@daveface69 True, dealing with arbitrary JSON with Go is quite bothersome

    • @jackdanyal4329
      @jackdanyal4329 Год назад +2

      it depends on what to write on Java. if you are going to write the API on plain Java, then ok, maybe, but in Java you have spring, micronaut, quarkus, etc. which can give you a completely fully established and workable API just with one command :) also, java code is much easier to read.

    • @yxtqwf
      @yxtqwf Год назад +1

      @@jackdanyal4329 with any language you can just import a framework or library that does everything for you! I don't see how that says anything about the speed it takes to write in a language

  • @RandomShowerThoughts
    @RandomShowerThoughts Год назад +16

    Yes, been a golang programmer for 3+ years, and made an app written in golang, it’s amazing

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Cool, congrats! What kind of app did you write? And why did you choose go?

    • @RandomShowerThoughts
      @RandomShowerThoughts Год назад +2

      @@ThomasLanghorst the backend is written in go, mobile portion in Flutter

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      Nice! Is the app live somewhere?

    • @telostia
      @telostia Год назад +1

      @@RandomShowerThoughts this is exactly what i am working on atm. Huge grpc flutter server streaming potential

    • @arjunkohli3192
      @arjunkohli3192 Год назад +1

      Hey bro Can I contact you ?
      I have been working as a flutter developer intern and freelancer since the past 2 years and I also have knowledge of web development (react /angular) and backend services written in node
      I want to learn and work on golang can you help me out or can I work on your project?

  • @davidkuda
    @davidkuda Год назад +10

    Hey Thomas! This has been a fun video to watch! you have impressive story telling and video editing skills, subscribed :)

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      Hey David, thank you so much! Hope my video had some useful information!

  • @shawneemepham7001
    @shawneemepham7001 Год назад +11

    Another great video! I am learning lots about Go.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Hey Shawnee. Always nice to hear from you. Thank you so much for all your support!

  • @creativecompilations2662
    @creativecompilations2662 Год назад +7

    I am new to Go. We are developing a chat app on Vue and Go. I didnt do the GO coding as existing guy left, I am learning to replace him.
    The learning curve with go channels and routines is very difficult for me. Also so many frameworks. Really confusing after u learn the basics.
    This is my personal opinion.

    • @edboss36
      @edboss36 Год назад

      How did you get a job? I am a student who knows python and a bit of Java

    • @creativecompilations2662
      @creativecompilations2662 Год назад

      @@edboss36 I didnt get a new job, in my exisitng project we are developing our backend using GO I meant.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Yes, goroutines are one of the most complex topics in go. But also, one of its core strengths. What language did you code in before go?

    • @creativecompilations2662
      @creativecompilations2662 Год назад +1

      @@ThomasLanghorst Power Builder(like dotnet windows apps). and little bit of javascript.

  • @kayakMike1000
    @kayakMike1000 Год назад +7

    Languages designed for personal use usually work extremely well, languages designed for everyone to use... Well, they are kinda sucky...

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      What languages do you know that are designed for personal use?

    • @kayakMike1000
      @kayakMike1000 Год назад +3

      @@ThomasLanghorst C was invented to help write Unix, I think python was a personal project for Van Rossum, probably because perl is an icky language. Wasn't Rust invented specifically for mozilla internals?

  • @vasiapupkin6446
    @vasiapupkin6446 Год назад +3

    Error checking in Go is very elegant. If you don't get it, it is okay. But didn't complain on things you don't understand.

  • @testobjektx1242
    @testobjektx1242 Год назад +30

    Small addition: To my knowledge, no runtime is needed because it is bundled in with your code. That leads to slightly bigger binaries than some might expect.
    Not complaining... just a side node. LG :)

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +5

      To my knowledge, go does get compiled to machine code. Which is why it does not need any runtime. But tbh, I have to double check. So, I might be wrong on this.
      But thanks for the comment! Always nice to have people comment on videos with useful information.

    • @neuzen
      @neuzen Год назад +15

      @@ThomasLanghorst Go actually has garbage collector so it needs runtime which included in binary.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +8

      Thanks!!! This is what I love about this community! People are genuinely helpful and try to help others! But it seems like I still have a lot to learn 😅

    • @runaway09
      @runaway09 Год назад

      0Q

    • @avastorneretal
      @avastorneretal Год назад +2

      @@ThomasLanghorst wtf, yours channel is about Go and you don't even know that it's has a Garbage Collector and that it's bundled with the executables?
      Did you even read the documentation?

  • @beethovennine
    @beethovennine Год назад +2

    Didn't know that Negreanu was also a software developer!! PS: Great video, man!

  • @akhil_sai
    @akhil_sai Год назад +2

    I learned golang in 2020 and got a job change to good product company with a hike around 150% in 2022 .. people with good knowledge of go concurrency is are in demand..

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      Nice, congratulations!

    • @Jayanta135
      @Jayanta135 Год назад +1

      In which domain you use go

    • @akhil_sai
      @akhil_sai Год назад +1

      telecom , networking domain, here Golang is used for micro services when high performance is needed, especially gRPC services are written in golang, data synchronization, backup of huge amount of data, inter services communication

  • @kamilziemian995
    @kamilziemian995 Год назад +9

    I want to learn Go at good level in 2023, but man. When I try to read Go Specification I only understand half of each paragraph.

    • @rumpeldrump
      @rumpeldrump Год назад +8

      Why read the specification, not the tutorial? If I learn car driving, I didn't study the blueprints.

    • @kamilziemian995
      @kamilziemian995 Год назад +3

      @@rumpeldrump Because at the end of "A Tour of Go" you are instructed "Go Specification is very readable and you should know it" (something like that). And every Gopher that I know, says "You should read Go Spec, it isn't hard".

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      I wouldn't start by reading the specs. I would start by building projects. And whenever you are stuck and do not know how exactly something works. That's usually the point where I read specs or docs.

    • @kamilziemian995
      @kamilziemian995 Год назад +1

      @@ThomasLanghorst I already started. I just came to the moment when I post questions on golang-nuts and in every second answer I read "BTW, you should read spec".
      Also, I hope to contribute to one project and, you guest it, reading Spec is on the TODO list, before you start a working on it.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      I'm sure that you will get there. Starting to learn a language is always tough. But once you figured out the gist, you will be well rewarded.
      If you don't mind me asking. For how long are you coding?

  • @bobbyc3076
    @bobbyc3076 Год назад +9

    I have no coding experience and I am trying to master one language which will be GOLANG. Do you think I can land an entry level tech job with just learning GOLANG? I would appreciate your opinion. Thanks 😊

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      Absolutely! After coding a few projects, you should definitely be able to land an entry level job. Even if the job is for, let's say python or Java...after really understanding the core coding concepts in go, you should be able to learn these other languages fairly easily.
      Btw, have you started to code small projects yet?

    • @bobbyc3076
      @bobbyc3076 Год назад +2

      @@ThomasLanghorst Thank you for the advice and sharing your real life experience senpai 🙏 I have tried html and css but I don't enjoy front-end at all and want something structured like backend. I'm changing Carreers and want to start ASAP and will put in the WORK, which is why I'm trying to see if only learning golang could possibly land me an entry job without Java or python.... I hope I don't sound disrespectful or anything like that.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +4

      Hey man. Why did you choose go? Why not go with more popular languages like python, Java or C++? If your goal is to find a job asap, then picking more popular languages would make sense, wouldn't it?

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      And thanks for calling my senpai 😂😂😂

    • @kayakMike1000
      @kayakMike1000 Год назад +5

      @@bobbyc3076 once you learn one language, other languages aren't that difficult. Also, to truely master programming you must learn to READ the code. Also, the way your data structured is really important, algorithms are secondary. I think I learned the most about computer science by looking at low level stuff, like microcontroller assembly, fascinating state machines.

  • @GreyDeathVaccine
    @GreyDeathVaccine Год назад +13

    How can one not learn GO? Such a great mascot :D

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      So true!

    • @replikvltyoutube3727
      @replikvltyoutube3727 Год назад +1

      Stolen from Glenda in Plan 9

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      Wow, that's interesting. Thanks for sharing. I cannot tell if it's actually stolen or not. But it looks pretty similar tbh.

    • @plewy
      @plewy Год назад

      @@replikvltyoutube3727 Plan 9 bunny and the Go Gopher were created by the same artist

  • @uxaines8910
    @uxaines8910 Год назад +6

    As I noticed mostly experienced developers use golang

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      🤔🤔🤔 Interesting thought. I have a couple of "junior"-ish devs I know that use go. But most of the go devs I know indeed have 7+ years of experience.

  • @Mustafa-099
    @Mustafa-099 Год назад +4

    I feel like I have stumbled upon a rare gold mine of a youtube channel!!
    Very fun yet informative content you have got here Thomas :D

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      Thank you so much! Really appreciated! I will try my best to keep it up 💪💪💪

    • @Mustafa-099
      @Mustafa-099 Год назад +1

      @@ThomasLanghorst I have got a video recommendation, you can make a video based the top most useful and in demand programming languages, frameworks etc that we need to learn in terms of the current market :)

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Thanks! I'll put it on my list.

  • @danmartin1621
    @danmartin1621 Год назад +6

    I am learning Go and Rust in 2023.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Nice! I wish you the best of luck! Why two languages? Will you try to master both, or are you just trying them out?

    • @danmartin1621
      @danmartin1621 Год назад +1

      @@ThomasLanghorst Working to "master" Go first and then on to Rust. Lots of opportunities with both of those languages!

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      I have to admit: I don't know about Rust, but the future for go is looking bright!

    • @helbertgascon
      @helbertgascon Год назад

      I've been doing the same right now. It's just I learned Rust first then Go right now. For some reason though I am finding learning Go hard. I'm currently stuck on interfaces & concurrency. However I literally had it easy in Rust before.
      Could it be that my stock knowledge in Rust is conflicting with the information I'm learning in Go?
      I wanted to learn Go as I deem Rust's frameworks too immature yet for production.

  • @eduardojavier4155
    @eduardojavier4155 Год назад +11

    simply incredible
    for some reason, Go always caught my attention, idk if it's because of his pet

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      yeah, the gopher is pretty cute, isn't it. Thanks for the comment bro. Much appreciated!

    • @avg_user-dd2yb
      @avg_user-dd2yb Год назад

      Don't fall for that cute mascoot it's a trap lol

  • @edboss36
    @edboss36 Год назад +8

    I've always wanted to learn Go, right now I know python and Java but I think Java is better for junior software devs

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +3

      Are you going to learn go in the future? If you know python and Java, picking up go is pretty easy!

    • @edboss36
      @edboss36 Год назад +2

      @@ThomasLanghorst yes I might as well learn it on the side right?

  • @jabuci
    @jabuci Год назад +4

    TL;DR: yes

  • @saeedgnu
    @saeedgnu Год назад +1

    How do you define OOP that relies on inheritance? You should probably get newer perspectives on that.

  • @rastaofcode4372
    @rastaofcode4372 Год назад +4

    I love Go so much I use it for both frontend and backend at the same time

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      How do you use it in the frontend? For static websites?

    • @rastaofcode4372
      @rastaofcode4372 Год назад +2

      @@ThomasLanghorst yes for static with html/template

  • @akhil_sai
    @akhil_sai Год назад +4

    my mind was blown when i know Docker , Kubernetes , Grafana , Prometheus etc are coded in Golang

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      yeah, almost all of the CNCF is coded with go. Think about that for a second :D

  • @judostuff9233
    @judostuff9233 Год назад

    Bro, I just wanted to know if it's a good idea to learn go, tell your opinion in the beginning. It's the most annoying thing ever to wait the entire video for an answer to a yes or no question.

  • @rahulagarwal968
    @rahulagarwal968 Год назад +1

    For backend for a Flutter mobile application, Will you prefer Nodejs or Go ?

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      It is a tough question to answer, because there are so many variables involved.
      Let's assume you are proficient in Go and NodeJS, then I would take Go.

    • @rahulagarwal968
      @rahulagarwal968 Год назад

      @@ThomasLanghorst Thank you !

  • @AleksandrPodyachev
    @AleksandrPodyachev 10 месяцев назад +1

    The two big things holding Go back for me is that it is very involved to import code from a subfolder or another folder besides the current one, and the attitude of the Go developers that think everything should be written from scratch

  • @NtsakoShilubane
    @NtsakoShilubane Год назад

    Would you recommend Go for someone who is new and wants to learn programming?

  • @Sarcastic-Insann
    @Sarcastic-Insann Год назад +2

    Me learning Go after java, c++ and c# it doesn't have lengthy syntax 😊

  • @remcogreve7982
    @remcogreve7982 8 месяцев назад

    I don’t think you should. You should think about what you want to use it for. Go is for server software. Not if you want to make a game, a language, anything with AI, make a desktop gui app or an app for your phone. As a language it is also not that interesting.

  • @FrenchPirate83
    @FrenchPirate83 Год назад +4

    2:35 "It doesn't support inheritance, so by definition it's not an OO language" 🤔

    • @rictr7421
      @rictr7421 Год назад +1

      Right, OO is really about polymorphism.

  • @arseniymarkov5502
    @arseniymarkov5502 Год назад +2

    many thanks !

  • @Stopinvadingmyhardware
    @Stopinvadingmyhardware Год назад +1

    not touching it
    not sure why everyone thinks people that work in distrubuted systms use this pile of crap language. the only place this language could be used, is on a system with layers of other configurations between it and the rest of the internet.
    Go requires the same type of security model as MS Windows, there are oo manythings that make it not worth looking at. everything Go has is also available in other languages for the same reasons that Go is selected.
    writing custom libraries is a pain in the bjtt most of the time, and you have o adlib lot of the functions for more complex things.
    Rust can loterally do everythingGo can, and better

  • @dxcqcv
    @dxcqcv Год назад +2

    The bgm is so cool

  • @ashuvssut
    @ashuvssut Год назад +2

    the video has been radiating with click-baity vibes🤣

  • @aus10d
    @aus10d Год назад +1

    enjoyed the video

  • @bardus_hobus
    @bardus_hobus Год назад +2

    Not a fan of your clickbait thumbnail

  • @IrrationalNumb3rs
    @IrrationalNumb3rs Год назад

    I down voted because of the click-bait graphic on the video "Go is dead" - Please don't do that

  • @quarteratom
    @quarteratom 11 месяцев назад

    Go disallowed Allman braces in all code, just because they don't like Allman braces.

  • @heldim92
    @heldim92 Год назад +3

    Hi! Could you go more into the difference between RPC/API and Web Services/RESTFUL APIs/, as shown on the charts?

    • @yxtqwf
      @yxtqwf Год назад +2

      If you look at the chart itself at 4:23, API/RPC services is defined as those not returning HTML and web services are defined as those that do.

    • @heldim92
      @heldim92 Год назад +1

      @@yxtqwf yeah, I had this doubt because, at 4:27, he mentions web development as one of the main use cases (which is indeed in agreement with the chart), yet it represents only 10%...I found it too little of a percentage, therefore the question. But thanks for clarifying

    • @yxtqwf
      @yxtqwf Год назад +2

      @@heldim92 I guess RPC/API services can be considered web development as well

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +2

      google is bad is right. Usually a backend doesn't do much without a frontend. So to me, if you write API/RPC service, which are consumed by a frontend, you still do web development.
      Thanks google is bad for answering the question!

    • @heldim92
      @heldim92 Год назад +1

      @@ThomasLanghorst @google is bad, it makes sense! Thank you for the patience, guys!

  • @mixwood1130
    @mixwood1130 Год назад +2

    As long as there's kubernetes Golang will be there.

  • @trendy2826
    @trendy2826 Год назад +1

    1:00 Go design

  • @sumithasalahudeen9453
    @sumithasalahudeen9453 Год назад +1

    In the context of mass lay offs from big tech companies, how would you revise your prediction?

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      Hey man, thanks for the comment. That is actually a VERY interesting question! To be honest though, I don't think that Go (or any programming language) is part of the problem. (I might be wrong here...)
      But I guess I still consider Go to be an absolutely fine language to learn.

    • @sumithasalahudeen9453
      @sumithasalahudeen9453 Год назад

      @@ThomasLanghorst Thank you!

  • @EzequielRegaldo
    @EzequielRegaldo Год назад +1

    We are replacing Go stuff for Rust and C#. Lack of libs, frameworks and stuff is hard to maintain, even more than Rust code (Rust still inmature for serious projects)

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +1

      What is it that you are building?

    • @EzequielRegaldo
      @EzequielRegaldo Год назад +2

      @@ThomasLanghorst apis, sockets, IoT devices, drivers, and the last thing is high scalable and high computing demanding services for some big techs :D we need a lang what do the job "fast", safe and for long time without changes or whatever :P

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      Wow, this sounds like a nice place to work!

    • @EzequielRegaldo
      @EzequielRegaldo Год назад +1

      @@ThomasLanghorst its common job

    • @benny-shen
      @benny-shen Год назад

      So, is go been replaced by rust and c#?

  • @palgun.
    @palgun. Год назад

    What r your thoughts on zig language?

  • @niccolomedici4482
    @niccolomedici4482 Год назад

    5:00 So, "Ruby on rails" isn't far behind Go in demand?

  • @stanleychukwu7424
    @stanleychukwu7424 Год назад +1

    thank you!

  • @vivekpaliwal1876
    @vivekpaliwal1876 11 месяцев назад

    Futur is AI...how Go language can help on that?

  • @CheefCoach
    @CheefCoach Год назад

    Yes you should learn GO, because it will take few weeks at most.

  • @Little-bird-told-me
    @Little-bird-told-me Год назад

    i am surprised c++ is so low in salary median list

  • @arturorosas2170
    @arturorosas2170 Год назад

    What a click bait of a thumbnail...
    Excelent info btw

  • @JohnDoe-ji1zv
    @JohnDoe-ji1zv Год назад +1

    Golang is more than alive

  • @AcidiFy574
    @AcidiFy574 Год назад

    What about Rust ?

  • @vijayasarathi4906
    @vijayasarathi4906 Год назад +1

    Upload se golang projects 🙂

  • @SS-in2kr
    @SS-in2kr Год назад +1

    Clickbait

  • @furkanturkal8414
    @furkanturkal8414 Год назад

    Nice clickbait thumbnail. Didn’t watch the video. Go is too young to dead.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      That's unfortunate. I think I make a really compelling argument for go. But thanks for the feedback.

  • @prashantkumar2963
    @prashantkumar2963 11 месяцев назад

    Geth is in go

  • @matthewkaras7722
    @matthewkaras7722 Год назад +1

    I propose that the golang name be changed to iferrnil ===> infernal ===> you're in programming hell.

  • @bexplosion
    @bexplosion Год назад

    For me V is better than Go

  • @_slier
    @_slier Год назад

    tldr; no .. just google how moronic golang is

  • @gustavojoaquin_arch
    @gustavojoaquin_arch 10 месяцев назад

    Rust>>>>>>>go

  • @jenreiss3107
    @jenreiss3107 Год назад +1

    watched this video at 3/4 speed. too fast by default

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад

      That's valuable feedback! Thank you so much for the comment!

  • @muzafferckay2609
    @muzafferckay2609 Год назад +1

    I wont until they realese decorator

  • @gokukakarot6323
    @gokukakarot6323 Месяц назад

    Your channel looks dead

  • @Simon-xi8tb
    @Simon-xi8tb Год назад +3

    Go is garbage, but if this is what people want, ok, we will use go.

    • @ThomasLanghorst
      @ThomasLanghorst  Год назад +4

      Thanks for the comment. I mean...when picking programming languages, there is always personal preference involved. There is no one size fits all. I really appreciate your opinion about go. I am still convinced though that it is a good language worth learning.
      One thing I like about your comment is: "if this is what people want". I feel like...as developers, we sometimes need to code in whatever language is necessary to get the job done. Even when we don't like the language at all.

    • @RandomShowerThoughts
      @RandomShowerThoughts Год назад +9

      I disagree I think Go is a great programming language which has direct support for things such as concurrency

    • @Simon-xi8tb
      @Simon-xi8tb Год назад +3

      @@RandomShowerThoughts Except that it ignored the last 30 years of PLT research. Lisp was invented 1958 and is light years ahead of Go when it comes to expressiveness and consistency. I don't understand why google didn't just make Dart compile to machine code and have that instead of Go. Or some subset of Dart sans OOP features. Baked in CSP concurrency model is nice, but you can have that in C and other languages too, there are CSP libs.

    • @Alphasig336
      @Alphasig336 Год назад +4

      Go can do light speed processing against lists. I run processing against 6 Billion object list in 5 minutes. The same processing in python takes HOURS!

    • @terrormapu
      @terrormapu Год назад +4

      Lisp fanboys still exist..

  • @monishbhargav117
    @monishbhargav117 Год назад

    Clickbait