Live data from Hacker News

If you could only learn three programming languages, which would you choose?

spreadsheets.google.com

51–60 of 69 posts

Re: If you could only learn three programming languages, which would you choose?

#51

Three is a good number. C needs to be one of them, because everyone writes their libraries in C, and you need to use them and be able to contribute your own libraries. Don't use C for applications, though; there is no performance gain (gluing C libraries together in C is as fast in $foo as it is in C for most values of $foo), and there is a maintainability and expressiveness loss. Libraries are simple enough and smal…

> I picked Perl over Python and Ruby because they all really suck performance-wise, but at least Perl has a great community and a great library repository.

I recently learned that Lua is pretty fast, according to anecdote and shoot-out data. I did not like the syntax, when I last looked at it. But I might change my might. I mostly use Python for this class of things at the moment. Though I could see myself use Haskell more.

We use OCaml at work for your first and second category. (We do interface with C, too.)

Re: If you could only learn three programming languages, which would you choose?

#52

Three is a good number. C needs to be one of them, because everyone writes their libraries in C, and you need to use them and be able to contribute your own libraries. Don't use C for applications, though; there is no performance gain (gluing C libraries together in C is as fast in $foo as it is in C for most values of $foo), and there is a maintainability and expressiveness loss. Libraries are simple enough and smal…

[deleted]

Re: If you could only learn three programming languages, which would you choose?

#55
post #27

I was intrigued that my answers for 1,2 & 3 are the most popular. I answered 1:C for simplicity and an an appreciation for where we've come from. 2:Python because i've never felt as free to express as when using python. 3:Javascript because it's practical to learn it. For others who answered C->Python->Javascript, what were your reasons?

I answered Python->C->Javascript, but I'll pretend I was invited anyway. :) Python because I enjoy it the most -- if I had to be stuck with a single language, Python would be it. Even if it doesn't run the fastest, its library set and readable syntax make it very endearing to me. I picked C next because it's the obvious choice for speed and systems programming. The fact that you can write libraries for use in many other languages in C is also very appealing. Finally, knowing Javascript lets you contribute to the web. It's a great scripting language that I think gets a lot of flack from people that had to use it in the days before great toolkits like jQuery. While I'd like a choice in front-end scripting languages as much as the next guy, I've come to appreciate JS for what it is.

Re: If you could only learn three programming languages, which would you choose?

#56
post #27

I was intrigued that my answers for 1,2 & 3 are the most popular. I answered 1:C for simplicity and an an appreciation for where we've come from. 2:Python because i've never felt as free to express as when using python. 3:Javascript because it's practical to learn it. For others who answered C->Python->Javascript, what were your reasons?

I've chosen C, Python and Lisp: because those aren't languages, but mindsets, that allow freedom of thought and expression.

I am a hobbyist, so I am free to discard anything, that The Man wants to see in a resume. Hence I've never really got into Java (a nice language, turned into the Cobol of our generation -- to all people writting Enterprise: Java's blood is on YOUR hands!) or C++ (if C is a scalpel, then C++ is a chainsaw... while you're drunk... with someone preaching protected attributes and virtual destructors in Fran Drescher's voice).

But C has inherent beauty to it, expressed in terse verses of absolute and utter control.

Python structures my thoughts.

And Lisp is all that is and ever will be.

Amen.

Re: If you could only learn three programming languages, which would you choose?

#57
post #14

You've included many redundant languages while simultaneously excluding several classes of languages. Many of your other decisions seem odd. C/Pascal/Delphi are not so different from each other. C++/Java/C# are not so different from each other. PHP/Python/Ruby/Perl/Lua/JavaScript/Shell are not so different from each other. Arc/Scheme are not so different from each other. You've neglected the APL family of languages.…

Also made the strange decision to include a generic "Lisp," as well as Arc, Scheme, and Clojure, but no Common Lisp.

Re: If you could only learn three programming languages, which would you choose?

#58
post #51

Three is a good number. C needs to be one of them, because everyone writes their libraries in C, and you need to use them and be able to contribute your own libraries. Don't use C for applications, though; there is no performance gain (gluing C libraries together in C is as fast in $foo as it is in C for most values of $foo), and there is a maintainability and expressiveness loss. Libraries are simple enough and smal…

> I picked Perl over Python and Ruby because they all really suck performance-wise, but at least Perl has a great community and a great library repository. I recently learned that Lua is pretty fast, according to anecdote and shoot-out data. I did not like the syntax, when I last looked at it. But I might change my might. I mostly use Python for this class of things at the moment. Though I could see myself use Haskel…

Lua's other strong point here is that it has an especially nice C API. Unlike Perl, Python, and Ruby, it was written primarily to script C, with use as a standalone language being secondary.

I prefer Lua to all of those, but that again is a matter of taste.

And yes, Lua is pretty fast, and LuaJIT (http://luajit.org/) is so fast that it's a major outlier among scripting languages.

Re: If you could only learn three programming languages, which would you choose?

#59
post #35

Scheme/Python/Javascript (Mainly to be able to do a little bit of everything - and scheme to make you learn to think out of the box) However, Arc and Haskell are fun to learn.. and you also need some C/C++/Java/C# background otherwise you're not serious right? Then, with this knowledge, it'd be a bit weird not to know Ruby and Perl. And some bash/sed/awk is required to work on a unix box. Damn, I hate those pick "thr…

javascript has way too much in common with scheme. python is practical, but not different enough to really teach you much.

I program in three languages on most days (though not the same three all the time). These artificial constraints are difficult.

Re: If you could only learn three programming languages, which would you choose?

#60
Three is a bad number. Three is the minimum required to do your job, so doesn't let you choose any cool languages that blow your mind and make you a better programmer.

- you need to know C. All your infrastructure and fundamental libraries are built in C. If you can't read the code or fix bugs in your infrastructure, you need to hire somebody else who can. (N.B. if you work in an environment where all your infrastructure is in Java, you need to learn Java instead. If you work in an environment where all your infrastructure is Microsoft, you're screwed because that's not open source).

- you need to know Javascript. It's running on all of your client's desktops.

- you need to know a glue language. Probably sh, but Perl works too. Python and Ruby are alternatives, better in some ways, worse in others.

Those are the three you need to do your job. But if that's all you know, you're not doing a good one. For instance, the best way to become a good Javascript programmer is to learn Lisp.

Post reply on HN