Newsgroups: it.hobby.umorismo
Subject: Real Programmer
Date: Thu, 16 Jan 1998 11:37:44 +0000
THE REAL PROGRAMMER
======================
Going back to the good old days of computing was relatively easy to distinguish between primordial real men and boys (in the classical literature, and the distinction 'between "real men" and "Quiche-eater").
During that time the Real Men were the only ones who knew about computers, the other (the kids or "Quiche Eaters") were those that the computer does not understand.
Real men say things like "DO 10 I = 1.10" or "ABEND" (obviously speaking in capital letters, it seems obvious), while the rest of the people would simply say that computers were too complicated for them. (Always work [1] says that there are indeed things too complicated for the real man).
But, as in all things, times change, now we live in times when even the old ladies have computers in their microwave ovens, in which any true man can 'be beaten by a boy of 12 years in any game, where anyone can 'buy, use and understand a computer.
Real Programmers are likely to take the path of extinction, overwhelmed by academics who base their lives on the mouse and icons.
And 'therefore' necessary to establish a clear distinction between a university and Real Programmers player Pac-Man. If this distinction will be 'clear these young inexperienced may have a role model, a spiritual father for inspiration. Also will be 'possible to explain to employers why' not 'they' need it 'the right to replace the Real Programmers with players of Pac Man, even if the salaries would be considerable savings.
LANGUAGES
=========
The system more 'quick and safe way to distinguish a Real Programmer from the rest of the world and' consider the language he uses: The Real Programmers programmed in FORTRAN, but now the program in C.
Quiche Eaters program in Pascal. From this it follows that surely Niklaus Wirth was a quiche eater and not a real programmer.
For Real Programmers do not need all the structures and mechanisms of Pascal, a Real Programmer can 'be happy with a punch card or a terminal at 1200 baud, a C-standard K & R (ANSI ... what's the point, the K & R' all too clear), and a beer.
By the way, Kerningan and Ritchie were definitely of Real Men. probably also true of programmers.
- Real Programmers lists processes in C
- Real Programmers processes numbers in C
- Real Programmers manipulate strings in C
- Real Programmers develop AI programs in C
- Real Programmers do Accounting 'in C
- Real Programmers creates simulators of neural networks in C
- Real Programmers sneezes in C
- Real Programmers do EVERYTHING in C
If by chance the C was not enough the Real Programmer will work in assembly, if this were not enough then the work is not feasible, but the thing is 'impossible, Real Programmers in C and assembler can' do it all, by definition.
STRUCTURED PROGRAMMING
==========================
Academics have established in recent years, down from their chairs, and a program that 'more' legible when the programmer uses special techniques, structures and constructs.
Obviously they do not agree on what these constructs, and these techniques are precise, and therefore 'their theories are inconsistent and erratic. In this way some quiche-eating were persuaded by their axioms.
A typical work of the real world (and not a theoretical work by universities') and 'to get a 100,000 or 200,000 source lines and make it go twice more' fast. In this case, any Real Programmers you will be able 'to say that structured programming is useless, what you actually' need and 'talent.
Some considerations of the Real Programmer is fast on structured programming:
- Real Programmers are not afraid to use GOTO
- Real Programmers can 'write a DO loop length of 5 pages without confusion.
- Real Programmers use CASE constructs based on arithmetic, they make a program more 'fun.
- Real Programmers write self modifying code, especially if this can 'save 20 nanoseconds in a cycle.
- Real Programmers use the memory area of a code already 'done and not do it' more 'as a storage area for data, thus optimizing the space available.
- Real Programmers do not need any comments, the code and 'already' self-explanatory enough.
After talking about it, and structured programming 'also talked a lot about data structures. Abstract data types, strings, lists, and those more 'has more' and so forth.
Wirth (the above just mentioned Quiche Eater) wrote an entire book [2] trying to show that you can 'write an entire program based only on data structures.
Like any Real Programmer knows but the only structure that serves REALLY and 'the array, since all other data types are nothing but limited subset of these. and since he uses only pointers are limited, especially if they can make the computer bombed hopelessly, if not, where would the fun?
OPERATING SYSTEMS
=================
What OS needs to use a Real Programmer?
UNIX? NO!, Unix, and 'something similar to what is expected of a true hacker, since any Real Programmer is not any fun to guess how the heck groped in the PRINT command is called this week. People do not do real work on Unix, use it mainly for making adventure, Rogue edit and send it via UUCP.
MS-DOS? Gia 'better crittico just enough, easy to modify, if proof were needed', easy to bomb, with many strange things and strange.
One thing we can definitely say:
- Real Programmers do not use the mouse and icons, in fact, the Real Programmers do not understand why 'never a need to build a program to remove your hands from the keyboard and click on a menu, and when' defeat as simple:
CL foo.c-k-iC: \ gnu \ c \ to-q-w-e-t-r + y + f + CVB-g + g + p = l / f / a / s
However, the Real Programmer has one longing: the IBM OS/370.
This was because the OS that any true programmer would like to see implemented on ALL computers in the world.
A Real Programmer knows that if he sees the error appear IJK3051 just go to see in the JCL manual for understanding what 'success.
A Great Programmer will know then 'codes from memory, while a Very programmer can' find the error observing 6 mega dump without using a calculator hex ...
The OS / 370 and 'a REALLY SO powerful, and it' possible to destroy days of work at the touch of a button. This encourages attention to the work and forms a mentality 'that will serve' in the future as to destroy days of work will be done in three keys ...
PROGRAMMING TOOL
========================
What programming tools really need a Real Programmer?
In fact, as mentioned above are enough terminal at 1200 baud or a punched card reader, but also a simple hex keypad would already 'more' than enough.
But unfortunately, now the computer does not have more 'hex keyboards, as well as no longer have' those magnificent front panel full of lights and frets that were much future.
The first real programmers knew by heart the entire boot sector of your hard-disk, and could re-write from memory whenever that their program was ruining him.
Legend has it that Seymore Cray (Cray The creator of) the OS wrote the first CDC7600 using the front panel of the computer the first time this came on. Needless to say Seymore was a Real Programmer.
One of the best Real Programmers have ever met, and 'a systems engineer at Texas Instruments. Once you have answered the call from a customer who had rounded the system during the rescue work. Real Programmers are put in place all while writing the instructions to finish the job I / O on the front panel (then
there were still), by rewriting the data in hexadecimal and being ruined to say the results by phone.
The moral of the story, and 'that if a keypad and a printer can be handy Real Programmers can' make do with just a phone.
Another important tool, and 'a good text editor. Many say that the best is that of the Xerox Palo Alto, but, as already 'stated, the Real Programmer does not talk to his computer through a mouse.
Others prefer EMACS or VI, but in fact the concept of WYSIWYG (what you see and 'what you get) applies to computers very badly, so' as it applies to women.
What a good programmer and want to 'actually something more' complex, which implements the philosophy of "You asked for it, you got it!" (YAFIYGI, you only what you ask).
In short, the perfect editor and 'the TECO.
Some have observed that a TECO command line to look like a lot more 'noise on telephone lines to a line of commands, and in fact one of the oldest games' fun to do and' to write their name on the command line and see what happens.
Moreover, every little mistake will have 'as a result to destroy your program, or, worse, introduce subtle errors that will later be difficult to find.
For this reason, Real Programmers and 'very loath to edit a working program to give the finishing touches. And always for this reason, a Real Programmer is the most 'easy to make any final changes by using a program such as the Zap.
Some Real Programmers use the Zap itself as an editor, others write it directly into executable code, but it 'perhaps exaggerated.
Proceeding on this line and the result 'that between source code and what there is in fact' there is written to disk 'a discrepancy increasing with the result that the work and' more and more 'safe,' cause only Real Programmers will be able 'work on it in a profitable way, no quiche eater will be able' to do maintenance, thus minimizing 'the risk of further failures of the program. That 'SAFETY.
Other important tools are the documents on which the real programmer bases much of his work:
- Real Programmers never reads manuals introductory enough, and further the Reference Manual.
- Real Programmers have learned on the K & R C, and any other text 'useless and misleading.
- Real Programmers can read the manual if in the original language, even though this sometimes causes problems of availability '.
- Real Programmers do not collect books of collections of algorithms.
This is because 'and' more 'slow search algorithm in 3000 to write pages that cast.
- Real Programmers do not need sull'assembler manuals, data sheets are enough microprocessors.
- Real Programmers never writes the manuals of the programs that do not have the time material.
The Real Programmers typically have somewhere the full documentation on which the OS works, published by the house that made the OS, but SURELY knows that in an average of 3500 pages that make up the documentation will not find 'what you are searching.
If in the vicinity of the terminal there are more 'manual there are 5 of the strong probability' that is NOT a Real Programmer.
Some tools used by Real Programmers:
- Preprocessor language.
- Language Translators.
- Full Screen Source Level Debugger. The Real Programmers' able to understand what it says Debug.
- Optimizing compilers.
The optimization program written by Real Programmers' already 'the best, and therefore' other changes would only worsen the situation.
THE WORK OF THE REAL PROGRAMMER
==================================
In general, the Real Programmer does not work as a simple management of directories, or management programs, here are some more of the work 'suitable for real programmers:
- Real Programmers write programs for the simulation of a thermonuclear war for the army.
- Real Programmers working for espionage, in order to decrypt transmissions figure of the enemy.
- It 'largely due to the work of Real Programmers that the Americans arrived on the moon.
- Real Programmers program guide systems of satellites and missiles.
- In any case, the Real Programmer works on projects as important or very well paid.
PLAY WHILE THE REAL PROGRAMMER
====================================
The general, the Real Programmer plays the same way it works: with computers.
Generally they work and 'a game, and at the end of the month, the Real Programmers' always quite surprised to receive a compensation for what, in effect, and 'fun for him, even if you do not tell' ever out loud.
Occasionally, the Real Programmer will be released 'office to get some fresh air and a beer, here are some ways to recognize a true programmer out of his job:
- At a party the Real Programmers are the ones talking about Operating Systems in the corner, and beside them pass girls who stop, listen for a few seconds and then, since they do not understand a word, they leave. Sometimes a real programmer encounters a Real Programmer.
I'll spare you the story of decency of the facts as you play.
- At a football game and the Real Programmer 'that controls the patterns of the teams based on those drawn from its program on a sheet of 11 × 14.
- On the beach, the Real Programmers' flow chart that draws in the sand.
- During a blackout, a Real Programmer usually faint because they are missing the vital flows of energy that allowed him to live.
The HABITAT OF THE REAL PROGRAMMER
==================================
Since a real programmer ', for the company using it, usually very expensive, we see how to make it better in the workplace.
The Real Programmer lives in front of one or more 'monitors, around, above, behind and below these terminals are generally the following things:
- The list of all programs in which the Real Programmer has ever worked, stacked, in order more 'or less chronological order, on every available flat surface around.
- Six or more 'coffee cups', almost always cold, and some with a few cigarette butts floating.
- Attached to the wall there 'a portrait of Spock holding enterprise with an old printer to print daisy.
- Scattered on the floor are empty packets of peanuts and cows alike.
In general, a Real Programmer can 'work even 30 or 40 hours in a row, in fact, usually works much better under stress. Until some time ago you gave naps while the computer compiled the program, but unfortunately the fast spread of computers and peripherals has made the practice difficult.
In general, if a Real Programmer has 5 weeks to finish a program passes the first 4 cincischiando with secondary issues, but interesting project, while the bulk of the work is done in a week of uninterrupted work. This always causes great concern to the principal is always afraid that the work is never ready on time, and offers a good excuse for Real Programmers do not write documentation.
ANY OTHER BUSINESS
==================
- Real Programmers can sometimes' forget the name of the wife or girlfriend, but he knows by heart the ASCII code.
- Real Programmers do not care about the keyboard, his fingers automatically adjust to any layout.
- Real Programmers know that even with 8 megs of RAM, this will not be 'enough, and therefore' attempts to make small programs.
- Real Programmers always keeps backups from when he had to rewrite 68020 327000 lines of assembler.
- Real Programmers write programs in the public domain, although they are usually so specialized programs that will serve only three other people in the world besides him.
OTHER Corollaries
===============
- Real Programmers was comfortable with Fortran programming as it allows the spaghetti without limitations.
- Should be said that Real Programmers' programs can write spaghetti in any language. In this sense, the C fits like a glove for its ability to 'write-only to write programs that no one, apart from one another Real Programmers, will' never be able to decode.
- Real Programmers never puts comments 'cause in his view the code and' self-documenting. This also applies to the hexadecimal dump of the assembly code.
- In his spare time, the Real Programmer is quite often the disco, but merely to observe the play of light. Lately, it is strangely attracted by the terminal controller's laser.
- The funeral of a colleague, the Real Programmer said:
"Too bad .. his routine of sort O (log N) was about to run "
- The Real programs exist in the ratio of 1 for every 256 real program, as the probability that 'bump into an' extremely low.
- Real Programmers have little regard to users, to a level considered too low. The probability 'of finding a competent user' estimated below to find a Real Programmer.
- Real Programmers are based on two counts.
CORRECTION
===============
- WHICH hard drive? ferrites and cassette!
- WHAT tapes? drawers of punch cards! Only the wealthy had the tapes!
- Such as keyboards and displays hexadecimal? File in binary switches and LEDs.
- Real Programmers do not use the comments if it has been difficult to write, it must be difficult to read. But if it is a REAL PROGRAMMER reads it too with ease.
- Real Programmers use C, and then uses preprocessors and even Unix. Unix, at least in early versions, and 'the true modern operating system the only one that still allows you to reset an entire file system with a command of seven letters including blanks:
rm-r /
- OS/370 was seriously improved, but not enough to beat a key to losing everything, was just wrong the location of a blank.
=========
Postscript:
=========
- Real Programmers edit the file directly to a Postscript document, if you must change it.
- The Real Programmer knows at least 16 digits of pi greek, which also knows the hexadecimal representation of the IEEE, and (if physical) all the digits of c (e 'defined with 9 digits), so you do not need to boring include files.
- Real Programmers and object-oriented programming: if forced to such practices, the Real Programmer writes program FIRST, and THEN, when it works, it takes an object. For no reason, however, change 'code already' written to conform to the analysis. Comunqe will insert 'in the program a sufficient number of global variables used by all classes, so that it can not maintain a Quiche Eater (see praragrafo safety programs).
- Real Programmers call autoespicativi variables with names up to 5 letters (eg CVfrZ). Only use names like quiche eaters "Massimo_Numero_Di_Dipendenti" for a variable. If a Real Programmer uses a similar name, probably indicates the variable speed 'end of an ion in a molecular cloud (and the code' was recycled efficiently by a program of accounting ').
- Captain Picard from Star Trek TNG 'a Real Programmer: Date reprogrammed using a piece of iron to short circuit the input in binary. (Time's Arrow, Part II, StarDate 46001.3)
REFERENCES
==========
[1] Feirstein, B., "Real Men Do not Eat Quiche", New York, Pocket Books, 1982.
[2] Wirth, N., "Algorithms + Data Structures = Programs", Prentice Hall, 1976.
- The original idea:
[0] sdcarl! Lin, "Real Programmers", UUCP-net, Tue Oct 21 16:55:16 1982
Posted under Technology
This post was written by admin on May 19, 2010





