Hacker News new | ask | show | jobs
by bborud 5808 days ago
I did a (very shallow) evaluaton of the usual suspects in a private email not too long ago, but these things tend to be...well, shallow and very subjective. Great for creating flamewars, but not great for figuring out what to emphasize.

Also an observation I have made is that a lot of people who give advice on how to learn programming didn't learn programming the way they recommend. Well, at least not the programmers I know -- which may or may not be representative of larger populations.

For instance, I learned ver low level languages early; after basic I learned Z80 and x86 assembler and I regularly wrote whole sections of programs in inline assembly (well, hexadecimal op codes) when i learned Pascal later. I understood things like pointers, registers, stacks and clock cycles.

Today most people (including me) will say that people should focus on higher level languags first. To spend more time focusing on very basic language concepts and develop an understanding of algorithms and structure. But during job interviews I've come across candidates that make me doubt this. It is quite common to come across people who can't, say, do a back-of-the-envelope calculation of how much memory a given data structure will consume for N elements of average size M. One candidate even said that he believed that an object reference in Java was "about one byte long". (And yes, I did ask how many bits in case he confused it with "word length").

(Of course, with "high level" I am not suggesting that you should start introducing closures, type inference and various scoping types the first week. People need a bit of background to find those concepts meaningful)