Real programmer
Encyclopedia
The term Real Programmer is computer programmer
s' folklore
to describe the archetypical "hardcore" programmer who eschews the modern languages and tools of the day in favour of more direct and efficient solutions – closer to the hardware
. The alleged defining features of a "Real Programmer" are extremely subjective, differing with time and place, in the fashion of the "no true Scotsman
" fallacy.
The archetypal Real Programmer is Mel Kaye
of the Royal McBee
Computer Corporation who is immortalised in "The Story of Mel", 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."'
" instead of Pascal
, one of the nineties might have done it "all in C
" rather than C++
or Java
, or "all in Perl
" rather than Python
or Ruby
.
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
programmer might refer to an older C
programmer as being a Real Programmer. In turn, these C programmers refer to older Assembly programmers in the same way.
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
s' folklore
Folklore
Folklore consists of legends, music, oral history, proverbs, jokes, popular beliefs, fairy tales and customs that are the traditions of a culture, subculture, or group. It is also the set of practices through which those expressive genres are shared. The study of folklore is sometimes called...
to describe the archetypical "hardcore" programmer who eschews the modern languages and tools of the day in favour of more direct and efficient solutions – closer to the hardware
Low-level programming language
In computer science, a low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture. Generally this refers to either machine code or assembly language...
. The alleged defining features of a "Real Programmer" are extremely subjective, differing with time and place, in the fashion of the "no true Scotsman
No true Scotsman
No true Scotsman is an informal logical fallacy, an ad hoc attempt to retain an unreasoned assertion. When faced with a counterexample to a universal claim, rather than denying the counterexample or rejecting the original universal claim, this fallacy modifies the subject of the assertion to...
" fallacy.
The archetypal Real Programmer is Mel Kaye
Mel Kaye
The Story of Mel is an archetypical piece of computer programming folklore. Its subject, Mel Kaye, is the canonical Real Programmer.- Story :Ed Nather’s The Story of Mel details the extraordinary programming prowess of a former collegue of his, "Mel", at Royal McBee Computer Corporation...
of the Royal McBee
Royal McBee
Royal McBee was the name of the computer manufacturing and retail division of Royal Typewriter which made the early computers RPC 4000 and RPC 9000...
Computer Corporation who is immortalised in "The Story of Mel", 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
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
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 FORTRANFortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
" instead of Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...
, one of the nineties might have done it "all in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
" rather than C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
or Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, or "all in Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
" rather than Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
or Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
.
The term is often used to describe a more bare-metal way of doing something – for example: "Real Programmers don't use IDEs
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
, they write programs using
cat > a.out
" (that is, they write machine-readable binary files from beginning to end without making any mistakes). Each generation tends to slightly redefine a Real Programmer, as coding techniques change. For instance, a young JavaJava (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
programmer might refer to an older C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
programmer as being a Real Programmer. In turn, these C programmers refer to older Assembly programmers in the same way.
See also
- Real Programmers Don't Use PascalReal Programmers Don't Use Pascal"Real Programmers Don't Use Pascal" is an essay about computer programming written by Ed Post of Tektronix, Inc., and published in July 1983 as a letter to the editor in Datamation....
, a 1983 parody of Real Men Don't Eat QuicheReal Men Don't Eat QuicheReal Men Don't Eat Quiche, by American Bruce Feirstein, is a bestselling tongue-in-cheek book satirizing stereotypes of masculinity, published in 1982...
exploring the psychology of, and prospects for, the Real Programmer.