Jump to content

Real Programmer

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ziiv (talk | contribs) at 19:20, 15 September 2011. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The term Real Programmer is a specific example of the No True Scotsman fallacy used in computer programmers' folklore to describe the archetypical "hardcore" programmer. A Real Programmer eschews modern or graphical tools such as integrated development environments or languages other than assembly language or machine code in favour of more direct and efficient solutions – closer to the hardware.

The term is often used to describe a more bare-metal way of doing something – for example: "Real Programmers don't use IDEs, they write programs using cat > a.out" (that is, they write machine-readable binary files from beginning to end without making any mistakes).[citation needed] Each generation tends to slightly redefine a Real Programmer, as coding techniques change. For instance, a young Java programmer might refer to an older C programmer as being a Real Programmer.[citation needed] In turn, these C programmers refer to older Assembly programmers in the same way.[citation needed]

The archetypal Real Programmer is Mel Kaye of the Royal McBee Computer Corporation who is immortalised in "The Story of Mel",[1] one of the most famous pieces of hacker folklore. As the story infamously puts it, "He wrote in machine code – in 'raw, unadorned, inscrutable hexadecimal numbers. Directly."'

Modernization of the real programmer

Over the years, the figure of the 'real programmer' was taken up and adapted as new and more powerful programming languages were created. If the real programmer of the eighties did it "all in FORTRAN"[This quote needs a citation] instead of Pascal, one of the nineties might have done it "all in C"[This quote needs a citation] rather than C++ or Java, or "all in Perl"[This quote needs a citation] rather than Python or Ruby.

See also

References