Hacker News new | ask | show | jobs
by p_nathan 5626 days ago
When considering programmer to be "anyone who writes some code", I agree.

But when considering programmer to be someone who is comfortable:

- operating on multiple planes of abstraction

- using recursion/pointers

- 'seeing' the concepts embodied under computer languages

- 'seeing' the code flow

Then, yes, the programmer does think differently. Because it's his job to think this way to communicate correctly to the computer. Not that it's unattainable by someone outside of the field, but by the act of becoming competent, it changes the one coming in.

1 comments

Only the first one is a skill that 'non programmers' would readily exhibit, the rest of them are things that you learn as you go while you learn to program.

Outside of math I think you'll have a hard time explaining what recursion is to someone that does not already know how to code at a basic level (a subroutine that calls itself! wow!), seeing the concepts 'under' computer languages may be something you could discuss with linguists and/or mathematicians again but not with others and 'seeing the code flow' you might be able to talk over with a laywer or someone in to electronics (who can 'see' the currents flow when looking at a schematic).

I'm not saying anything about innate ability. Just as a lawyer gains 'legal lenses' as they work through law school, so do programmers gain 'software lenses'.