Live data from Hacker News

Ask HN: You can only be fluent in 3 programming languages. Which ones?

news.ycombinator.com

41–50 of 75 posts

Re: Ask HN: You can only be fluent in 3 programming languages. Which ones?

#41

Python - C - Javascript/DOM Python - Python is by far the best 'glue' language out there. There are things Python isn't good for, bit it's far far easier to replace the performance critical bits of a python impl with a faster module, than the other way round C - Gives you a good understanding of what the actual impact of each line of code has. Unlike ASM, it's still fairly approachable, and useful at scale. Unlike Ja…

I'd swap Python for Ruby because of the dramatically better JVM support and the number of tools the Java ecosystem opens up...without having to learn Java. Ruby plays in JVM and non-JVM land better than Python and it's almost entirely because Ruby benefits significantly more from running on the JVM than Python does.

Re: Ask HN: You can only be fluent in 3 programming languages. Which ones?

#46

I'd go with practical and diverse if possible: Clojure, JavaScript, and C. With clojure/JVM, you get a Lisp as well as good knowledge of java interop / apis, so you'll be able to work in Java if you have to, plus you get all the java libs, and there's basically a java lib for anything you could ever want to do. Then I'd make sure you know JavaScript, its gotten to be a good enough general purpose scripting language,…

sounds good to me without giving much thought

Re: Ask HN: You can only be fluent in 3 programming languages. Which ones?

#47
1. C: It's not pretty, but it is what we are stuck with.

2. (E)Lisp: Emacs is just too damn awesome, especially if you are limited to just three languages.

3. JavaScript: I guess to be able to do web dev (both client and server side) would be kinda nice?

I'm actually bit surprised that no one else had mentioned Elisp so far, I would have assumed there were some Emacs guys here.

Re: Ask HN: You can only be fluent in 3 programming languages. Which ones?

#48
Well, this question has different ways it can be answered. Here's the approach I'd take to be versatile:

1. Javascript because there is no other choice for the browser. Even things that compile to JS will occasionally have you debugging the transpiled code to figure out what went wrong;

2. C. This is really C or C++ as you need something that's close to the metal and on some occasions nothing else will do. C probably edges out C++ in terms of versatility here;

3. Honestly, it'd probably be Java, which makes me sad. I'd like it to be Go but Java is just too ubiquitous and useful to ignore. It covers you for both a ton of web apps and Android development.

An alternative to (3) is really Python. The above list doesn't include any scripting languages, which is a weakness. Python covers this but really loses (first class) Android support. I don't like Python for large systems either.

For fun it might look a lot different eg Go, Swift and yes even C++. It really depends on what your goals are.

Re: Ask HN: You can only be fluent in 3 programming languages. Which ones?

#50
1. Ruby - Productive dynamic glue language that gets things done. Chosen over Python because of jRuby and significantly better JVM integration than jython. jRuby opens up the entire Java ecosystem of both libraries and containers within your Ruby code but without having the productivity drop of having to do everything in Java to use it. Also chosen over the other JVM based languages because those are limited to the JVM where it might not be necessary or beneficial. Ruby plays in both worlds better than anything else and is surrounded by so many excellent tools for productivity, infrastructure management and server scripting that it is in my opinion, the best single language to KNOW. Not the best to do everything by a long shot, but it has the best balance of everything when all factors are measured; putting a premium on productivity because if you're going to be able to do that much you need to be able to do it in a timely manner.

2. PHP - There's a reason so much of the web is powered by PHP and that reason is simplicity for small stuff and dirt cheap hosting. PHP scales down better than any other language in that you can fill up a TB hard drive on a 512mb server and all of that code is going to run. It's too useful for the likes of simple sites to forgo, despite its other issues as a language.

3. Go - For high volume concurrency operations and other backbone "must be performant" code. That's where Go really excels and it's significantly faster to write this type of code with Go than with Java. Go just isn't there yet for your typical "websites" so it tends to be better for backend operations or APIs.

Note: I'm purposefully leaving Javascript off of the list because while it is necessary to know, fluency isn't required - similar to SQL. If either of those are list-worthy, then I'd choose SQL sheerly for scaling sake.

Post reply on HN