Hacker News new | ask | show | jobs
by Maro 2953 days ago
I think some people get lucky and can get away with living off being very deep in one language only, for long periods of time (like 10+ yrs). Eg. they are hardcore C++, and write compilers, or games, or find a good oppty at one of the big companies where they optimize code that runs on 100K+ servers, so it's a stable and well-paying job with lots of impact.

But I think for most people, including me, having a good grasp of a "ground layer" of languages is the way to go. It just makes you more swiss-army-knife, it reduces risk, opens up opptys.

For me, the base languages are:

- C/C++: so you understand what happens under the hood, how memory is actually managed, how it can "leak"

- Javascript(+HTML): so you can write your webapps

- Python: useful on the server side, for data science, etc; the most useful overall probably

- SQL: to get data out of your RDBMS; many people don't understand how powerful SQL is and end up writing imperative code that could be replaced with 5 lines of SQL, so this is a surprising blindspot for many otherwise good programmers. Beware of anybody telling you SQL is not a PL or it's not useful. A lot of your life runs on SQL, you just don't know about it.

- Bash scripting: nobody actually remembers Bash, we just monkey our way to something that works :)

... and of course take some (sometimes entertaining) detours into Haskell, Prolog, etc. For me, the big blind spot is mobile development, so maybe +1 for that.