Live data from Hacker News

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

news.ycombinator.com

1–10 of 75 posts

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

#2
I don't think there's a reason to be limited to 3 programming languages. Perhaps you can only be fluent in 3 languages at once, but knowing more languages is definitely not harmful. I know more than 10 languages to a degree where I have written at least one non-trivial project with them. I can't claim to be fluent in all of them at this moment, but I can quickly ramp up to a productive level in a matter of a few days.

Now if I had to pick three languages, they would probably be something along the lines of:

1. C. This language has been relevant for 40 years, and will remain relevant for at least another 40 years. Low level understanding of computer operation is paramount for a lot of advanced tasks.

2. Python/Ruby/Lua. A dynamic "scripting" language is very useful to get stuff done quickly when you need it.

3. A functional language: Haskell, ML or Lisp. Knowledge of this paradigm will make you a better programmer, regardless whether or not you get to use it in your day job.

There are languages I'd like to add to this list, namely something like Java/C# (a "managed" imperative language). And then some "brain teaser" languages to expand your horizons, Prolog is a good one for a rainy weekend and doing some simple Brainfuck programming because Brainfuck is to Turing machines what Lisp is to Lambda calculus.

But I disagree with the "3 languages" rule here, I'd recommend trying to learn a little bit of a new language every year. Next on my list is Rust.

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

#4
post #2

I don't think there's a reason to be limited to 3 programming languages. Perhaps you can only be fluent in 3 languages at once , but knowing more languages is definitely not harmful. I know more than 10 languages to a degree where I have written at least one non-trivial project with them. I can't claim to be fluent in all of them at this moment, but I can quickly ramp up to a productive level in a matter of a few day…

"But I disagree with the "3 languages" rule here, I'd recommend trying to learn a little bit of a new language every year"

Absolutletly agree. By the way, an interesting language to learn is Smalltalk.

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

#5
1) Javascript. The ecosystem, libraries and usecases covered now are enormous, from dynamic websites to mobile/desktop apps - everything is doable.

2) Elixir. Distributed systems, embedded software (IoT networks), critical/reliable web services and backends.

3 some systems level language (either Rust or C, Go is too laughable as a language for me and google stuff in general isn't something I can recommend any longer)

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

#6
- C - Python - JavaScript

This is, of course, only based off of what I know so far and what I would find most useful. I could probably trade JS for a SQL, though, if I was thinking purely in terms of work that I'm into now. I don't use C at all, except to look at Python bindings occasionally...but all the concepts I've learned from learning C are vital, even when working with high-level languages. Plus, it'd be nice to switch to iOS development at some point.

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

#9
OCaml, Rust, C.

- OCaml: my favorite (at least at the moment) functional programming language and a very good choice when writing compilers and static analyzers, which is my main research area.

- Rust: a safe system programming language with a lot of good ideas imported from languages that I respect, and also with its own new things (i.e. borrow checker). I feel it's going to be a very important language in a few years.

- C: although I predict that Rust is going to become very big, C will always be there. Though not my favorite language by a long shot (I'm way too bad a programmer to be expected to handle it properly), its importance can't be denied and being knowledgable in C will be a skill that will be useful and desirable for a long time.

Post reply on HN