Collage 056 H u m o u r N e t 1995
Welcome to Collage 56!
Well, what the heck, since I got the Redneck jokes out, I
figured I'd just go ahead and send out the third (and last)
edition of the "Real Programmers" guide. If you are not a
programmer (real or otherwise), HIT THE DELETE KEY NOW,
because none of this is very likely to be amusing to you.
But if you are (or know) a Real Programmer, read on ...
NOTE: The entire "Real Programmer" manuscript--including the
references and glossary of terms (not included here) can be
retrieved from the HumourNet archives.
Several other files, such as the complete collection of blonde
jokes (never distributed because of its length), the "P.C. Primer,"
and the "Great GHz Grape Game" (among others) are also available
in the archives.
- Vince Sabio
HumourNet Moderator
HumourNet@telephonet.com
____________________________________________________________________
Opener (above) Copyright 1995 by Vincent Sabio
Permission is hereby granted to forward or post this "Collage";
please observe the guidelines stated at the end of the message.
____________________________________________________________________
THE REAL PROGRAMMER AT WORK
---------------------------
Where does the typical Real Programmer work? What kind of
programs are worthy of the efforts of so talented an individual?
You can be sure that no Real Programmer would be caught dead writing
accounts-receivable programs in COBOL, or sorting mailing lists for
People magazine. A Real Programmer wants tasks of earth-shaking
importance (literally!).
* Real Programmers work for Los Alamos National Laboratory, writing
atomic bomb simulations to run on Cray I supercomputers.
* Real Programmers work for the National Security Agency, decoding
Russian transmissions.
* It was largely due to the efforts of thousands of Real Programmers
working for NASA that our boys got to the moon and back before
the Russkies.
* Real Programmers are at work for Boeing designing the operating
systems for cruise missiles.
Some of the most awesome Real Programmers of all work at the
Jet Propulsion Laboratory in California. Many of them know the
entire operating system of the Pioneer and Voyager spacecraft by
heart. With a combination of large ground-based FORTRAN programs
and small spacecraft-based assembly language programs, they are able
to do incredible feats of navigation and improvisation--hitting
ten-kilometer wide windows at Saturn after six years in space,
repairing or bypassing damaged sensor platforms, radios, and
batteries. Allegedly, one Real Programmer managed to tuck a
pattern-matching program into a few hundred bytes of unused memory
in a Voyager spacecraft that searched for, located, and photographed
a new moon of Jupiter.
The current plan for the Galileo spacecraft is to use a
gravity assist trajectory past Mars on the way to Jupiter. This
trajectory passes within 80 +/-3 kilometers of the surface of Mars.
Nobody is going to trust a PASCAL program (or a PASCAL programmer)
for navigation to these tolerances.
As you can tell, many of the world's Real Programmers work
for the U.S. Government--mainly the Defense Department. This is
as it should be. Recently, however, a black cloud has formed on the
Real Programmer horizon. It seems that some highly placed Quiche
Eaters at the Defense Department decided that all Defense programs
should be written in some grand unified language called "ADA" ((C),
DoD). For a while, it seemed that ADA was destined to become a
language that went against all the precepts of Real Programming--a
language with structure, a language with data types, strong typing,
and semicolons. In short, a language designed to cripple the
creativity of the typical Real Programmer. Fortunately, the
language adopted by DoD has enough interesting features to make it
approachable--it's incredibly complex, includes methods for
messing with the operating system and rearranging memory, and Edsgar
Dijkstra doesn't like it [6]. (Dijkstra, as I'm sure you know, was
the author of "GoTos Considered Harmful"--a landmark work in
programming methodology, applauded by PASCAL programmers and Quiche
Eaters alike.) Besides, the determined Real Programmer can write
FORTRAN programs in any language.
The Real Programmer might compromise his principles and work on
something slightly more trivial than the destruction of life as we
know it, providing there's enough money in it. There are several
Real Programmers building video games at Atari, for example. (But
not playing them--a Real Programmer knows how to beat the machine
every time: no challenge in that.) Everyone working at LucasFilm is
a Real Programmer. (It would be crazy to turn down the money of
fifty million Star Trek fans.) The proportion of Real Programmers in
Computer Graphics is somewhat lower than the norm, mostly because
nobody has found a use for computer graphics yet. On the other
hand, all computer graphics is done in FORTRAN, so there are a fair
number of people doing graphics in order to avoid having to write
COBOL programs.
THE REAL PROGRAMMER AT PLAY
---------------------------
Generally, the Real Programmer plays the same way he works
-- with computers. He is constantly amazed that his employer
actually pays him to do what he would be doing for fun anyway
(although he is careful not to express this opinion out loud).
Occasionally, the Real Programmer does step out of the office for a
breath of fresh air and a beer or two. Some tips on recognizing
Real Programmers away from the computer room:
* At a party, the Real Programmers are the ones in the corner talking
about operating system security and how to get around it.
* At a football game, the Real Programmer is the one comparing the plays
against his simulations printed on 11 by 14 fanfold paper.
* At the beach, the Real Programmer is the one drawing flowcharts in
the sand.
* At a funeral, the Real Programmer is the one saying "Poor George. And he
almost had the sort routine working before the coronary."
* In a grocery store, the Real Programmer is the one who insists on running
the cans past the laser checkout scanner himself, because he never could
trust keypunch operators to get it right the first time.
THE REAL PROGRAMMER'S NATURAL HABITAT
-------------------------------------
What sort of environment does the Real Programmer function
best in? This is an important question for the managers of Real
Programmers. Considering the amount of money it costs to keep one
on the staff, it's best to put him (or her) in an environment where
he can get his work done.
The typical Real Programmer lives in front of a computer
terminal. Surrounding this terminal are:
* Listings of all programs the Real Programmer has ever worked on, piled in
roughly chronological order on every flat surface in the office.
* Some half-dozen or so partly filled cups of cold coffee. Occasionally,
there will be cigarette butts floating in the coffee. In some cases,
the cups will contain Orange Crush.
* Unless he is very good, there will be copies of the OS JCL manual and the
Principles of Operation open to some particularly interesting pages.
* Taped to the wall is a line-printer Snoopy calendar for the year 1969.
* Strewn about the floor are several wrappers for peanut butter filled
cheese bars--the type that are made pre-stale at the bakery so they
can't get any worse while waiting in the vending machine.
* Hiding in the top left-hand drawer of the desk is a stash of double-stuff
Oreos for special occasions.
* Underneath the Oreos is a flowcharting template, left there by the
previous occupant of the office. (Real Programmers write programs, not
documentation. Leave that to the maintenance people.)
The Real Programmer is capable of working 30, 40, even 50
hours at a stretch, under intense pressure. In fact, he prefers it
that way. Bad response time doesn't bother the Real Programmer --
it gives him a chance to catch a little sleep between compiles. If
there is not enough schedule pressure on the Real Programmer, he
tends to make things more challenging by working on some small but
interesting part of the problem for the first nine weeks, then
finishing the rest in the last week, in two or three 50-hour
marathons. This not only impresses the hell out of his manager, who
was despairing of ever getting the project done on time, but creates
a convenient excuse for not doing the documentation. In general:
* No Real Programmer works 9 to 5 (unless it's the ones at night).
* Real Programmers don't wear neckties.
* Real Programmers don't wear high-heeled shoes.
* Real Programmers arrive at work in time for lunch [9].
* A Real Programmer might or might not know his wife's name. He does,
however, know the entire ASCII (or EBCDIC) code table.
* Real Programmers don't know how to cook. Grocery stores aren't open at
three in the morning. Real Programmers survive on Twinkies and coffee.
THE FUTURE
----------
What of the future? It is a matter of some concern to Real
Programmers that the latest generation of computer programmers are
not being brought up with the same outlook on life as their elders.
Many of them have never seen a computer with a front panel. Hardly
anyone graduating from school these days can do hex arithmetic
without a calculator. College graduates these days are soft --
protected from the realities of programming by source level
debuggers, text editors that count parentheses, and "user friendly"
operating systems. Worst of all, some of these alleged "computer
scientists" manage to get degrees without ever learning FORTRAN!
Are we destined to become an industry of Unix hackers and PASCAL
programmers?
From my experience, I can only report that the future is
bright for Real Programmers everywhere. Neither OS\370 nor FORTRAN
show any signs of dying out, despite all the efforts of PASCAL
programmers the world over. Even more subtle tricks, like adding
structured coding constructs to FORTRAN have failed. Oh sure, some
computer vendors have come out with FORTRAN 77 compilers, but every
one of them has a way of converting itself back into a FORTRAN 66
compiler at the drop of an option card--to compile DO loops like
God meant them to be.
Even Unix might not be as bad on Real Programmers as it once
was. The latest release of Unix has the potential of an operating
system worthy of any Real Programmer--two different and subtly
incompatible user interfaces, an arcane and complicated teletype
driver, virtual memory. If you ignore the fact that it's
"structured", even 'C' programming can be appreciated by the Real
Programmer: after all, there's no type checking, variable names are
seven (ten? eight?) characters long, and the added bonus of the
Pointer data type is thrown in--like having the best parts of
FORTRAN and assembly language in one place. (Not to mention some of
the more creative uses for #define.)
No, the future isn't all that bad. Why, in the past few
years, the popular press has even commented on the bright new crop
of computer nerds and hackers ([7] and [8]) leaving places like
Stanford and M.I.T. for the Real World. From all evidence, the
spirit of Real Programming lives on in these young men and women.
As long as there are ill-defined goals, bizarre bugs, and
unrealistic schedules, there will be Real Programmers willing to
jump in and Solve The Problem, saving the documentation for later.
Long live FORTRAN!
+------------------------------------------------------+
|Ed Post, "Real Programmers Don't Use Pascal", |
|_DATAMATION_, July 1983, pp. 263-265 (Readers' Forum).|
+------------------------------------------------------+
********************************************************************
Anyone Without a Sense of Humor Is At The Mercy of The Rest of Us.
********************************************************************
"HumourNet" is brought to you by Lyris -- an innovative new e-mail
list server from The Walter Shelby Group, Ltd. For more information
on Lyris, see .
To subscribe to the "HumourNet" mailing list, send the following
command to :
subscribe HumourNet your_name, your_city, your_state or country
where "your_name" is your real name, etc. If you run into problems,
then either (1) send any message to for
a more detailed set of instructions, (2) subscribe via Lyris's Web
interface at , or (3) send a *detailed*
description of the problem to .
To unsubscribe, visit our Web interface at
or refer to your Welcome message for detailed instructions.
For instructions on contributing to HumourNet, send any message to
.
>>> Note: Attributions in Collage openers are to the contributors,
not necessarily the authors. Authors' credits are included in the
text wherever possible. <<<
The HumourNet archives can be accessed via the Web and FTP:
Web:
FTP:
Permission is granted to forward or post this Collage, provided that
1) the message is forwarded/posted in its ENTIRETY, from the line
containing the Collage number and date to the end of this trailer,
and 2) no fee is charged.
There are "relaxed" forwarding/posting guidelines available; for a
copy of them, send any message to , or
refer to your Welcome message.
********************************************************************
"HumourNet" is a trademark of HumourNet Communications, Ltd.
********************************************************************