Why Learn Go?

Поділитися
Вставка
  • Опубліковано 11 вер 2012
  • Rob Pike talks about why we need Go and how it is a next-generation language for today's modern computer environment
  • Наука та технологія

КОМЕНТАРІ • 90

  • @YandryPozo
    @YandryPozo 7 років тому +49

    and now 4 years later they're keeping the same promise and with a better compiler, long live to Go !!

  • @fungussa
    @fungussa 11 років тому +9

    As a seasoned software engineer, who has primarily used C++ for development, I see Go as a profound improvement in software creation. Rarely has a new development technology interested me so much. I am hooked!

  • @user-ov5nd1fb7s
    @user-ov5nd1fb7s 6 років тому +15

    Rob is a genius and a funny guy at that.
    Would be fun to hang out with him.

  • @NickleJ
    @NickleJ 9 років тому +6

    I see Go becoming more and more useful as the current computing trends progress, and it may well have a big advantage being familiar to C/Java language programmers and backed by google and being open source. And it has Ken Thompson's name on it, so you _know_ its good!

  • @Shehan.Beeharie
    @Shehan.Beeharie 8 років тому +145

    1:10 - Did anyone else hear someone say "Seriously?" in the background?

  • @ajamucamphor
    @ajamucamphor 11 років тому +1

    Great questions by Rachel.

  • @rbrickproductions123
    @rbrickproductions123 9 років тому +43

    Go is simply amazing. Easy( at least for me) to learn if you are coming from another language, eg C++ or Java, although there are a bit of learning curves, but easy to overcome. And he is not lying about the compiler speed...it is insane. I am enjoying Go so much haha

    • @RealEyes24
      @RealEyes24 8 років тому

      +rbrick (Ryan) how do i make a server in C with a data base with teachers and students with grades ? I heard that the code for this is out there, on golang.org, but I can't find it...can you help me ?

    • @ChristofferRonaasen
      @ChristofferRonaasen 8 років тому

      You're asking about C, not Go...

    • @asdfkjhlk34
      @asdfkjhlk34 7 років тому

      Take an online course on C or a better language for this, and a class on servers/databases. Maybe take harvard's CS50

  • @nomainreason
    @nomainreason 11 років тому

    sounds nice.. will look into it.

  • @jamesl5596
    @jamesl5596 4 роки тому +4

    and now 10 years later they're keeping the same promise, with a better compile time! Looking forward to Go 1.14 on Feb 2020.
    46

  • @arnarfreyrkristinsson8650
    @arnarfreyrkristinsson8650 5 років тому

    Sounds good, maybe I try it 😀

  • @RooTerKyberian
    @RooTerKyberian 11 років тому

    it is like this in every video, even those with screencasts/presentations ...

  • @MyStuff774
    @MyStuff774 10 років тому +10

    I've learned Go and I like it a lot, it feels very modern compared to other compiled languages. I wish it had Generics though, and better support for functional programming.

    • @RealEyes24
      @RealEyes24 8 років тому

      +Sushi how do i make a server in C with a data base with teachers and students with grades ? I heard that the code for this is out there, on golang.org, but I can't find it...can you help me ?

    • @rotcataergeht
      @rotcataergeht 7 років тому

      can u use go to build mobile apps?

    • @Alex-cn9ot
      @Alex-cn9ot 7 років тому +1

      Theoretically it has compilers for arm, then YES, you can compile go code as "android JNI" and use it into android environment.

    • @mgjulesdev
      @mgjulesdev 3 роки тому +1

      I hope you are still around. Generics are coming soon :party:

    • @raianmr2843
      @raianmr2843 2 роки тому

      For anyone reading this in 2022+: Go now has decent support for generics.

  • @ThomasTrask
    @ThomasTrask 11 років тому +4

    Anyone interested in broadening their programming breadth. Or anyone who's interested in doing distributed programming. Or anyone interested in learning something new.

  • @mvrak
    @mvrak 11 років тому

    1) Yes
    2) Everyone
    There are some tasks especially well suited for Go.. It is worth it for a professional programmer to be at least aware of those strengths such that Go can be used when it has a clear advantage.

  • @azizas9366
    @azizas9366 5 років тому +2

    1:13 LOL Those are good reasons. I think

  • @ChunkyChest
    @ChunkyChest 5 років тому +1

    O'Reilly
    has taught me so much tytyty

  • @RogerPack
    @RogerPack 11 років тому +2

    at least Go is seemingly built by people that end up using it, so that should make it catered toward developers, not catered toward compiler developers, at least I hope...

  • @nishankbani3257
    @nishankbani3257 6 років тому +1

    Crisp, fast replies..

  • @pratikthorat3480
    @pratikthorat3480 5 років тому +1

    I've started learning Go two days ago so i don't know much but, the speed is insane. I've come from C/C++ background. And i must say Go is much faster

  • @amolasg
    @amolasg 4 роки тому +2

    Who's watching at 2020

  • @andreborgesuhlrich631
    @andreborgesuhlrich631 6 років тому

    Cool

  • @oracoespoderosas4828
    @oracoespoderosas4828 6 років тому

    Golang is amazing

  • @strofikornego9408
    @strofikornego9408 8 років тому +4

    C++17 also getting efficient imports

    • @mkouprianov
      @mkouprianov 7 років тому +3

      C++21 you meant

    • @harindaka
      @harindaka 6 років тому

      Christ so it took C++ 17 versions to figure that out?

    • @broken_abi6973
      @broken_abi6973 5 років тому +1

      @@harindaka it is just much harder to implement modules while keeping backward c compatibility

    • @foljs5858
      @foljs5858 5 років тому +1

      @@harindaka Well, it has figured out dozens of things Go has still not figured out...

    • @raianmr2843
      @raianmr2843 2 роки тому

      @@harindaka Not "figure out". You seem to have a flawed understanding of how these technologies work. Innovative and modern languages like Go and Rust aren't actually new, these ideas have been part of popular discourse for literally decades. Unless you have a super proprietary closed source language and ecosystem, there're very few reasons to think the community of maintainers is just too "dum" to "get things done".
      Maintaining a language is an incredibly complicated and demanding process, especially when you're trying to offer the best compatibility with C code out there.

  • @m0therfukinninja
    @m0therfukinninja 11 років тому

    So the code you wrote runs exactly the same no matter what platform you run it on

    • @Alex-cn9ot
      @Alex-cn9ot 7 років тому

      I think that NO, it will be the same problem as other "platform independent" languages that you have to implement function for almost each platforms because these depends of some modules are made to interact with some SO libraries.....
      Is the same promise of all the "multiplaform" languages.

    • @BitPicante
      @BitPicante 5 років тому +2

      yes, as long as you don't make your own code depend on a platform

  • @MrNightLifeLover
    @MrNightLifeLover 11 років тому +1

    Humm I never understood why we needed a virtual machine in the first place.

    • @fylmr
      @fylmr 7 років тому +6

      Because VM makes it easier to run your program on any OS, be it Windows, Mac, Android, Linux, without any changes in code.

    • @Elite7555
      @Elite7555 5 років тому +1

      Make no mistake, VMs have their advantages. They allow for introperspection or realtime code update. Or they can modify the runtime behaviour. VMs can make heap allocations very, very cheap. That is why some of the fastest JSON serializers are written in Java. But also operations like String manipulation or reallocating an ArrayList (aka Vector) are very efficient. Also a VM can do some very crazy / risky kind of optimizations that are platform specific. AOT compilers always have to be conservative and cannot do runtime analysis like a JIT can. So a JIT could do speculative optimization or try to reduce cache misses.

    • @raianmr2843
      @raianmr2843 2 роки тому

      The "run everywhere" argument Java popularized is actually extremely overrated and completely out of date in today's landscape. E.g., truly cross-platform technologies like Unity and Flutter don't ship bytecode. And the second big name to shamelessly follow Java, C# has become exceedingly AOT-focused in recent years. If you're working in the cloud, there isn't a single reason to manage your own VMs at a language level, you'll only be slowing down your application with unnecessary abstraction.
      That said, the real, the actual reason why and where VMs are helpful is rarely mentioned by proponents of the VM-apocalypse. That being, for languages with a huuuge runtime, it makes sense to carry around only the bytecode instead of the entire runtime packed with it as that'd cause size bloat of significant magnitudes. This is why VMs truly shine in some scenarios like, JS in the Web, Python in Notebooks, etc. But again, like I said before, the industry is beginning to detox from this 'anti-pattern' of programming language design in recent years. Super high level languages like Julia prove how a 'mixed' solution works fine if not better. And case in point, Go proves how a good language with a good compiler can process millions of lines of code by the time a VM has finished warming up for a simple hello-world program.

  • @dawievanemmenes1124
    @dawievanemmenes1124 6 років тому +1

    I cant keep up anymore.

    • @BrandNewByxor
      @BrandNewByxor 6 років тому

      Golang is worth keeping up. I learned it a few days ago.

  • @omniambience
    @omniambience 11 років тому

    Prepare for the inevitable "Go 2 considered harmful" comments :-) ... Seriously, Go looks nice.

  • @PhoenixOpenProject
    @PhoenixOpenProject 11 років тому +1

    C is proven longevity my friend, and will continue to be around, IMO.

  • @gmayer66
    @gmayer66 7 років тому +7

    Go 2 considered harmful! ;-)

  • @theyayster
    @theyayster 11 років тому +18

    The amount of wasted space on the video is disconcerting.

  • @m0therfukinninja
    @m0therfukinninja 11 років тому +2

    Google Go seems, in my opinion to be language that has the built in features of a scripting language with the perk of having the inherent efficiency of a compiled language. There are some features left out that I find kind of disappointing. Like not being able to pass variables by reference;

    • @Mike-iz9kh
      @Mike-iz9kh 4 роки тому +1

      How do you mean? You can definitely pass variables by reference in Go.

    • @raianmr2843
      @raianmr2843 2 роки тому +1

      @@Mike-iz9kh He was probably talking about the syntactic suger C++ has where there's a distinction between "pass by reference" and "pass by pointer".
      I come from C++ too and initially I had the same reaction but now I feel that considering how Go tries to be a more explicit language, it's totally justified how they don't have C++ style "pass by reference".

  • @asdfghjkl1770
    @asdfghjkl1770 5 років тому +2

    Should I learn Go in 2019? I already know Python, C and little bit of JavaScript, Java and C .
    By the way, I am 15 years old.

    • @LaPingvino
      @LaPingvino 5 років тому +1

      I definitely recommend it.

  • @Downloads000
    @Downloads000 11 років тому +4

    "Java compiles to shIT"

  • @laapsaap
    @laapsaap 9 років тому +8

    O'reilly isnt really convincing with 0 Golang books in its inventory. So talk to mahh handdd.

    • @antquinonez
      @antquinonez 7 років тому

      2017, here. Still nothing. Well, one 60 page brochure. That doesn't count.

    • @antquinonez
      @antquinonez 7 років тому

      Ray Koren Oreilly has no commitment to Go.

  • @yourgflikesit
    @yourgflikesit 8 років тому +3

    Swift

  • @imadudin2489
    @imadudin2489 6 років тому +1

    go built from?
    c++ or c.....

    • @BrandNewByxor
      @BrandNewByxor 6 років тому +3

      Here is the current usage of languages in the go repository:
      Go 86.0%
      Assembly 8.3%
      HTML 5.1%
      C 0.4%
      Shell 0.1%
      Perl 0.1%

    • @maxmad6477
      @maxmad6477 4 роки тому +1

      After Go1.4 it can be bootstrapped by Go now.

  • @asdfghjkl1770
    @asdfghjkl1770 5 років тому

    2019 ?

  • @ringzero9757
    @ringzero9757 7 років тому +2

    I find go very messy and disorganized. The dependency model is not clean or simple, and has caused me many a daylong headache. It basically took C++, and took away all the things that make C++ organized. We're left with a language which is good for nothing other than pipelines. It's a fun toy, but IMO good for nothing other than prototyping.

    • @BikesNotDrugs
      @BikesNotDrugs 6 років тому +2

      Looserof7 you’re arguing against an opinion...?

    • @BrandNewByxor
      @BrandNewByxor 6 років тому +3

      I dunno, I find it way too difficult to set up and compile C++ projects. C++ dependencies make me want to rip my hair out, whereas with Go I can just `go get` them and I'm done.

    • @raianmr2843
      @raianmr2843 2 роки тому

      @@BrandNewByxor Go tooling wasn't as great when he wrote that comment. I guess languages need to be out there for at least a decade to get to a competent level.

  • @husodaroo2959
    @husodaroo2959 5 років тому +2

    Go go go to the gym

  • @slava125555
    @slava125555 7 років тому +4

    php is better anyway

    • @douwehuysmans5959
      @douwehuysmans5959 7 років тому +13

      ^ stereotype webdeveloper.

    • @ralphfischer6924
      @ralphfischer6924 7 років тому +16

      "I'm too lazy to learn a new language so I will just claim that this objectively terrible language I'm comfortable in is better to avoid having to take responsibility for my joke of an existence as a software professional."

    • @slava125555
      @slava125555 7 років тому +3

      Ralph Fischer bro

    • @terupuki8407
      @terupuki8407 6 років тому +4

      lowkey, just got cancer

    • @deeplearningpartnership
      @deeplearningpartnership 6 років тому +1

      LOL.