Fastest Programming Language to Learn?

5 points by 999900000999 ↗ HN
Let's say you met someone, who for whatever reason is going in for a whiteboard interview in a month.

If you had to suggest they learn a programing language, what would you pick ?

I'd go with Python, although JavaScript is a very very close second.

17 comments

[ 408 ms ] story [ 1476 ms ] thread
I'd say the fastest is the one they can relate to the most / have prior similar experience with. Could be 'scratch.'
Outside of package management and async I would say javascript if probably easiest to start with.

If you throw package management into the mix then the whitespace disadvantage of python is more than offset by pip.

I would also consider ruby or lua as good first starts.

R5RS scheme can be quick to pick up because it's very small. What is it, 50 pages or so? Doing anything useful requires extended study and practice, but that's true of practically any language.

Of the popular languages I'd say python or ruby, where python is probably easier to pick up. I hate saying that because I'm very partial to ruby.

I wouldn't say javascript is fast to learn. It's a popular language and will be with us for many years to come. The hard part is avoiding the many traps, a skill which requires time to learn.

I would learn "C". The language is small in terms of key words. It has all the tools you will need to whiteboard a solution. You can't be an expert in a month but you can get a handle on the basics relatively fast.

Stay with the basics and don't make the mistake of trying to learn everything. You can't and you won't in a month.

If you aren't given a specific language, I would pseudocode the solution. Once you get a handle on pseudocode writing you can use it for all your whiteboard tests.

https://towardsdatascience.com/pseudocode-101-an-introductio...

I love C, but strongly disagree with the "learn C" part. It's not a suitable language for interviews even if you're an expert. C is by far my strongest language but I wouldn't dream of using it in any generic FAANG like interview, I'd chose something like Python which has plenty of built in things like appendable lists, dictionaries, garbage collection, et cetera.

Agree with the psuedocode part though.

Definitely Python. You can be writing simple programs with a very small subset of the language and a couple of concepts.

Easy to code many day-to-day algorithms.

This is going to be a bit of a wild answer... But I'm going to say Awk. All the basic programming constructs/concepts are there, without having to get lost in compilers, IDEs, makefiles etc. On Windows you can get coding with just a single gawk.exe binary doing very practical things for real world tasks. Not to mention the original Awk book is maybe a 4 hour read, and very understandable.
Someone isn't going to learn to program from scratch in a month to any reasonable degree, so the answer depends too much on the asker, what they know, what they have already studied.
Python is easy enough I'd venture to say if you make it your full time job , you'll be a programmer within a month.

I essentially taught myself JavaScript in a month or so, but I was going at it 8 hours a day

> Let's say you met someone, who for whatever reason is going in for a whiteboard interview in a month.

I’d say Java or Python. Both languages are simple enough that you can focus on the whiteboard problems and not worry about the language itself.

For the sake of industry relevance I’d say JavaScript. It has the simplicity of C and doesn’t enforce style constraints the way Python does. And unlike C, you can’t blow your arm off with expected memory management.

It’s so easy to declare record types. They’re just hash tables that can be extended with either properties or member functions.

let person = { name : “Tim”, age : 27 }

How much easier can you get?

Knowing all that I've learned, I wish I'd picked up F# or Go as a first language. Ruby or Python are pretty good too. Js/TS is widespread but has a few quirks and prototype-based object types isn't too useful outside of themselves.
The fastest-to-learn language I’ve picked up was Clojure. For whiteboarding, it has the added benefit that your interviewer probably doesn’t know it/might know general lisp concepts and you can handwave pseudocode as needed.

For “you can pick this up without knowing much about what you’re picking up” Python is almost certainly up there. JavaScript is a good choice because it’s ubiquitous but it’s a minefield and will be for whiteboarding.

To be honest I think the question is not setting the hypothetical interviewer up for success. They’d be better off learning relevant domain knowledge about the work they might be doing, and focusing on being prepared with good questions and generally explaining how they think through problems. They can use any language of their own imagining to express that on a whiteboard. If the interviewer wants something closer to real code that’s already a bad sign that they’re asking the wrong questions.