A guide to the REAL PROGRAMMER!

Mattel / Injury Page

Mattel's links of shame

Fight Spam 

Real Programmer

Introduction

Languages

Operating Systems

Programming tools

At work

At play

Natural habitat

Structured programming

The future

References

More humor

Home

 

PROGRAMMING TOOLS

What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory--it didn't go away when the power went off, Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on, Seymore, needless to say, is a Real Programmer.

One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day he got a long-distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and line-printer in his toolkit, he can get along with just a front panel and a telephone in emergencies.

In some companies, text editing no longer consists or ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a "text editor" program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers [3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.

Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems--EMACS and VI being two. The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text
Editors as it is in women. No the Real Programmer wants a "you asked for it, you got it" text editor--complicated, cryptic, powerful unforgiving, dangerous. TECO, to be precise.

It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text [4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program--or even worse, introduce subtle and mysterious bugs in a once working subroutine.

For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original FORTRAN code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job--no Quiche Eating structured programmer would even know where to start. This is called "job security."

Some programming tools NOT used by Real Programmers:

  • FORTRAN preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming--great for making Quiche. See comments above on structured programming.

  • Source language debuggers. Real Programmers can read core dumps.

  • Compilers with array bounds checking. They stifle creativity, destroy most of the interesting uses for EQUIVALENCE, and make it impossible to modify the operating system code with negative subscripts. Worst of all, bounds checking is inefficient.

  • Source code maintenance systems. A Real Programmer keeps his code locked up in a card file, because it implies that its owner cannot leave his important programs unguarded [5].

<--PreviousNext-->

See how Microsystems Software fired an employee who went to the hospital for treatment of a work related injury. Even after paying over $140874.80 Mattel, Microsystems, and The Learning Company used a baseless libel claim to try to shut down this site. Now they demand an apology.  See how Mattel, MSI, and TLC is now the subject of a $48,595,103.77 lawsuit because they tried to silence this website using a frivolous libel counterclaim.

Go Home to the Injury Page to the Humor Page


Shop Amazon's Outlet Deals in Computers, Office & Software Computers,


Another William Silverstein site. Copyright © 2002-2013 William Silverstein. All rights reserved.

This site is copyrighted material and its use is subject to non-exclusive license. If you do not agree to the terms of this license, leave this site immediately, or you are bound by the terms of the license. Your use of this site signifies your agreement to be bound by the terms of this license. The use of this site is free for personal and non-commercial use - particularly for those wish to learn about and protect the rights of employees and those who oppose their abuse by employers and large corporations, but there are significant fees charged for certain other uses.

Your use of this site acknowledges that you waive for yourself, your client, and your employer any and all claim against Silverstein for any action that relating to this site. If you don't agree to this, leave this site immediately.  Your use of this site signifies your acceptance of these  terms in this paragraph and the terms of use for the_ site. Assume that any email going to the sorehands.com domain will be going to a California resident and to a fax machine. All e-mail going to this domain is being handled by a California e-mail service provider using servers in California which prohibit unsolicited commercial e-mail.