5 programming languages you need to know

“Nobody should call them a professional if they only know one language.”

One of my mentors once told me, “A programming language is just a programming language. It doesn’t matter if you’re a good programmer, it’s the syntax that matters”. Nobody should call them a professional if they only know a language. I indeed reckon it’s true when I consider the web developers. They have to work in several languages and frameworks. More computer languages could have been created in the last hundred years than the total number of spoken languages that have ever existed. But what are some of the most important languages among those thousands available? Why is it necessary for a non-programmer to have a knowledge of programming languages? Are all programming languages same and just are different syntactically? No, actually different languages have different purposes and different techniques for solving the problems. Functional languages are for high-performance numerical computation. While some are special-purpose programming language such as SQL, used for designing relational databases and some are markup languages, that is, different languages have different purposes.

Bjarne Stroustrup: The 5 Programming Languages You Need to Know

Bjarne Stroustrup is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language.

Question: What are the five most important languages that programmers should know?

Bjarne Stroustrup: First of all, nobody should call themselves a professional if they only know one language. And five is a good number of languages to know reasonably well. And then you’ll know a bunch, just because you’re interested, because you’ve read about them, because you’ve written a couple of little programs. But five isn’t a bad number. Some of them books between three and seven. Let’s see, well my list is going to be sort of uninteresting because it’s going to be the list of languages that are best known and useful, I’m afraid. Let’s see, C++,of course; Java; maybe Python for mainline work. And if you know those, you can’t help knowing sort of a little bit about Ruby and JavaScript, you can’t help knowing C because that’s what fills out the domain and of course C#. But again, these languages create a cluster so that if you knew either five of the ones that I said, you would actually know the others. I haven’t cheated with the numbers. I rounded out a design space. It would be nice beyond that to know something quite weird outside it just to have an experience, pick one of the functional languages, for instance, that’s good to keep your head spinning a bit when it needs to. I don’t have any favorites in that field. There’s enough of them. And, I don’t know, if you’re interested in high-performance numerical computation, you have to look at one of the languages there, but for most people that’s just esoteric.

Larry Wall: 5 Programming Languages Everyone Should Know

Larry Wall is a computer programmer and author, most widely known as the creator of the Perl programming language and Camelia, the spunky spokesbug for Perl 6.

Question: What are the five programming languages everyone, even non-programmers, should know about and why?

Larry Wall: Oh, boy, that’s a really tough question. It’s kind of like asking what are the five countries you should know about if you’re not interested in geology, or geography, or politics, and the answer varies depending on what your actual interests are, or what are the five companies you should know. And the answer changes over time, too. Back when I was getting started, to 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 is to 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 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 minimalist 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, and 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.

Interview is based upon Big Think http://bigthink.com


Originally published at www.binodaryal.com.np on January 10, 2016.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.