

Ask HN: Which programming language should I learn for interviews? - fractalsea

A bit of background:<p>- Picked up Java for my undergraduate degree, but stopped using it regularly 3 1&#x2F;2 years ago<p>- Picked up Python in my last year of undergraduate, and stopped using it roughly 2 1&#x2F;2 years ago<p>- Used PHP for a year in industry, and stopped using that 1 1&#x2F;2 years ago<p>Since then I did a largely theoretical masters degree at the University of Cambridge, and got very little actual coding done except for a few side projects in functional programming languages.<p>In the last few weeks I&#x27;ve been interviewing regularly, but have found my programming skills to be very rusty, making the coding interviews very challenging.<p>My thought now is that I really need to spend 1-2 months completely immersing myself in a more mainstream language. Most companies seem to focus on Python, with a bit of Java and node.<p>Initially I though I should learn Python, both because it&#x27;s popular, and also easy to write in an interview setting. However I am now thinking Java would be a better choice; it&#x27;s used all over the place, and represents more of an &quot;archetypal&quot; OO language, and it will probably make asking questions about design patterns, SOLID principals etc. more straightforward.<p>What do you think?
======
ElectronCharge
Despite nemoniac's post, I think you're on the right track with Java. There's
plenty of Java work out there, and modern Java is a better than average
language to work with.

Given that you've done some functional programming, you might also want to
investigate Scala. There's probably not too much Scala work out there right
now, but you might be able to evangelize it for some appropriate workloads
once you're doing Java development. It completely interoperates with Java (it
runs on the JVM also). I think it's one of the best designed modern languages.

------
nemoniac
Posted just the other day...

[https://plus.google.com/+ShriramKrishnamurthi/posts/fFNTWbQK...](https://plus.google.com/+ShriramKrishnamurthi/posts/fFNTWbQKHUp)

~~~
fractalsea
I hear this very often, but the difference with me is that I don't feel very
confident in any language. I have a mediocre experience in 4 or 5, but I don't
know any one language in serious depth.

You might argue that this doesn't matter, and it's the overall programming
mindset that counts. The problem is that the interviewers tend to want me to
write the answers to algorithmic problems in a real programming languages, and
because I am out of practice, I spend too much time thinking about how to
write the language, rather than the problem itself.

I should also add that in the interviews I've had, it's been quite common that
interviewers ask quite advanced-knowledge questions about a specific
programming language. E.g. I was recently asked by a very well-respected
company to explain what a Future was in Java, and I had no idea.

Those are the reasons I think it would be good to really explore a single
language.

------
bobsadinook
Ruby and python is expensive.

~~~
fractalsea
In what sense? Do you mean expensive to learn?

