Live data from Hacker News

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

news.ycombinator.com

21–30 of 75 posts

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

#21
C, JAVA, Python

I'm writing as a mostly server side developer: - C: It is good to know low-level programming. (ASM would be a good pair). C is prevalent: Linux kernel is written in C. - JAVA: if you want cross-platform and GUI - Python: if you want something quick and dirty

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

#22
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 Java, you retain a good feeling of the instruction-level impact of each statement you make

JS/DOM - HTML + Javascript is the future of user interfaces (for the next 5-10 years anyway). QT/GTK/Win32/IOS/Swift all have their places, but for a dev speed / cost-benefit payoff point of view, just do it in HTML. A deeper understanding of the DOM API will allow you to make better choices that mean you don't end up with a sluggish, unusable interface

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

#23
post #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…

i dont think sql counts as language in this context. Its more of an adapter for efficiency for most of the uses its best for. Don't get me wrong, it is a language but not at the layer under discussion.

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

#28

Ruby, Swift and Javascript. Assuming Swift, once open-sourced, gains popularity outside of Mac/iOS development, these three languages have you covered pretty much completely (besides really low-level stuff, of course). These three let you build server-side apps, web applications (including client-side code), mobile apps (iOS) and desktop apps (Mac). That said, whilst programming languages are fun to learn and tinker…

I'm singling out your post because of how "scripting language"-weighted it is. (Minus Swift.) Ruby makes for a pretty slow server side language. It's appropriate when moving fast, but at scale it's rather icky. Your other languages seem to fill anything it can do. Have you considered Go, Java, Scala, C#, etc.? None of these are "low level".

That's why I included Swift. Now that it is going to be open-sourced and available on Linux, it will - hopefully - become a good replacement for Go / etc. Will have to see how the community evolves, of course. Currently I use Go in certain situations but I'm hoping to eventually be able to replace it with Swift - will just have to see how things progress.

Disagree though about Ruby being icky at scale. Whilst some companies have moved away from it as they have gotten bigger, there are tonnes of companies that are still using it successfully.

I also disagree that the other languages cover Ruby's uses. It is an incredibly flexible and powerful language and has an incredible assortment of very well written and very well maintained libraries - far exceeding any other language I've used. Plus, having used many other web frameworks, I'm afraid nothing is as good as Rails. Some, such as Django, come close - but nothing quite beats it.

That said, it all depends on your use cases. I'm mainly a web programmer, building web apps, APIs and the occasional mobile app. I'm not dismissing other languages by any means, but these are the languages that I would personally keep if I had to throw away my knowledge of all programming languages but three.

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

#29
1) C, for the low level concepts and fundamentals it bestows the programmer.

2) JavaScript, because if learning one language, such as C, is important, so is learning a language on the other end of the spectrum. And in some important ways JavaScript stands opposite C. Learning both forces the programmer to understand managed vs. unmanaged, working with and without a compiler, strict vs. dynamic typing, deploying a binary vs. a web app, etc. Those are all opposites programmers should gain experience with at some point.

Plus, JavaScript's ecosystem is just too rich too ignore.

3) SQL, b/c working with databases and relational data has always been important, and that won't change.

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

#30
I will suggest 3 languages, but first, if you could only be fluent in one language, I would argue that Clojure would be a very good bet: practical, huge number of libraries (native and Java interop), with Clojurescript you can get by without being a Javascript expert, and the good libraires for web programming.

Otherwise, it depends on what your main task is; possibilities: front end web, Anroid, iOS, back end web services, data science, etc.

In general, you need a scripting language. I prefer Ruby, but if you need to do data science, machine learning, etc., choose Python. A scripting language may suffice for web development also.

I am a proponent of learning Java. The Java ecosystem is huge and there is a lot of good stuff.

Choose an esoteric language. I personally like Haskell, Smalltalk and Lisp languages.

Post reply on HN