Larry Wall: 5 Programming Languages Everyone Should Know | Big Think

Sdílet
Vložit
  • čas přidán 12. 06. 2011
  • Larry Wall: 5 Programming Languages Everyone Should Know |
    New videos DAILY: bigth.ink/youtube
    Join Big Think Edge for exclusive videos: bigth.ink/Edge
    ----------------------------------------------------------------------------------
    Programmer Larry Page offers language suggestions to amateur programmers who might not know exactly where to start.
    ----------------------------------------------------------------------------------
    Larry Wall is the computer programmer responsible for creating Perl, a powerful general-purpose programming language known for its strengths in text processing. Wall, whose graduate work was in linguistics, designed Perl in 1987 for reports processing and continues to oversee the language's development according to the motto "Larry is always right, even when he was wrong." He also originated the three canonical "virtues" of a good programmer: laziness, impatience, and hubris.
    ----------------------------------------------------------------------------------
    TRANSCRIPT: Back when I was getting started, lo these many decades ago, the answers would've been Fortran, Cobalt, Basic, Lisp, and maybe APL, and those were very formative languages back then and people learned a lot from those, but these days, it might be more important for you to know JavaScript, even if the only reason you know that is that you know whether or not to click the "enable JavaScript" button in your browser. But JavaScript is a nice, lightweight, object-oriented language and that's why it can fit in a browser and do these things such as run little programs that help you input your data and then send it off to a web server somewhere.
    There are heavier-weight object-oriented languages and the elephant in the room is sort of Java, you can't really make a list of modern languages without talking about it. Java is sort of the Cobalt of the 21st century, I think. It's kind of heavyweight, verbose, and everyone loves to hate it, though not everyone will admit that. But managers kind of like it because it looks like you're getting a lot done, you know, if 100 lines of Java code accomplish a task, then it looks like you've written 100 lines, even though in a different language, it might only take 5 lines. You know, it's like, you know, you can eat a 1-pound steak or you can eat, you know, 100 pounds of shoe leather and you feel a greater sense of accomplishment after the shoe leather, but, you know, maybe they're some downsides.
    Oh, what other languages? I think going in a different direction, coming more from academia, we have a language like Haskell, which we call a functional programming language. That means function in a mathematical sense, not in the sense the other languages are dysfunctional. But a function mathematically has an input and an output and it maps to, you know, with a great deal of mathematical certainty what those are. Haskell is one of those languages that mathematician-type-minded people love; it's sort of a language for geniuses, by geniuses. So you should probably know about it, if only to be able to say, "Well, is this kind of like Haskell?" And if so, then you know you have to hire some really smart people to program in it. Haskell is sort of a modern kind of Lisp in that sense.
    What else? Well, we can't leave off modern languages without talking about C. The C language, that’s just spelled with the letter C, is actually about 40 years old, but people have tried to replace C with other languages that are like it and have by and large not succeeded because C is a very minimalistic language and very close to the metal, as we say, on a machine, and lets you get down and do very fine grain stuff, very efficiently, but it's a lot of hard work. But once you've done that work, you can run it pretty much everywhere. So almost all the other languages that you see, Java, Perl, whatever, actually if you look down underneath, they're actually implemented in C, or in a closely related language. So that continues to be a very fundamental language, if only because everyone is trying to reinvent it and not succeeding in doing so.
    And finally, for a fifth language, well, you'd probably want to pick one of the scripting languages. There's several to choose from, there's Python, there's Ruby, but of course, I am prejudiced in favor of Perl, because I think it has the liveliest community and because we have intentionally been redesigning it lately to leapfrog all the other languages. For the last number of years, we've been redesigning it to out all the warts that we've noticed over time. And we figured it was just our one chance to break backward compatibility, break the things that need breaking, keep all the things that make Perl, Perl, keep it a joy to use, and with this redesign, make it a language that will be able to be useful and enjoyable for decades. And so I'd recommend Perl, but I'm known to be prejudiced in the matter.
  • Věda a technologie

Komentáře • 2,6K

  • @bigthink
    @bigthink  Před 4 lety +7

    Want to get Smarter, Faster™?
    Subscribe for DAILY videos: bigth.ink/SmarterFaster

    • @drstkova
      @drstkova Před 3 lety

      Yeah. Great transcription. “Cobalt”, uh I think you mean COBOL.

  • @BosonCollider
    @BosonCollider Před 7 lety +1215

    The five languages were:
    1: Javascript (for the web),
    2: Java (for soul-crushing industry jobs that get outsourced),
    3: Haskell (for very smart people),
    4: C (for low level jobs), and
    5: Perl (because he invented it and is biased on the matter).

    • @remram44
      @remram44 Před 7 lety +100

      Python is becoming more ubiquitous and definitely worth knowing over Perl nowadays

    • @BosonCollider
      @BosonCollider Před 7 lety +46

      +Remram
      Right, Python is sort of becoming the new visual basic.

    • @remram44
      @remram44 Před 7 lety +19

      Does VB.net have two incompatible versions called 2 and 3? 😬

    • @Skrapeg0at
      @Skrapeg0at Před 7 lety +33

      I'm glad he's honest about why he chooses Perl as number 5.

    • @BosonCollider
      @BosonCollider Před 7 lety +22

      ***** Right, he said "any scripting language", with a bias towards perl because he invented it.
      Lua is a bit obscure in some sectors but it's very common in the video game industry. It's really good at interfacing with C/C++ programs, and for embedding within a larger program written in C/C++ (like games) to do higher level stuff. For historical reasons it also has a lot of libraries for machine learning.
      It also works great for the stuff that you'd do with Perl, i.e. automate simple command line tasks. The downside is that it doesn't have a lot of libraries, as the general culture tends to trend towards building everything from scratch.
      Imho, the best first language is one that is good/commonly used for the kind of problems you happen to care about at the moment, because you will naturally want to play around with it and learn more about programming.
      If what you want to code is say, a WoW addon or a machine learning algorithm, Lua is great. For things like making a website or a phone app, Ruby would be a bit better. But having learned one, moving to the other will be fairly easy so no time spent using either will be wasted doing the other.

  • @TropicalPriest
    @TropicalPriest Před 7 lety +66

    Man, Larry Wall is so awesome. I love his thoughtful mannerisms. He genuinely wants to reply in the most intelligent fashion he can muster. Instead of some fake affectation lol.

  • @joshuasmith2814
    @joshuasmith2814 Před 9 lety +864

    This interview must have been written in Java as it took 6min to what could have been said in less than 1min.

  • @Tj930
    @Tj930 Před 10 lety +246

    Haha.. "Java : It looks like you're getting a lot done"

    • @DanDeebster
      @DanDeebster Před 5 lety +11

      I immediately hit 👍 after hearing his brilliant shoe leather analogy

    • @sachinfulsunge9977
      @sachinfulsunge9977 Před 3 lety +1

      @@DanDeebster i laughed so hard at that

    • @yeshesdevi
      @yeshesdevi Před 2 lety +1

      That and working on the command line and using BASH -- it looks more esoteric, more opaque to non-programmers, and establishes you as an "expert." LOL

  • @philv2529
    @philv2529 Před 6 lety +29

    "managers like it because it looks like you got a lot done" CLASSIC

  • @MikeyDavis
    @MikeyDavis Před 10 lety +263

    4:43 "Almost all the languages that you C... are actually implemented in C" I C what U did there friend.

    • @stevenwang3429
      @stevenwang3429 Před 10 lety +14

      Ha! I found you're pun! + I C what he did there now, heh, I like making puns.,

  • @MichaelRicksAherne
    @MichaelRicksAherne Před 7 lety +44

    Shoe leather analogy was A+.

  • @Zer0Mem0ry
    @Zer0Mem0ry Před 9 lety +334

    Perl ~The only language that looks the same before and after RSA encryption.

    • @NateB
      @NateB Před 9 lety +3

      VirtualCoder Unless the programmers are really, really good at following coding standards. Ahem.

    • @StoneColdProfessor
      @StoneColdProfessor Před 6 lety +35

      Perl is a "Write Only" language. :)

    • @clv603
      @clv603 Před 6 lety +8

      I lol'd. One dev's perl script is another dev's nightmare.

    • @dwede1man
      @dwede1man Před 6 lety +5

      Spoken by someone who never encountered APL

    • @aoeu256
      @aoeu256 Před 4 lety

      dwede1man apl is nice if you put small ruby letter like Furigana in Japanese manga over the operators so that you can read what the operators are. There are nice emacs atom vim plugins that replace characters with all symbols.

  • @RelatedGiraffe
    @RelatedGiraffe Před 9 lety +50

    "You can eat a 1 pound steak or you can eat a 100 pounds of shoe leather and you feel a greater sense of accomplishment after the shoe leather" XD

  • @ihswap
    @ihswap Před 9 lety +110

    The best programming language is the one you have fun with and enjoy using the most in my case it's python. everyone has their own opinion.

    • @gilliancohen6695
      @gilliancohen6695 Před 9 lety +4

      Python is a scripting language, not a programming language.

    • @storerestore
      @storerestore Před 9 lety +50

      Gillian Cohen "Scripting language" and "programming language" aren't mutually exclusive concepts, you know. Python is a programming language.

    • @gilliancohen6695
      @gilliancohen6695 Před 9 lety

      storerestore
      Python is a scripting language similar to Perl and Ruby. I could also argue that Perl is a programming language, but we don't call them such.

    • @storerestore
      @storerestore Před 9 lety +12

      Define "we". If you meant to say "I", I can tell you straight away that I'm not particularly interested in your personal opinion on such a well-defined matter. If what you say is true, I am sure that you can find a reputable source that validates your sentiment.

    • @gilliancohen6695
      @gilliancohen6695 Před 9 lety

      storerestore
      By we, I mean us Python scripters.

  • @monklikegestapo6042
    @monklikegestapo6042 Před 8 lety +530

    this guy is still in the 80s !!!

    • @Hotboytrue
      @Hotboytrue Před 8 lety +49

      That shirt looks more 70s to me.

    • @Paul-fh3op
      @Paul-fh3op Před 8 lety +11

      +Hotboytrue its called batik. traditional button down shirt in Indonesia and Malaysia.

    • @ricardo.mazeto
      @ricardo.mazeto Před 7 lety +15

      He remembers me the protagonist of the film Her.

    • @hayberdasher8625
      @hayberdasher8625 Před 7 lety +103

      lol yeah and you will never accomplish as much in your lifetime as he did in 10 years

    • @kps2642
      @kps2642 Před 7 lety +9

      say's a guy behind a keyboard ...

  • @goekhanbag
    @goekhanbag Před 2 lety +13

    Exactly true, what he said still stands 10 years later. There’s only the addition that TypeScript is here to stay to simplify JavaScript, and obviously Python has completely replaced every other scripting language and taken over the scientific community.
    All the reasons he gave are very well founded as well. A very insightful video.

    • @Ahjile
      @Ahjile Před rokem +1

      I would just say that TypeScript definitely does not simplify anything - it does the opposite - but otherwise I agree completely.

  • @LorenHelgeson
    @LorenHelgeson Před 8 lety +10

    I started learning C a few weeks ago. I've worked with a few other languages over the past ten years or so (PHP, ActionScript, Javascript, etc.), and I am very impressed with how C works by comparison. I've never been a fan of the looser languages, and it's also nice to see how close you can get to machine level with C (if you want), but still pull off fast and powerful actions with basic code.
    Still a rookie, though, so I have a long way to go.

  • @dansivertson
    @dansivertson Před 8 lety +22

    So great to see and hear Larry speak.

  • @RedHairdo
    @RedHairdo Před 9 lety +26

    The best programming language will always be the one you spent most time with.

  • @KhanSlayer
    @KhanSlayer Před 9 lety +65

    He forgot about punch cards. The only language anyone should learn in 2014 are punch cards.

    • @projectjt3149
      @projectjt3149 Před 5 lety +2

      Make that binary.

    • @SuperNuketown2025
      @SuperNuketown2025 Před 4 lety +2

      My programming teacher talked to us about how he had to learn on punch cards in the military as his first language

    • @gianz73
      @gianz73 Před 3 lety +1

      @@SuperNuketown2025 That's as close to the metal as it gets. My grandfather worked for the military in the late 50's / early 60's and told me about the times when he, at the end of each month, had to deliver suitcases filled with punch cards for archiving/testing reasons. Wish I could travel back in time and visit those facilities.

  • @KhajaMinhajuddin
    @KhajaMinhajuddin Před 10 lety +9

    He is a great mind, and he is really spending some time in thinking about the languages. Perl (which he is the author of) is a great contribution to the software world. He deserves respect.

  • @Obez45
    @Obez45 Před 10 lety

    Thank you for the vote confidence I appreciate it, it's given me a little more motivation.

  • @evalsoftserver
    @evalsoftserver Před 8 lety +13

    If you take BINARY Machine Language ,add OPERATION Abstractions you get. ASSEMBLY LANGUAGE ,Add Structural Abstractions you get ALGO 60 MACHINE CODE , add NUMERICAL Abstractions you get COBOL ,add FORMULA Abstractions. you get FORTRAN ,Add INLINE Abstractions you get BASIC, add CLASS Abstractions you get SIMULA, C, C++ JAVA, ADD FUNCTIONAL Abstractions You get Haskell

    • @dawood121derful
      @dawood121derful Před 8 lety

      +TheProfiler wow, thanks for that summary!

    • @Sesshounamaru7
      @Sesshounamaru7 Před 8 lety

      Best comment, :D hail heskell

    • @MrHarpette
      @MrHarpette Před 7 lety

      Thanks, but what's "inline abstractions"?

    • @evalsoftserver
      @evalsoftserver Před 6 lety

      Jerome Potts INLINE LINK PROGRAM LINE NUMBER ,TO A PROCEDURE ORIENTATION, NOT DECLARATIVE OR STRUCTURAL ORIENTATION LIKE OBJECTS BASED LANGUAGES WHICH LINKS DATA ARRAYS ,A MORE EFFICIENT REUSE OF RESOURCES

    • @eduardoantunes2958
      @eduardoantunes2958 Před 3 lety

      C doesn't have classes, but ok

  • @luisdanielmesa
    @luisdanielmesa Před 11 lety +10

    I was born 10 years after you wrote your first program :) I have been working in Java for the last 14 years, and I'm about to retire... Java had ups and downs, but It was always good to me. I was never part of a team that didn't deliver, and I'm also grateful for that. Last company I worked for: NOVELL. One bit I might have forgotten to say is that I never finished college. Hackers by heart would learn to work with what they have instead of complaining :) enjoy yourself a little while at work.

  • @quickdudley
    @quickdudley Před 11 lety +4

    People tend to forget that you can write object-oriented systems in C: the syntax doesn't explicitly help like it does with C++ you but sometimes implementing the concepts yourself gives you extra flexibility.

  • @kernadan000
    @kernadan000 Před 8 lety

    really enjoyed listening to him talk.

  • @Bunfire123
    @Bunfire123 Před 10 lety +1

    Agreed, in my first year we're starting Python but many of us previously had experience in Pascal and Visual Basics.

  • @kwansikkim8712
    @kwansikkim8712 Před 6 lety +5

    There's no question that C and Pearl are great powerful language. It's just some of their syntax are cryptic and counter intuitive but somehow we got used to them last a few decades. I personally find that interesting and amusing. It's something Ken Thompson wanted to use for himself (the language B) and somehow became a standard for everyone because of UNIX, IMHO.

  • @Kupiakos42
    @Kupiakos42 Před 10 lety +7

    +phil taylor You do realize HTML5 and CSS3 are markup languages, and jQuery is just a library for Javascript?

  • @m0skit0
    @m0skit0 Před 5 lety +1

    Great interview and thanks a lot Larry for Perl. Perl and its community rule!

  • @EnriqueRegisPascalinRomo
    @EnriqueRegisPascalinRomo Před 10 lety +1

    Beautiful speech Larry Wall, thumbs up for you.

  • @MarcelinoSandroni
    @MarcelinoSandroni Před 9 lety +248

    Just LEARN C, the mother, the father, the GOD of all modern languages.

    • @MarcelinoSandroni
      @MarcelinoSandroni Před 9 lety +21

      Later upgrade to C++, when you learn C++, JAVA and C# is 2EZ2LEARN

    • @MarcelinoSandroni
      @MarcelinoSandroni Před 9 lety +7

      JS, Phyton, Ruby, PHP are the most popular scripts.

    • @MarcelinoSandroni
      @MarcelinoSandroni Před 9 lety +61

      Or just learn ASEMBLY or direct BINARY programing, but only if you are a Alien.

    • @seuqlife3184
      @seuqlife3184 Před 9 lety

      Marcelino Sandroni hahahahah

    • @confidential303
      @confidential303 Před 9 lety +7

      Marcelino Sandroni
      I programmed in assembly language, that is the real deal.

  • @syn4588
    @syn4588 Před 8 lety +36

    I like this guys mannorisms..

  • @gggfx4144
    @gggfx4144 Před 5 lety

    I am endeared to Larry Wall as a person and his creative outlook on programming; I was never a Perl programmer but I've known a few and sounds seems like Perl had a fun, colourful and busy community at it's peak; would be nice if languages today had quite that flavour of community. However I feel it's era is past (may be wrong!), but I couldn't imagine anyone learning Perl ahead of Python, Ruby, Java, etc. except on an old school Uni course.

  • @PixelOutlaw
    @PixelOutlaw Před 8 lety +1

    Even though they are old, Common Lisp and Scheme have some mind blowing power. Programs that may self modify and change syntax at runtime. Heterogeneous collections. Code is data to be stored and manipulated. Macros that can build functions during runtime while letting you put code inside. All stemming from a single unified concept of the lambda function and CONS cells. Not taking huge concepts and trying to jam them together then provide safety measures. If you like recursion try Scheme, if you like iteration go with Common Lisp. I find Clojure too much of a departure from the previous two but your mileage may vary.

  • @NOCDIB
    @NOCDIB Před 10 lety +62

    Whatever your 5 are they should include:
    1) one compiled, imperative, object-oriented language (Java, C++, C#, etc.)
    2) one functional language (Scala, Erlang, Haskell, oCaml)
    3) one imperative, scripting language (Ruby, Python)
    Depending on what your focus is (mobile dev, front-end dev, backend dev) the depth to which you want to know one of these types of languages compared to the other types will vary.

    • @martinpintar6341
      @martinpintar6341 Před 9 lety

      mnm. N/9nn.lnn. ....
      . M. Linč. N. .M 66zbj;m/
      ⏳🍺🍧🍦🍩🍨🍨🍦🍴🍨🍴🍧🍦🍺😤
      .
      . . . 😷😵

    • @wayhip
      @wayhip Před 9 lety +5

      I would throw in assembly and/or C as it gets one close to the hardware.

    • @muhahahabad
      @muhahahabad Před 9 lety

      Pedro Lopez Assembly is not a language in that sense (or yes it is, tzillions of languages, one for every iron you try to program)
      Efficiency differences between C and hand-tuned assembly are minimal nowdays. C compilers are so effective.

    • @wayhip
      @wayhip Před 9 lety +1

      muhahahabad I know optimizing compilers are really good these days but assembly IS a programming language, to be pedantic it is Turing complete. But assembly is very good at teaching someone how computers really work and a stepping stone to C. C is important due to it being so lightweight and therefore very important for mobis and embedded systems. C also develops an appreciation for type safe and garbage collected languages.

    • @muhahahabad
      @muhahahabad Před 9 lety

      Pedro Lopez
      Do you know how your TV works? Or your CAR? In every single detail? Do you know aeroplanes etc?
      If you answered 'no' to any single question above, does it hinder you to enjoy using those products in your everyday life? Do you need to be an aeronautical engineer PhD before you can buy a flight ticket and fly from London to NY?
      Pedro. You are simply lost. Assembly or C (or C#/Java, neither C++ or whatever) is never needed to be productive with higher abstraction programming language like Smalltalk, Ruby or Python.
      Why would a Python programmer care if CPU down below uses registers, stacks or whatever? Or how memory is allocated, pointers used etc. That's useless garbage to know if you are a higher level programmer.

  • @anonymousone6250
    @anonymousone6250 Před 6 lety +7

    Lisp, the language that is what you want it to be

    • @aoeu256
      @aoeu256 Před 4 lety

      Lisp and JavaScript, Python are very similar as well.

  • @manz92
    @manz92 Před 10 lety +1

    First year of my CS degree and only on JAVA, got a long way to go, hope other languages come easier after learning one.

  • @00SEVEN28
    @00SEVEN28 Před 10 lety +1

    I enjoy how he is grouping the languages, and you should learn from one of a group.

  • @basione
    @basione Před 10 lety +10

    C: Simple and awesome. Gives you everything you need to program a computer.
    JavaScript: Incredibly misunderstood language. 90% carbon, 10% diamond. Surpasses many languages just with the diamond part.
    Julia: This should be the C of dynamic languages, seriously! This is Python done right.
    Haskell: Fun.
    sh: It's the shell, helps to know.

    • @neloka4313
      @neloka4313 Před 5 lety

      You're so right about JavaScript and Julia! I wish we could learn Julia instead of Python at my uni.

    • @ichaa3tech
      @ichaa3tech Před 4 lety

      Im new to this but i dont know why i hate python . or i just hate the things that everyone learns maybe
      I m using c rn . planning to continue with ruby (just coz i love its name )

  • @goedel.
    @goedel. Před 10 lety +107

    Java
    Python
    C/C++
    JavaScript
    PHP

    • @purpleice2343
      @purpleice2343 Před 7 lety +17

      PHP is cancer.

    • @jouebien
      @jouebien Před 6 lety

      Native php is dead - writing a web app in it requires skill, an in depth knowledge of input sanitization, security and way too much time. Although at least it has decent cross platform support unlike the language its based off (C) and its mess of platform specific libraries. Looking at you Windows and your maze of int return type def re-naming.
      php Frameworks like Laravel are still very popular because development using them is fast, easy, force you not to mix views & controllers and all the security and sanitation more or less is done for you.
      fun fact officially php is written in all lower case.

    • @angledcoathanger
      @angledcoathanger Před 6 lety

      What's replacing php?

    • @abdullatifb.7576
      @abdullatifb.7576 Před 6 lety +3

      Perl , node.Js , python , Ruby

    • @Krthikrj
      @Krthikrj Před 6 lety

      I am studying my aim is to work in IT companies what are the coding I had to learn to work in IT companies

  • @stcuthbertson
    @stcuthbertson Před 6 lety

    You guys should make more of these

  • @amitabhakassap7339
    @amitabhakassap7339 Před 5 lety

    Beautiful explanation!

  • @JLock_17
    @JLock_17 Před 10 lety +111

    I'm learning programming in college.
    It's C++.
    This is my first language.
    KILL ME.

    • @gigatesla
      @gigatesla Před 7 lety +8

      JLock17 RIP

    • @Games-mw1wd
      @Games-mw1wd Před 7 lety +8

      JLock17 Alternative to dying: find a language that isn't overcomplicated and poorly designed. I would recommend Python, because it's relatively easy to read and understand, and you can write simple programs with very little syntactic overhead.

    • @saltysavestate5855
      @saltysavestate5855 Před 7 lety

      JLock probably doesn't have a choice right now.

    • @garetclaborn
      @garetclaborn Před 6 lety +5

      just drill yourself about Types and Pointers. these are the things that make C++ hard and useful. get comfortable with making classes and using them, that's important for many languages. hang in there, cuz once you got a good grasp of C++ or C you can start understanding the whole shebang pretty well.

    • @madryoch
      @madryoch Před 6 lety +6

      Pointers are not that hard. Reference and pointers are two concepts that if explained correctly from the start it all makes sense. Once you understand them you can understand how things work for almost every other language. Every Programmer worth their salt has to learn about memory management imo.

  • @paulweerheim
    @paulweerheim Před 7 lety +10

    In short:
    - JavaScript
    - Java (Love it or hate it)
    - Haskell
    - C
    - Perl (Or Python/Ruby)

  • @GradyBaby13
    @GradyBaby13 Před 7 lety

    I like his sense of humor. He reminds me of one of the programmers on Halt and Catch Fire

  • @neloka4313
    @neloka4313 Před 5 lety

    My top 5
    - JavaScript w/ Node.JS (for any project that needs asynchronous tasks)
    - C++ (for heavy computations)
    - Haskell
    - Julia (for science stuff)
    - Ruby (for begginers)

  • @mickelrav7118
    @mickelrav7118 Před 9 lety +12

    I didn't expect to laugh out loud while watching a video about programming languages, but Larry Wall made me do just that.

  • @HelloWorld-tn1tl
    @HelloWorld-tn1tl Před 8 lety +249

    Python or perl ? I think it's python for sure.

    • @TheMRJewfro
      @TheMRJewfro Před 8 lety +26

      +Eric Wang Definitely python. It's more modern, easier than perl, and and looks much easier.

    • @erikisidore8366
      @erikisidore8366 Před 8 lety +10

      +Eric Wang Perl is gaining popularity back again tho.

    • @AliVeli-gr4fb
      @AliVeli-gr4fb Před 8 lety +5

      +TheMRJewfro Perl has so much more freedom

    • @michaeljurado7224
      @michaeljurado7224 Před 8 lety +11

      With Perl, you can do so much in just a couple lines. But, python is easier to read...

    • @mabudia4177
      @mabudia4177 Před 8 lety +52

      The reason why he favored Perl is.. HE created it!

  • @ziggyspaz
    @ziggyspaz Před 3 lety

    I happen to love perl and use it in my daily job as well

  • @davidjames4097
    @davidjames4097 Před 10 lety

    I recommend learning Piet. It is not useful but is the most beautiful language and also shows you what programming can be.

  • @aditsu
    @aditsu Před 10 lety +17

    5 languages everyone should know **ABOUT**:
    JavaScript, Python, Java, C, C++
    My favorite 5:
    Java, Python, C++, GolfScript, Groovy
    5 languages nobody should use (anymore):
    PHP, COBOL, VB, VBScript, Objective-C

    • @mikedfdfjobs9402
      @mikedfdfjobs9402 Před 10 lety +6

      What's wrong with PHP? I get that is lagging behind a bit but I prefer it to python (although python is a *joy* to use, PHP seems more suited to websites) for server-side scripting (Websites only). And Objective-C: What else are people supposed to make iOS apps in? I agree with the other ones though(I'm only 13).

    • @aditsu
      @aditsu Před 10 lety

      mikedfdf Jobs PHP is very popular, but that doesn't mean it's good. Here's an article about what's wrong with it: me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ . Some of the points are being disputed, but even if you only accept 10% of them, I think it should be enough to kill it with fire.
      Regarding Objective-C, I'm quite biased against Apple, but ignoring that, I think Apple should ditch that language and switch to something more decent, then app developers can switch too.

    • @Federico84
      @Federico84 Před 10 lety

      well if you wanna build programs that run on os x you HAVE to use obj-C. What should people use instead of php?

    • @aditsu
      @aditsu Před 10 lety

      Tecnovlog 1) Currently that's true (except perhaps some frameworks that generate obj-C code). 2) I use java myself, but for people who find it obnoxious or hard, I recommend python.

    • @robertkielty5094
      @robertkielty5094 Před 10 lety +1

      Tecnovlog What to use instead of PHP? A carrier pigeon with a pack of Post-its, a pencil and moderately acceptable penmanship.

  • @markedchild304
    @markedchild304 Před 10 lety +6

    I basically just bought books based on what this guy was talking about.

  • @evalsoftserver
    @evalsoftserver Před 8 lety +1

    Functional Abstractions Meaning how functions are expressed in a PREDICATELESS WAY without reference any Order of PREDICATES
    Meaning Syntax or PREDICATEs being ORDERED
    like in FIRST ORDER PREDICATE LOGIC

  • @katty4682
    @katty4682 Před 6 lety +1

    Right now, I'm focusing on JavaScript for projects, but I'm learning C/C++, Python, and Java. I find C++/Python helps me approach programming from an algorithmic standpoint, and, Java forces me to think more architecturally (like how am I going to structure this, so it's not a behemoth of code?)
    My next languages I want to learn are Lua and lisp/clojure.

  • @CarlosSaltos
    @CarlosSaltos Před 7 lety +10

    "Java is the Cobol of the 21st century" -> I love this guy !! ;) :)

  • @LindsayKay
    @LindsayKay Před 6 lety +10

    I was a Java programmer once. Got sick of the size of those fucking stack traces to be honest.

  • @joezegers
    @joezegers Před 2 lety +1

    The languages were:
    Javascript (for the Internet)
    Java (for high-level jobs that get outsourced)
    Haskell (for geniuses)
    C (for low-level jobs)
    Perl (because he invented it and therefore prefers it over Python and Ruby)

  • @jeffcutler8462
    @jeffcutler8462 Před 6 lety

    I LOVE that description of Java!

  • @vuurniacsquarewave5091
    @vuurniacsquarewave5091 Před 8 lety +28

    Assembly master race

  • @jamessmith4229
    @jamessmith4229 Před 9 lety +10

    Not Cobalt; COBOL. Acronym for Common Business Oriented Language.

    • @vinayseth1114
      @vinayseth1114 Před 8 lety

      James Smith lol

    • @NewWaveMusik
      @NewWaveMusik Před 8 lety +2

      +James Smith He said COBOL dude.

    • @jamessmith4229
      @jamessmith4229 Před 8 lety

      +FLVT0 Sorry. I read the text in the description.

    • @thorchristopher4945
      @thorchristopher4945 Před 8 lety

      +James Smith He DID say COBOL. Larry Wall has studied linguistics and created an entire programming language with the intention of making it more like a natural language, so no, he doesn't exactly come off as the type to mispronounce the name of a well known programming language.

    • @jamessmith4229
      @jamessmith4229 Před 8 lety +9

      +Thor Christopher Arisland Am I the only one who read the text transcription of his talk? The transcriptionist goofed and it is there for those who care to look.

  •  Před 9 lety

    At a low level of if you have tight constraints I've found that there's nothing to beat the combination of C and assembler. 'Back in the days' Borland's Turbo C was great. It allowed you to see the assembler that the C code produced so you could use C to write assembler. Developer productivity wasn't as high as it was for modern day languages but the user's productivity was many times more - and that counts.

  • @douggwyn9656
    @douggwyn9656 Před 9 lety +1

    I'm a fan of the R (formerly S+) system for statistics and graphics. It's much like many procedural programming languages, but is much better suited for exploratory data analysis. Even its displays are treated as objects, and it has nifty features such as named function arguments with default values.

  • @mvindahl
    @mvindahl Před 8 lety +4

    It's interesting that he picks Javascript as a first choice, and mostly brings up Java due to the large amount of legacy code which is written in the language (at least that's my interpretation of the quite amusing "COBOL of the 21st century" remark). I think it's especially interesting since, back in 2011, the whole nodeJS/npm ecosystem was still nascent and Javascript was still very much a browser language. Turns out that he was largely right. Pretty good vision there.

    • @CTimmerman
      @CTimmerman Před 6 lety

      JS has a nice syntax and features optional semicolons and easy objects, so with transpiling you could use it for anything.

  • @CodeBabes
    @CodeBabes Před 9 lety +229

    Larry Wall, so hot right now.

    • @ViLeDeth
      @ViLeDeth Před 8 lety +4

      ***** omg where is hansel, so hot right now.

    • @Karensky
      @Karensky Před 8 lety +7

      +ViLeDeth
      His name is Haskell these days

    • @AlexisRondeau
      @AlexisRondeau Před 6 lety

      😂

    • @NotSoLiberal
      @NotSoLiberal Před 6 lety +1

      let me guess codebabes is probably male gay programmer

    • @lamashtu5959
      @lamashtu5959 Před 6 lety +1

      If you were on fire and I had a cup of my own piss, I’d drink it.

  • @Mzansi74
    @Mzansi74 Před 10 lety

    True. The skill is normally to know which library can accomplish the function!

  • @evalsoftserver
    @evalsoftserver Před 8 lety

    Structural Abstraction Meaning. how the data is represented to that particular Machine Architecture ,Ex. Assembled by a assembler,
    Code Abstractions Meaning how the data is typed by a Compiler. or interpreter

  • @LavanshuSeth
    @LavanshuSeth Před 8 lety +10

    And I waited for him to say "C++" .. but he didn't. :'(

    • @hardyVeles
      @hardyVeles Před 6 lety

      Because he's stupid. That's why.

  • @luciusdark1455
    @luciusdark1455 Před 10 lety +3

    I still love C and assembly language. May be more primitive but thousands of times faster than any language that uses a runtime module.

  • @adrianfisher3349
    @adrianfisher3349 Před 11 lety

    I was surprised at how nice he came across. He seems like a nice chap.

  • @AtomkeySinclair
    @AtomkeySinclair Před 6 lety

    I still code ANSI C for a lot of small to medium tasks... esp things that have simple out. But over the years I've really gotten used to classes - even when a function will do I end up with a class somehow. And then that class evolves and gets transformed into something reusable.

  • @raoufraw4810
    @raoufraw4810 Před 8 lety +3

    The best Programming languages you need to know:
    1-Java (Develop softwares,Android Apps,Games,.....)
    2-JavaScript (Web develop and Web design)
    3-Python (for Sciences,Hacking,...)
    4-SQL (Data base,Dynamic Web design)
    5-PHP (Dynamic Web design)
    and if you want to add annother c language to this list i would say C++ because c# is very similar to java and knowing c++ helps you work with c.
    That is all you need to know as programming languages.

    • @emmanuela.2932
      @emmanuela.2932 Před 7 lety

      Matthew H -- NSA and CIA use it a lot. For hacking.

    • @osearthesp
      @osearthesp Před 5 lety

      i agree re:PHP. it hasn't been just for the web since 1999 when it got STDIO

  • @frankzvovu
    @frankzvovu Před 7 lety +3

    I love Java but "Cobol of the 21st century cracked me up"! Hahahahaha! "It looks like you're getting a lot done" is funny too....

  • @JustForComments666
    @JustForComments666 Před 10 lety +1

    One should start with a language that makes you understand the processes and with which you comprehend how to make algorithms and functions.
    In my school we started with Delphi(Pascal).

  • @lancelot1953
    @lancelot1953 Před 9 lety

    Hi, great video and it is nice to have included a transcript - just a little mistake of scripting in the Larry Wall's first paragraph, first line, between FORTRAN and BASIC languages you want to say COBOL since Open Cobalt language did not exist back then, thank you again for the video, Ciao, L

  • @NikolaosSkordilis
    @NikolaosSkordilis Před 10 lety +3

    On the transcript : Cobol, not Cobalt.

  • @kemchobhenchod
    @kemchobhenchod Před 7 lety +8

    It's interesting how you dress in the style of the decade during which you were most successful.

    • @mrdarky3377
      @mrdarky3377 Před 7 lety +1

      kemchobhenchod aint that a batik shirt from Indonesian or Malaysian country?

    • @eadghe
      @eadghe Před 6 lety

      Sex tourism rules, man.

    • @legomemekid123
      @legomemekid123 Před 6 lety

      I laughed, but that was rude

  • @evalsoftserver
    @evalsoftserver Před 8 lety

    Inline Abstractions Meaning how data types are inputted in a IMPERATIVE fashion, to change Program STATE line by line by a interpreters such as a Basic interpreters

  • @spektrum1983
    @spektrum1983 Před 10 lety +2

    Alot of people seem to have the view on programming languages as they have to choosing a partner in life, "choose one and live with it" kind of attitude. I never thought like that at all, you learn the language you need for the moment, or for the problem you want to solve.
    There is ofcourse a slow learning curve if it is your first language, but when you start to understand programming and how computers work, and you have that feeling of confidence you can pick up a book or a tutorial and take on any language you want.
    I would say, learn C. Because it has so many compilers for so many architectures, if you want to get into microcomputers. There is a C compiler for almost every architecture. Also if you want to take on something else later, alot of languages (scripting languages also) looks like C.
    If you're still not interested in C, or any kind of low level programming. You can do so much with just JavaScript, and you can do it now without downloading large compiler tools or IDE.

  • @Graeme_Lastname
    @Graeme_Lastname Před 7 lety +6

    Missed the most important of all, assembly, it is the only language that can do anything that can be done. There is nothing faster and speed is important. It can interface with anything. And let's not forget, without assembler there wouldn't be any of these others. ;)

    • @davidwuhrer6704
      @davidwuhrer6704 Před 7 lety +2

      Assembly would be worthless without machine language.
      The lambda calculus, on the other hand, is universal. It can be used to compose programs that optimize programs, to proof the correctness of algorithms, and to compile them into machine language. Or assembly. Or C.
      The only drawback is that it has to be implemented in order to run. But once you got that, it really easy to write a compiler for your own language in it! (Oh, wait… Error code 22…)

    • @hayberdasher8625
      @hayberdasher8625 Před 7 lety

      Yeah but if all programmers had to be math nerds we would be at a serious shortage of programmers. Much better to have languages that represent logic rather than math.

    • @davidwuhrer6704
      @davidwuhrer6704 Před 7 lety +2

      Amse Master
      Logic is a strict subset of mathematics.
      Programs are actually proofs of functions.

    • @TropicalPriest
      @TropicalPriest Před 7 lety

      Idk. I see the same debate here as everywhere else, functional vs imperative. I definitely see the efficacy in functional programming. But, I have mind more oriented towards language than math, so I go the other way. Learning C more intimately, looking to work towards assembly from there. Happy hunting ya'll.

    • @davidwuhrer6704
      @davidwuhrer6704 Před 7 lety

      TropicalPriest
      Assembly and C are not any more like natural languages than functional languages are. (I'd say they are even less so.) The closest programming paradigm to natural language is probably object oriented programming, in particular Inform.

  • @Federico84
    @Federico84 Před 10 lety +9

    wow this guy came out of the 70's :)

    • @ReductioAdAbsurdum
      @ReductioAdAbsurdum Před 10 lety +2

      "wow this guy came out of the 70's"
      Apparently he still hasn't.

  • @StuartLoria
    @StuartLoria Před 10 lety

    I have heard the same opinion from other gurus, Javascript being interpreted and running in almost all the platforms, it's fun functional programming.

  • @korgpolyex800
    @korgpolyex800 Před 9 lety

    Taking it up one level of abstraction, it is more important to learn the principles of programmatic abstraction. Once that is is understood, you will easily realise that assembly, C, PHP, bash and perl are the five most important tools in your programming toolbox. There are very few things that cannot be achieved with those five tools and sometimes you might want to use java (but only when you need OS portability instead of speed and don't mind a class full of headaches).

  • @MrOmnos
    @MrOmnos Před 10 lety +161

    I hate it when people say..C is good for nothing....I am electronics and computer engineering student....I am fluent in 6 languages including C and my friend C is my life. C still rules the embedded world. Don't underestimate C. When you go to an IT college or a engineering college...or study computer science...the first language they will teach you is C. Its is really important to learn C not only because other languages are based on C also because C shows you a basic pictures of how the lower levels of a system works...!! If you can't code C...you are probably going to be a shity programmer.

    • @MisterM2402
      @MisterM2402 Před 10 lety +35

      I'm a computer science student and the first language we were properly exposed to here was Haskell (second was Java). C has been touched on in other courses, but not to a great extent. I'd say I was a shitty programmer, but more because of a lack of experience in general than a lack of knowledge of C. You can be a good programmer without being able to code C, just as you can be good at speaking English without being able to speak Latin (or having a knowledge of linguistics).

    • @otmanovic11
      @otmanovic11 Před 10 lety

      You ve got a point here !!

    • @DJ11726
      @DJ11726 Před 10 lety

      MisterM2402
      C does tend to introduce lower level stuff that most languages don't. In turn that helps a lot imo since you are forced to learn how things actually work. Especially in embedded programming. Not to mention the cool stuff you get with UNIX(-like) systems.

    • @shinjaokinawa5122
      @shinjaokinawa5122 Před 10 lety +3

      Thank you in my area once upon a time everyone was going nutso over VB, but I trusted my gut and stuck with C, C+,C++ etc...Then one day the demand for VB disappeared. Everybody wanted C and its' successors, I love it when I'm vindicated.

    • @emanuelgute
      @emanuelgute Před 10 lety +2

      Well, Notch used Java to make Minecraft...
      He got 101 MILLION DOLLARS 2012!!!
      A shitty programmer... ...Heh...

  • @dzonemanarmy
    @dzonemanarmy Před 7 lety +5

    Is this video Old or Larry is Still in the 80's ?

    • @sulfasolate
      @sulfasolate Před 7 lety +1

      c++,java,c#,python/ruby,js

    • @dzonemanarmy
      @dzonemanarmy Před 7 lety

      I'm a game programmer , each Programming language has it's own advantage and disadvantage .. for me C++ is Great choice for game programming .. i can't tell you what to learn .. ask your self what do you want ?

  • @nccamsc
    @nccamsc Před rokem

    After several years of Perl during 2000-04, I was lucky to find Python and never looked back.

  • @andrewbarnes1959
    @andrewbarnes1959 Před 3 lety

    Used Perl for 13 years now. It was fun but moving to .NET showed me how far behind I was in my skillset. Visual Studio compensates so much for all Perl's weaknesses, to the point that even the strongly typed aspect of C# doesn't hurt it much.

  • @MessedUpGaming
    @MessedUpGaming Před 9 lety +6

    I know they're very similar but is it better to learn C++ or just C?

    • @squiresuzuki
      @squiresuzuki Před 9 lety

      Both. If you've never programmed, most would probably say to learn C++ first.

    • @t3hPoundcake
      @t3hPoundcake Před 9 lety

      They're kind of similar. I wouldn't go so far as to say they are very similar. C++ Is a bit easier than C although it's still quite a tough first language to learn, but if you learn C++ first, you essentially learn an extremely useful and powerful language while getting all the scary bits out of the way so when you move onto say, JavaScript, you'll already know how to implement certain ideas in your code.

    • @glialcell6455
      @glialcell6455 Před 9 lety +15

      They are *not similar at all*. C is minimalist and can be hand-translated to assembly if you so wish. On the other hand, C++ adds polymorphism, virtualisation, templates, runtime object information, and all kinds of other stuff, but in doing so, slightly worsens performance (features can be disabled at compile time though), and gives inexperienced devs even more rope to hang themselves with.

    • @squiresuzuki
      @squiresuzuki Před 9 lety +4

      Shien The Kid I absolutely wouldn't say they're not similar at all, and definitely not in bold. C++ is almost a superset of C. C++'s creator said "incompatibilities between C and C++ should be reduced as much as possible in order to maximize inter-operability between the two languages". Of course, C++ has all the things you listed tacked on as well. But you can't say a square and rectangle aren't similar at all.

    • @Draganko123
      @Draganko123 Před 9 lety +10

      Learn C first (but learn it completely). It's much easier than C++, and you'll also grasp some basic programming knowledge before you jump into objective oriented programming.

  • @tsasa192
    @tsasa192 Před 10 lety +4

    1.C/C++/C#, 2.Java/Objective-C, 3.PHP/Javascript, 4.Python/Ruby/Perl, 5.Haskell/Lisp/Prolog

  • @leeannpark4485
    @leeannpark4485 Před 10 lety

    If you can program in C, you can pick up the other languages. Learning how to use pointers and debug programs with pointers is an invaluable skill. I learned C in college. Lots of students had trouble getting programs to run using pointers.
    Lots of students had trouble with the whole idea of recursion.
    I think if you have experience debugging programs using pointers and recursion, you can pick up any programming language.

  • @radoslawjocz2976
    @radoslawjocz2976 Před 3 lety

    I agree with you. C and Java is a basis., Perl is quite interesting stuff.

  • @ZEEXCLUSIVE
    @ZEEXCLUSIVE Před 10 lety +13

    Truth is, I only clicked on this because of the shirt.

  • @furbsimo
    @furbsimo Před 10 lety +3

    Here is my experience from working in the IT department of a very large and very well known company:
    Java - As Larry said, this will be your manager's preferred language (aka YOUR preferred language) because it's sort of a de facto industry standard. We're currently switching all our Ruby stuff to Java as part of a large, expensive, and long lived project mostly for political reasons rather than for the performance benefits. This should be your strongest language.
    Some scripting language (Ruby, Python, Perl, JavaScript...) - just pick one to learn well. Chances are your job will use a different one just because there are so many out there but they're easy to pick up and pretty similar in their function and capability. Know at least one VERY well.
    C++ - Most applications won't use C or C++ but knowing how to leverage the capabilities of getting down close to the metal is something that can be very helpful for certain problems. Also like Larry said, most higher level languages are actually implemented in C or C++. These are "genesis" for modern programming. I'd would say be proficient enough that you could whip up a quick dirty implementation for a given problem with minimal outside help on short notice.
    COBOL - Yes, businesses still run COBOL. The very heart of our operation runs COBOL code some of which dates back to the 70's. We've spent billions, with a "B", to keep it going throughout the years because it was poorly documented and slowly turned into a pile of spaghetti no one wants to touch. We're now spending additional billions, again with a "B", to completely replace it. Be able to read it and maybe make minor updates.
    Lastly, some functional language (Lisp, Scheme, Haskell, F I think) - You will never use this outside of one class in college. Learning these does teach you a new way to think about programming which is massively helpful in understanding the theory behind programming languages and computation however the only time you will actually use this is in a metaphorical dick measuring contest with someone who claims to be proficient in 20 languages.

    • @CTimmerman
      @CTimmerman Před 10 lety

      Have you tried using JRuby? It's faster than the standard implementation.

  • @joriskbos1115
    @joriskbos1115 Před 4 lety +1

    My take would be C, Haskell, Lisp and POSIX shell. If I had to pick a fifth language it would be rust or something I guess. Or assembly, but that doesn't really count as a language

  • @thegougeman
    @thegougeman Před 10 lety

    Larry is the man. An absolute genius and gentleman....

  • @AZOffRoadster
    @AZOffRoadster Před 8 lety +3

    What? No mention of Forth?

  • @ther6989
    @ther6989 Před 5 lety +3

    Python, C++, Javascript, SQL and Julia are the 5 that I know. I spent some time using Java for Lambda in AWS as well. I suppose HTML, WAS and PHP should be in there too. Honestly, it really depends on the job. Mobile game development and VR? C# with Unity. Desktop/laptop gaming? C++. Android app development? Java with Android SDk and XML. Numerical computation? Julia. Web? Javascript/CSS/ HTML5, PHP, SQL, Ruby on Rails. Scripting and other things? Python. Honestly, just start with Python and go from there. Use Python to get a grasp on basics of programming and then decide what you actually want to do and then focus on a lang suited for THAT specific task or project

  • @robertzeurunkl8401
    @robertzeurunkl8401 Před 6 lety

    "A function, mathematically, has an input and an output. And it maps with mathematical certainty what those are..."
    C and JavaScript have parameters and return values, and code that maps what *those* are.
    Seems very similar to me.

  • @Geomaverick124
    @Geomaverick124 Před 4 lety

    I would say that if you learn javascript, python, php, and Java or C# you will have all basis covered. It is a bit deeper than that since learning those languages mean you will be learning their respective development environments (MERN Stack, Django, Laravel and mySQL, SPRING and .NET)...you will be learning more than just 5 languages...but as a start those 5 (or 6) will make you well rounded

  • @username17234
    @username17234 Před 10 lety +23

    Description: "Cobalt" Ahaha lol, its COBOL

  • @romeoneverdies
    @romeoneverdies Před 7 lety +6

    C++ , Delphi/ pascal, php , python, ARM based assembly

    • @frankzvovu
      @frankzvovu Před 7 lety +2

      Love Delphi but Embarcadero made it too impractical to use cost-wise....

    • @garetclaborn
      @garetclaborn Před 6 lety +1

      @Frank www.lazarus-ide.org/

  • @aoeu256
    @aoeu256 Před 4 lety

    Haskell seems like Perl done right... especially if you use Haskell dynamic, lens, unsafePerformIO, and defer type errors. What can be done more easily in Perl that can’t be done in Haskell? Hashes in Haskell can be done with assoc lists, and hash tables in the st monad.

  • @utahrail
    @utahrail Před 9 lety +1

    Good video one note I think Javascript is important for programming NoSQL databases like CouchDb, it's not just a form-design language anymore.