As a contrast to f1r3br4nd's post, I am not a hacker precisely BECAUSE I have few ties back to usefulness.

I am a computer scientist and mathematician. I become excited reading BNF tables and analyzing the latest in time complexity. I read "Communications of the ACM" for the articles, not the advertisements.

I have Windows 98 on my computer and not Linux because Win98 came with the box. Does it work for sending e-mail? Yes. Do I care at all what the operating system is? No. Operating systems and compilers are far too physical and crass to really get me excited.

I follow the teachings of a professor at my university. "But I proved that it will work. Why code it?" I am as at home working on a computer as instructing hypothetical monk's with index cards. It is the abstract system, the consideration of Alan Turing's hypothetical tape machine that is interesting, not the particular implementation that happens to be faddish today.

Yes, on occassion, I do write code. And I like writing code. It is a fun hobby. But I take no pride in writing assembler. Why would I want to write assembler? That's hard. Java, where all the garbage collection is handled for me. Runtime? Who cares about the pidly seconds and moments of runtime. I've demonstrated it is linearly expanding. It will finish soon enough. I do not wish to add the hard drive to the monitor and set it equal to the printer. Why do I need C++?

There is a heirarchy, as I see it, from physical to most abstract:

  • Accountant
  • Programmer
  • Hacker
  • Computer Scientist
  • Mathematician
I fall at rank four.