Bjarne Stroustrup: The 5 Programming Languages You Need to Know | Big Think

preview_player
Показать описание
Bjarne Stroustrup: The 5 Programming Languages You Need to Know | Big Think
"Nobody should call themselves a professional if they only knew one language."
------------------
Bjarne Stroustrup is a computer programmer most famous for having designed and implemented the computer programming language C++, one of the most widely used programming languages in the world. His book "The C++ Programming Language" is the most widely read book of its kind and has been translated into at least 19 languages. In addition to his five books, Stroustrup has published hundreds of academic and popular papers. He currently holds the College of Engineering Chair in Computer Science at Texas A&M University.
------------------
TRANSCRIPT:

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 knew one language. And five is a good number for 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 wrote a couple of little programs like [...]. But five isn’t a bad number. Some of them book 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 know 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-Sharp. 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.
------------------
Follow Big Think here:

Рекомендации по теме
Комментарии
Автор

He actually deserves to say "C++, of course".

meezookee
Автор

00:47 "Python for mainline work." Talk about predicting the future. This video was 9 years ago.

danbuffington
Автор

I love how he says "keep your head spinning when it needs to", exactly what some people need to hear:D

silararkimov
Автор

What most of us find is that by learning how to get things done in a vastly different language, you learn a deeper understanding of your primary language. Its strengths, its limitations, its biases, and the ways it has biased your thoughts and designs. All this and you learn new and useful techniques to apply back home.

I personally didn't REALLY get English grammar until I took a foreign language. It's really the same. Perspective begets wisdom.

Novascrub
Автор

For some weird reason I find his voice soothing. I wonder what it would sound like if he would do "The C++ Programming Language" audio book, including the examples.

poldergeest
Автор

As he said: While learning one language, you usually learn some others implicitly. This is very true for Java and C#. The important / difficult part is getting familiar in an API.

photoallergic
Автор

For me, it's a managed language (C# or Java), a compiled high-performance language (C, C++, or D), an interpreted script language (Python, Ruby, or Lua), a functional language (I like ML-based ones like F# and OCaml), and for sure have a suite of web technologies under your belt (JavaScript, CoffeeScript, or TypeScript; HTML or any of its template engines like Jade; CSS or it derivatives such as SASS or SCSS; and a serialization format such as XML, YAML, JSON, etc.). It's also good to know a LISP (Clojure is a great place to start). A good programmer has a wide swathe of experience and is always willing to learn something new. Clinging to one language in the fetal position and resisting new things only harms you long-term.

nERVEcenter
Автор

If you aren't going to solve a problem using a programming language, don't learn it, most people think if they finish a codecademy track, they will be "programmers", programming is about problem solving, and not just being able to write a function in a given programming language.

souhailkaoussi
Автор

...in addition to c++, Java, Javascript, Ruby and c#, I also recommend English.

eventhisidistaken
Автор

if you can learn C or Java to a level of complete understanding then you can learn anything. I spent 5 years studying/using the 2.

Javascript took me a week to learn and Python took me less than a month.

Languages are tools, use the correct tool to build the correct parts of your system.

webiplus
Автор

i had this guy as a professor... it was awesome

CarterColeisInfamous
Автор

I agree 100%. One thing that is not really that necessary, but I think is really cool when you already are a decent programmer is to also look into one assembly language. It will most likely not be necessary for your job, but I found it pretty cool.

MsJavaWolf
Автор

Kinda depends on what you are.
A programmer? A scientist? An engineer? A mathematician?

MrCmon
Автор

Bjarne Stroustrup looks like in a movie when they have to make the lead character old for a scene or two and put a bunch of makeup on them, but it still just looks like a young person in make-up rather than a real old person.

Cerealbox
Автор

My top picks: C/C++, Go, Rust, Python, JavaScript

Honorary Mentions:

- Java
- C#
- Basic Shell Scripting

mattt
Автор

1. SQL: Declarative programming in a timeless and eternal programming language
2. Java: OOP, programming with a garbage collector
3. JavaScript: pragmatism, learning to work with code existing in an ecosystem with an enormous amount of libraries and toolings
4. Rust: Imperative programming, some functional programming, programming closer to the hardware, solving puzzles with a demanding type system, and type classes
5. Clojure: functional programming, LISP, simplicity, working with a REPL, dynamic systems

It's about learning concepts, , not languages. So many combinations work, this is just one.

lz-gg
Автор

That would depend upon the time when you initially started programming. I'm 43 and have been programming since age 12. The difference between that time and the current, is RAD. These IDE types allow the developer to deploy a project across many native code based using one language. So, today you're correct in that assumption; however, back when I came around you had to do everything yourself. Rapid Application Development has its perks, but decreases the roundness of the programmer.

chrisac
Автор

the only guy i know with very little hair who has Way too much HAIR!!!

alvisc
Автор

“I haven’t cheated with the numbers. I rounded out a design space” Bjarne brining Boolean to the real world.

critstixdarkspear
Автор

I have 10 years of C++, Tcl, Perl and Python under my belt, and I am indeed struggling with Haskell ... but I'm determined to go through with it as I really like the language so far, even if it's giving me constant headaches.
I've heard a lot of people say that every programmer should know at least one functional language as it's supposed to totally change the way you approach problems.

antred