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).
***** 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.
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.
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.
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.
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.
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.
@@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.
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.
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.
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.
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 )
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.
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.
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.
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.
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.
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
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
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.
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
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).
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.
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.
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.
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.
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).
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.
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.
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.
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.
My take, in no particular order - Java - JavaScript - VBA (if you work in a typical office environment and use Excel a lot) - C (learn how to program properly with a strong typed language) - Assembler (to really understand computers)
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)
I would say the five programming languages everyone should know about even if they don't want to know programming are: C, Java, Python, Go, and probably Javascript.
+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.
+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.
1. C (ANSI) - essential to many things, least of all low level OS programming 2. Java or C# - a JIT-compiled garbage collected OO language for large scale commercial development 3. Haskell or F# - statically typed functional programming language to meet two crucial demands of modern day computing: data manipulation and parallel programming 4. Javascript - indispensable tool for the client side, when everything is going into cloud 5. C++ (and/or Objective C) - native OO useful for many things
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)
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.
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. ;)
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…)
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.
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.
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.
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.
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.
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.
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.
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
I put Perl at the top of the list simply because it has the best documentation for people who want to learn the basics of programming. There are thousands of excellent books explaining Perl. Once you know one language, learning other languages is much easier.
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.
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.
Lisp will always be on this list, I think. It's probably the most beautiful, simple, and versatile programming language family ever conceived, and it has been for a very, very long time. And as much as many people say otherwise, Lisp is still very relevant. I use it all the time at work, from tinkering with my emacs config in elisp to writing webstuff in Clojure. Even so, Haskell is best language.
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
The worst part of being a developer is talking to other douche bag developers who think they know it all. Me: the sky is blue. Them: Well that's stupid to say that because that's not the most efficient way to go about doing that. The sky is actually black, but when white light shines through a prism, the light is separated into all its colors. A prism is a specially shaped crystal. If you visited The Land of the Magic Windows, you learned that the light you see is just one tiny bit of all the kinds of light energy beaming around the universe--and around you! Like energy passing through the ocean, light energy travels in waves, too. Some light travels in short, "choppy" waves. Other light travels in long, lazy waves. Blue light waves are shorter than red light waves." Bro stfu I don't need this write now. lol
+Jay Bartgis sounds like people try to stop you from making problems for scaling and you think they're just talking shit cause they think they're great. they're probably trying to help you not destroy the company ^_^;
Put simply, Object Orientation is "thinking in objects". if a language can give you that, then it is object oriented, there is no hidden message to the words "Object Orientation". If you can model real world entities and their relationships perfectly, then it is Object Oriented.
Just ignore the really advanced stuff like CoMonads, Profunctors, Arrows, although learn about how to use Lenses. At first use the IO Monad and maybe the State Monad (which is almost the same as the IO Monad hahah). Don't try to write your own Monads or MonadTransformers. Recursion is easier to understand than Folds unless you are using a function (Monoid) that is associative. Use the applicative functors (generic map) and to work with collections and monads. Have your IDE, or use Holes (Haskell holes) and hoogle autocomplete hard things for you. Use trace, unsafePerformIO, and splitting big functions into lots of little functions for debugging.
Honestly, as a beginner who started this week, list comprehension is so nifty and very minimal. Looking forward to learning more... in the coming weeks.
My List: - Python (Covers the base for scripting languages, helps to understand Javascript/perl etc) - Java (A good OOP language that everyone asks for) - C (A solid understanding in medium level prodcedural languages help a lot, like learning latin really) - x86 or ARM Assembly ( A knowledge of assembly is fundemental to knowing how a computer actually works. x86/64 and ARM are pretty unanimous). - a Lisp Dialect (This helps cover the confusing base of functional languages)
My List: 1) C/C++ for low level stuff. 2) Python for data science, AI, and machine learning. A good beginner language. 3) Javascript because knowing at least a little is necessary for web development. 4) Clojure for full stack web development and because it's one of the most approachable functional languages for beginners. I'm also excited at the future possibilities for Clojure in the fields of data science and machine learning. 5) Java because my university made me use it for a bunch of projects.
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.
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.
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.
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.
My take on the subject today would be: 1. JavaScript (totally unbiased) 2. Python (for AI and all the IoT) 3. Go/Rust (for easy performance) 4. Haskell (for learning functional programming) 5. C (for understanding how your computer works) Honorable mention to C# for slowly dethroning Java.
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 ?
Absolute Beginner’s Guide to C, 2nd Edition by Greg Perry. C++ derives from C, so learning C is wise from where I stand. I'm learning it currently and this book helps a lot. Good luck, afk.
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.
wolfson109 actually this is a fallacy. you can produce very clean and bug free code using assembly or you can produce dirty and buggy code using _any_ language. assembly teaches you to make efficient and compact code. i've seen some of the mess hll and vhll programmers write which they could've avoided if they had some minimum training in assembly language. ease of programming comes in from the support tools you use, namely the ide systems. assembly and various other languages lack in this department because they are simply not supported by corporations.
"assembly teaches you to make efficient and compact code. " No, it teaches you a bag of little tricks like clearing a var with XORs, swapping numerically values (which can be done with C also), and tons of shit avoiding those terrible mov's for register instructions... Yeah, and most of those tricks a modern C compiler will do for you in billions of time-ticks faster than you can. *Math* teaches you efficiency and compactness LOL
VB6 made me a millionaire, empowered millions of others to do so too, and was for a time, before the careerists took it off the market out of jealousy (they really didn't like having their boss out-code them), THE most popular language ever. So hey, leave it off the list and keep looking really uncool if that floats your boat Mr W.
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.
Hey Scott, first learn what is OO. No, you have no idea. No, it's not JavaScript. No, the "Script" part of the name is not there by accident. Second: telling someone to "Shut up" on yt without being admin or channel owner is something that goes with stupidity of JavaScript. Learn some real language, get a life and don't say things that you can't implement (like "Shut up").
Java the language is a high verbose and imperative language, and is not so strong object oriented (primitives int vs Integer). But we need to disjoin the language from the platform. And that is the key for the success of Java, the platform is very well founded and the JVM, libraries and frameworks are the ones that make Java the top used platform. The best thing Sun engineers made, was the separation between language and JVM, today we have lots of languages running on the JVM all competing to take the Java language throne, or to complement, and all the languages have some level of interoperability. I think the most promise is Scala, because is a language that is bringing a interesting ecosystem (frameworks) and is a mind paradigm shift for the developer but with a graduation step by step from imperative to functional
Paul V Barbar Try learn scala or haskell for the perspective of java in a couple of weeks... In haskell you will need to forget everything you know and start over, in scala you can take some things but they are just 1% you can't master it from this perspective.
Giovanni Silva Dude,whatever you do,stick with one language for some time.,try to do all kind of stuff. Go deeper in one language..So starts with core heavy language that evolved in time..Its a painful and lengthy process,but its the way.. if a guy,say he know some c , little python,some okay javascript. He is not any better than a guy who knows expert java(or any language of your choice).
Paul V Barbar I agree. It takes time to learn a language and more time to fully work with it and everyone should know deeper at least one language. Let me reformulate my point: I know once you learn Java the syntax is similar to a huge number of object oriented languages. That is because Java is inspired in C and other languages inspire in both for it popularity. But someone that master the Java language with decades of experience, can't say that will learn every other language, in fact they could take more time to learn complete different paradigms because this person will try to make things from the perspective of the Java language, that is more natural for him. A language is like a tool for get the job done, if someone know only one, lets say this person have only a hammer and the problem requires a parafuse, this person could get the job done with some blood of they eyes and fingers :-) instead of a elegant parafuse solution. I agree that know superficially a huge number of languages is not the way to go. This simile is a rough simplification cause languages are more than tools, they are a expression of think. But know different languages deeper enough (not need to be a expert) let the programmer to think beyond the limitations of one language, and let the programmer to think in more wise solutions, even for its main used language. I believe know multiple languages, specially multiple paradigms like functional, imperative, logic and object oriented, can make a better programmer and should be part of the continuous evolution of everyone
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.
Want to get Smarter, Faster™?
Subscribe for DAILY videos: bigth.ink/SmarterFaster
Yeah. Great transcription. “Cobalt”, uh I think you mean COBOL.
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).
Python is becoming more ubiquitous and definitely worth knowing over Perl nowadays
+Remram
Right, Python is sort of becoming the new visual basic.
Does VB.net have two incompatible versions called 2 and 3? 😬
I'm glad he's honest about why he chooses Perl as number 5.
***** 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.
This interview must have been written in Java as it took 6min to what could have been said in less than 1min.
NAILED !!! :)
waaaaaaaaaa
HAHAHA
Joshua Smith lol
Yeah we need interview written in c or assembly
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.
4:43 "Almost all the languages that you C... are actually implemented in C" I C what U did there friend.
Ha! I found you're pun! + I C what he did there now, heh, I like making puns.,
Haha.. "Java : It looks like you're getting a lot done"
I immediately hit 👍 after hearing his brilliant shoe leather analogy
@@DanDeebster i laughed so hard at that
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
Perl ~The only language that looks the same before and after RSA encryption.
VirtualCoder Unless the programmers are really, really good at following coding standards. Ahem.
Perl is a "Write Only" language. :)
I lol'd. One dev's perl script is another dev's nightmare.
Spoken by someone who never encountered APL
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.
"managers like it because it looks like you got a lot done" CLASSIC
Shoe leather analogy was A+.
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.
I would just say that TypeScript definitely does not simplify anything - it does the opposite - but otherwise I agree completely.
"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
this guy is still in the 80s !!!
That shirt looks more 70s to me.
+Hotboytrue its called batik. traditional button down shirt in Indonesia and Malaysia.
He remembers me the protagonist of the film Her.
lol yeah and you will never accomplish as much in your lifetime as he did in 10 years
say's a guy behind a keyboard ...
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.
Python is a scripting language, not a programming language.
Gillian Cohen "Scripting language" and "programming language" aren't mutually exclusive concepts, you know. Python is a programming language.
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.
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.
storerestore
By we, I mean us Python scripters.
He forgot about punch cards. The only language anyone should learn in 2014 are punch cards.
Make that binary.
My programming teacher talked to us about how he had to learn on punch cards in the military as his first language
@@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.
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.
Just LEARN C, the mother, the father, the GOD of all modern languages.
Later upgrade to C++, when you learn C++, JAVA and C# is 2EZ2LEARN
JS, Phyton, Ruby, PHP are the most popular scripts.
Or just learn ASEMBLY or direct BINARY programing, but only if you are a Alien.
Marcelino Sandroni hahahahah
Marcelino Sandroni
I programmed in assembly language, that is the real deal.
The best programming language will always be the one you spent most time with.
underrated comment
@@arpittaneja but not actually true
English??😂
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.
So great to see and hear Larry speak.
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.
You're so right about JavaScript and Julia! I wish we could learn Julia instead of Python at my uni.
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 )
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.
mnm. N/9nn.lnn. ....
. M. Linč. N. .M 66zbj;m/
⏳🍺🍧🍦🍩🍨🍨🍦🍴🍨🍴🍧🍦🍺😤
.
. . . 😷😵
I would throw in assembly and/or C as it gets one close to the hardware.
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.
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.
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.
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.
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
+TheProfiler wow, thanks for that summary!
Best comment, :D hail heskell
Thanks, but what's "inline abstractions"?
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
C doesn't have classes, but ok
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.
I recommend learning Piet. It is not useful but is the most beautiful language and also shows you what programming can be.
In short:
- JavaScript
- Java (Love it or hate it)
- Haskell
- C
- Perl (Or Python/Ruby)
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
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).
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.
well if you wanna build programs that run on os x you HAVE to use obj-C. What should people use instead of php?
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.
Tecnovlog What to use instead of PHP? A carrier pigeon with a pack of Post-its, a pencil and moderately acceptable penmanship.
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.
void pointers let you do anything
"Java is the Cobol of the 21st century" -> I love this guy !! ;) :)
Lisp, the language that is what you want it to be
Lisp and JavaScript, Python are very similar as well.
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.
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).
You ve got a point here !!
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.
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.
Well, Notch used Java to make Minecraft...
He got 101 MILLION DOLLARS 2012!!!
A shitty programmer... ...Heh...
I didn't expect to laugh out loud while watching a video about programming languages, but Larry Wall made me do just that.
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.
Matthew H -- NSA and CIA use it a lot. For hacking.
i agree re:PHP. it hasn't been just for the web since 1999 when it got STDIO
I like this guys mannorisms..
I like the way he behaves in his little castle too
well played
Personally I MUCH prefer Womenerdisms ;]
years ago
1. 4tran
2. Cobol
3. Basic
4. Lisp
5. APL
------ Now------
JavaScript
Java
Haskell
C
Phython/Ruby/Perl
I was a Java programmer once. Got sick of the size of those fucking stack traces to be honest.
Java
Python
C/C++
JavaScript
PHP
PHP is cancer.
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.
What's replacing php?
Perl , node.Js , python , Ruby
I am studying my aim is to work in IT companies what are the coding I had to learn to work in IT companies
+phil taylor You do realize HTML5 and CSS3 are markup languages, and jQuery is just a library for Javascript?
Ha, I am here after 7 years from the Future...
Python or perl ? I think it's python for sure.
+Eric Wang Definitely python. It's more modern, easier than perl, and and looks much easier.
+Eric Wang Perl is gaining popularity back again tho.
+TheMRJewfro Perl has so much more freedom
With Perl, you can do so much in just a couple lines. But, python is easier to read...
The reason why he favored Perl is.. HE created it!
My take, in no particular order
- Java
- JavaScript
- VBA (if you work in a typical office environment and use Excel a lot)
- C (learn how to program properly with a strong typed language)
- Assembler (to really understand computers)
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)
I still love C and assembly language. May be more primitive but thousands of times faster than any language that uses a runtime module.
I basically just bought books based on what this guy was talking about.
PC: C#
Mac: Objective-C
Linux: Anything because Linux is awesome
My Top 5:
Ruby, Python, PHP, Perl, C
It does not make sense at all to program for different platforms using different languages. What a waste of time.
I would say the five programming languages everyone should know about even if they don't want to know programming are: C, Java, Python, Go, and probably Javascript.
Agreed, in my first year we're starting Python but many of us previously had experience in Pascal and Visual Basics.
Not Cobalt; COBOL. Acronym for Common Business Oriented Language.
James Smith lol
+James Smith He said COBOL dude.
+FLVT0 Sorry. I read the text in the description.
+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.
+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.
1.C/C++/C#, 2.Java/Objective-C, 3.PHP/Javascript, 4.Python/Ruby/Perl, 5.Haskell/Lisp/Prolog
Larry Wall, so hot right now.
***** omg where is hansel, so hot right now.
+ViLeDeth
His name is Haskell these days
😂
let me guess codebabes is probably male gay programmer
If you were on fire and I had a cup of my own piss, I’d drink it.
1. C (ANSI) - essential to many things, least of all low level OS programming
2. Java or C# - a JIT-compiled garbage collected OO language for large scale commercial development
3. Haskell or F# - statically typed functional programming language to meet two crucial demands of modern day computing: data manipulation and parallel programming
4. Javascript - indispensable tool for the client side, when everything is going into cloud
5. C++ (and/or Objective C) - native OO useful for many things
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)
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.
JS has a nice syntax and features optional semicolons and easy objects, so with transpiling you could use it for anything.
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. ;)
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…)
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.
Amse Master
Logic is a strict subset of mathematics.
Programs are actually proofs of functions.
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.
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.
It's interesting how you dress in the style of the decade during which you were most successful.
kemchobhenchod aint that a batik shirt from Indonesian or Malaysian country?
Sex tourism rules, man.
I laughed, but that was rude
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.
I enjoy how he is grouping the languages, and you should learn from one of a group.
I'm learning programming in college.
It's C++.
This is my first language.
KILL ME.
JLock17 RIP
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.
JLock probably doesn't have a choice right now.
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.
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.
Assembly master race
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
I put Perl at the top of the list simply because it has the best documentation for people who want to learn the basics of programming. There are thousands of excellent books explaining Perl. Once you know one language, learning other languages is much easier.
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.
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.
Have you tried using JRuby? It's faster than the standard implementation.
And I waited for him to say "C++" .. but he didn't. :'(
Because he's stupid. That's why.
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....
Lisp will always be on this list, I think. It's probably the most beautiful, simple, and versatile programming language family ever conceived, and it has been for a very, very long time. And as much as many people say otherwise, Lisp is still very relevant. I use it all the time at work, from tinkering with my emacs config in elisp to writing webstuff in Clojure.
Even so, Haskell is best language.
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
RECURRING RELATION
1)Java
2)Python
3)PHP/pearl
4)C++
5)C
Pearl... Jam?
Your post is invalidated by Pearl
get rid of python and you're right
The worst part of being a developer is talking to other douche bag developers who think they know it all.
Me: the sky is blue.
Them: Well that's stupid to say that because that's not the most efficient way to go about doing that. The sky is actually black, but when white light shines through a prism, the light is separated into all its colors. A prism is a specially shaped crystal. If you visited The Land of the Magic Windows, you learned that the light you see is just one tiny bit of all the kinds of light energy beaming around the universe--and around you! Like energy passing through the ocean, light energy travels in waves, too. Some light travels in short, "choppy" waves. Other light travels in long, lazy waves. Blue light waves are shorter than red light waves."
Bro stfu I don't need this write now. lol
+Jay Bartgis sounds like people try to stop you from making problems for scaling and you think they're just talking shit cause they think they're great. they're probably trying to help you not destroy the company ^_^;
You sound like a bad programmer.
Yea, just go on stackoverflow. Not a very welcoming community.
Mark Paul Cards i needed this lol
The sky is transparent at night.
Big shock, Perl is one of them. I've managed to go 25+ years WITHOUT knowing it. Thank you for making Perl incomprehensible, Larry. :)
same, agreed !
Great interview and thanks a lot Larry for Perl. Perl and its community rule!
Put simply, Object Orientation is "thinking in objects". if a language can give you that, then it is object oriented, there is no hidden message to the words "Object Orientation". If you can model real world entities and their relationships perfectly, then it is Object Oriented.
On the transcript : Cobol, not Cobalt.
I find Haskell to be like a video game. You don't have to be smart, just logical.
Just ignore the really advanced stuff like CoMonads, Profunctors, Arrows, although learn about how to use Lenses. At first use the IO Monad and maybe the State Monad (which is almost the same as the IO Monad hahah). Don't try to write your own Monads or MonadTransformers. Recursion is easier to understand than Folds unless you are using a function (Monoid) that is associative. Use the applicative functors (generic map) and to work with collections and monads. Have your IDE, or use Holes (Haskell holes) and hoogle autocomplete hard things for you. Use trace, unsafePerformIO, and splitting big functions into lots of little functions for debugging.
Honestly, as a beginner who started this week, list comprehension is so nifty and very minimal. Looking forward to learning more... in the coming weeks.
And those 100 lines of Java still likely perform better than half as many in Perl, Larry.
setting the bar pretty low there lol
My List:
- Python (Covers the base for scripting languages, helps to understand Javascript/perl etc)
- Java (A good OOP language that everyone asks for)
- C (A solid understanding in medium level prodcedural languages help a lot, like learning latin really)
- x86 or ARM Assembly ( A knowledge of assembly is fundemental to knowing how a computer actually works. x86/64 and ARM are pretty unanimous).
- a Lisp Dialect (This helps cover the confusing base of functional languages)
My List:
1) C/C++ for low level stuff.
2) Python for data science, AI, and machine learning. A good beginner language.
3) Javascript because knowing at least a little is necessary for web development.
4) Clojure for full stack web development and because it's one of the most approachable functional languages for beginners. I'm also excited at the future possibilities for Clojure in the fields of data science and machine learning.
5) Java because my university made me use it for a bunch of projects.
wow this guy came out of the 70's :)
"wow this guy came out of the 70's"
Apparently he still hasn't.
Description: "Cobalt" Ahaha lol, its COBOL
I know they're very similar but is it better to learn C++ or just C?
Both. If you've never programmed, most would probably say to learn C++ first.
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.
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.
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.
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.
My take on the subject today would be:
1. JavaScript (totally unbiased)
2. Python (for AI and all the IoT)
3. Go/Rust (for easy performance)
4. Haskell (for learning functional programming)
5. C (for understanding how your computer works)
Honorable mention to C# for slowly dethroning Java.
First year of my CS degree and only on JAVA, got a long way to go, hope other languages come easier after learning one.
Truth is, I only clicked on this because of the shirt.
That's a batik shirt
C++ , Delphi/ pascal, php , python, ARM based assembly
Love Delphi but Embarcadero made it too impractical to use cost-wise....
@Frank www.lazarus-ide.org/
I was surprised at how nice he came across. He seems like a nice chap.
Beautiful speech Larry Wall, thumbs up for you.
What? No mention of Forth?
yeah right :(
Is this video Old or Larry is Still in the 80's ?
c++,java,c#,python/ruby,js
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 ?
Java, Python and C++ : You should learn
Replace Java with C and you're right.
Replace Python with C and you're right.
Replace all with C and you're right.
I didn’t know you could make a GUI with Python. I thought it was just a scripting language.
Josh Blagden You can do whatever u want m8
Absolute Beginner’s Guide to C, 2nd Edition by Greg Perry. C++ derives from C, so learning C is wise from where I stand. I'm learning it currently and this book helps a lot. Good luck, afk.
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.
pfft. just learn assembly. that's where real coding happens. everything else is just script-kiddie stuff.
Urudrim Technically the 'coding' occurs at machine code.
Read as "I enjoy making my life a misery and taking far too long to produce buggy and unmaintainable code."
wolfson109
actually this is a fallacy. you can produce very clean and bug free code using assembly or you can produce dirty and buggy code using _any_ language.
assembly teaches you to make efficient and compact code. i've seen some of the mess hll and vhll programmers write which they could've avoided if they had some minimum training in assembly language.
ease of programming comes in from the support tools you use, namely the ide systems. assembly and various other languages lack in this department because they are simply not supported by corporations.
"assembly teaches you to make efficient and compact code. "
No, it teaches you a bag of little tricks like clearing a var with XORs, swapping numerically values (which can be done with C also), and tons of shit avoiding those terrible mov's for register instructions... Yeah, and most of those tricks a modern C compiler will do for you in billions of time-ticks faster than you can. *Math* teaches you efficiency and compactness LOL
Borilius Belatorium
sounds like somebody was buttraped by assembly. it's okay, don't feel bad. assembly isn't for everyone.
He looks exactly like a guy who would invent Perl, lol.
Larry Wall looks like Steve Jobs with a mustache
GlyGlue ...Or Weird Al Yankovic's straight-haired brother.
VB6 made me a millionaire, empowered millions of others to do so too, and was for a time, before the careerists took it off the market out of jealousy (they really didn't like having their boss out-code them), THE most popular language ever. So hey, leave it off the list and keep looking really uncool if that floats your boat Mr W.
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.
JavaScript is Object-Based not Object-Oriented.
Hey Scott, first learn what is OO. No, you have no idea. No, it's not JavaScript. No, the "Script" part of the name is not there by accident. Second: telling someone to "Shut up" on yt without being admin or channel owner is something that goes with stupidity of JavaScript. Learn some real language, get a life and don't say things that you can't implement (like "Shut up").
I think html and css are pretty important cause many languages are based off of them
+omar younes Those aren't programming languages, they are markup languages.
They are handy to know though.
hal ***** I had those two pretty confused. thanks for that
I don't know why I hate Java. I just do. Can someone give their input on the language?
Java the language is a high verbose and imperative language, and is not so strong object oriented (primitives int vs Integer). But we need to disjoin the language from the platform. And that is the key for the success of Java, the platform is very well founded and the JVM, libraries and frameworks are the ones that make Java the top used platform. The best thing Sun engineers made, was the separation between language and JVM, today we have lots of languages running on the JVM all competing to take the Java language throne, or to complement, and all the languages have some level of interoperability. I think the most promise is Scala, because is a language that is bringing a interesting ecosystem (frameworks) and is a mind paradigm shift for the developer but with a graduation step by step from imperative to functional
it will be at first, but once you somewhat master core java ,every other language will look easy enough,that you can learn in couple of weeks..
Paul V Barbar Try learn scala or haskell for the perspective of java in a couple of weeks... In haskell you will need to forget everything you know and start over, in scala you can take some things but they are just 1% you can't master it from this perspective.
Giovanni Silva
Dude,whatever you do,stick with one language for some time.,try to do all kind of stuff. Go deeper in one language..So starts with core heavy language that evolved in time..Its a painful and lengthy process,but its the way..
if a guy,say he know some c , little python,some okay javascript. He is not any better than a guy who knows expert java(or any language of your choice).
Paul V Barbar I agree. It takes time to learn a language and more time to fully work with it and everyone should know deeper at least one language. Let me reformulate my point: I know once you learn Java the syntax is similar to a huge number of object oriented languages. That is because Java is inspired in C and other languages inspire in both for it popularity. But someone that master the Java language with decades of experience, can't say that will learn every other language, in fact they could take more time to learn complete different paradigms because this person will try to make things from the perspective of the Java language, that is more natural for him.
A language is like a tool for get the job done, if someone know only one, lets say this person have only a hammer and the problem requires a parafuse, this person could get the job done with some blood of they eyes and fingers :-) instead of a elegant parafuse solution. I agree that know superficially a huge number of languages is not the way to go. This simile is a rough simplification cause languages are more than tools, they are a expression of think. But know different languages deeper enough (not need to be a expert) let the programmer to think beyond the limitations of one language, and let the programmer to think in more wise solutions, even for its main used language.
I believe know multiple languages, specially multiple paradigms like functional, imperative, logic and object oriented, can make a better programmer and should be part of the continuous evolution of everyone
TOP 5 to learn
5.Chrome
4.Word
3.Excel
2.SQL
1.HTML
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.