5 Programming Languages Everyone Should Know
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.
Question: What are the five programming languages everyone, even non-programmers, should know about and why?
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.
But it also, because it is sort of considered an industrial language and programmers are sort of interchangeable parts, managers like it for that reason, and for that reason, a lot of Java jobs have been outsourced from the United States.
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.
Java is "heavyweight, verbose, and everyone loves to hate it," but programmer Larry Wall still thinks you should know it. In this video, he offers suggestions for people interested in learning languages, as well as suggestions for those significantly less invested in computer programming.
Elon Musk took issue with recent ideas for space exploration from Jeff Bezos.
- Elon Musk and Jeff Bezos have sparred over space exploration previously.
- Musk wants to focus on Mars while Bezos has the moon and space colonies as goals.
- In a recent tweet, Musk called out Bezos's plans for space colonies as unrealistic.
If you don't want to know anything about your death, consider this your spoiler warning.
- For centuries cultures have personified death to give this terrifying mystery a familiar face.
- Modern science has demystified death by divulging its biological processes, yet many questions remain.
- Studying death is not meant to be a morbid reminder of a cruel fate, but a way to improve the lives of the living.
- Push Past Negative Self-Talk: Give Yourself the Proper Fuel to Attack the World, with David Goggins, Former NAVY SealIf you've ever spent 5 minutes trying to meditate, you know something most people don't realize: that our minds are filled, much of the time, with negative nonsense. Messaging from TV, from the news, from advertising, and from difficult daily interactions pulls us mentally in every direction, insisting that we focus on or worry about this or that. To start from a place of strength and stability, you need to quiet your mind and gain control. For former NAVY Seal David Goggins, this begins with recognizing all the negative self-messaging and committing to quieting the mind. It continues with replacing the negative thoughts with positive ones.
SMARTER FASTER trademarks owned by The Big Think, Inc. All rights reserved.