Re: TIB: HAL


[Prev][Next][Index][Thread]

Re: TIB: HAL




>Grant Stockly wrote:
>>
>> >Rosyna wrote:
>> >[...]
>> >> Yes the can. All 680x0s have a CISC Processor that includes (I assume) the
>> >> Amiga which uses the 68060.
>> >
>> >And the Power chips as well.
>> The power chips are RISC...what did you mean?
>
>I was just pointing out that the Amigas use the RISC as well.

I thought you meant the power chips were CISC!  You scared me!  ;)

Real programmers: P 2 of 2

           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!


                       ACKNOWLEGEMENT
                       --------------

        I would like to thank Jan E., Dave S., Rich G., Rich E., for their help
in characterizing the Real Programmer, Heather B. for the illustration, Kathy
E. for putting up with it, and atd!avsdS:mark for the initial inspiration.







                         REFERENCES
                         ----------

    [1]  Feirstein, B., "Real Men  don't  Eat  Quiche",  New
         York, Pocket Books, 1982.

    [2]  Wirth,  N.,  "Algorithms  +   Data   Structures   =
         Programs", Prentice Hall, 1976.

    [3]  Ilson, R., "Recent Research  in  Text  Processing",
         IEEE  Trans.   Prof.  Commun., Vol.  PC-23, No.  4,
         Dec.  4, 1980.

    [4]  Finseth, C., "Theory and Practice of  Text  Editors
         -- or -- a Cookbook for  an  EMACS",  B.S.  Thesis,
         MIT/LCS/TM-165,    Massachusetts    Institute    of
         Technology, May 1980.

    [5]  Weinberg,   G.,   "The   Psychology   of   Computer
         Programming",  New  York,  Van  Nostrand  Reinhold,
         1971, p.  110.

    [6]  Dijkstra, E., "On the GREEN language  submitted  to
         the  DoD",  Sigplan  notices,  Vol. 3  No.  10, Oct
         1978.

    [7]  Rose, Frank, "Joy of Hacking", Science 82, Vol.   3
         No.  9, Nov 82, pp.  58-66.

    [8]  "The Hacker Papers", Psychology Today, August 1980.

    [9]  sdcarl!lin, "Real Programmers", UUCP-net,  Thu  Oct
         21 16:55:16 1982





                        DICTIONARY
                        ----------

ABEND:
        The IBM term for ABortive END. It's what you do to bring the system
        down when all else fails. Also, (jokingly) the command issued to
        the system to enable the third-shift operators to leave early
        (from the german Guten Abend, meaning good evening).

Real Men Don't Eat Quiche:
        It's a wonderful little booklet, describing, with a lot of humor,
        how a Modern Real Man can live in a world of quiche eaters.

Cuisinart:
        State-of-the-art, and rather expensive, brand of food processor.

Call-by-value-return:
        This is how FORTRAN compilers usually pass parameters to subroutines.
        It's not the same as call by reference (or by name), since you are
        not passing the addresses (references to) each individual parameter,
        but rather both the caller and the callee know where the parameter
        block is and deal with it appropriately.

Arithmetic-IF statements:
Computed GOTO:
Assigned GOTO:
        `Interesting' FORTRAN constructs: An arithmetic if is a statement
        like this:
        IF (expression) label1,label2,label3
        If expression evaluates to negative, zero, or positive, the execution
        will continue at label1, label2 or label3, respectively. In
        REAL FORTRAN, of course, expression is just an integer variable!
        A computed GOTO is like the ON GOTO in BASIC (yuck!):
        GOTO (label1,label2,...,labeln),N
        when N is an index into the list of labels. If N<0 or N>n
        the following statement is executed.
        An assigned GOTO is a bit different. You can assigne a label to
        an integer variable using the ASSIGN statement; you can say
        ASSIGN 10 TO IFOO, and then use IFOO as a label (e.g., GOTO IFOO). The
        GOTO IFOO (label1,label2,...,labeln) statement branches to that
        label matched by IFOO. If none is matched, execution continues. It's
        used when IFOO can have been set to a variety of labels, but
        you only want to branch is it has been set to some particular values.
        You can say it's a set membership operation! Now, how many
        CS seniors know that, I wonder!

CP/M:
        Control Program for Microcomputers. A very antiquated (ca 1978?)
        rudimentary operating system for 8080-based microcomuters. Would
        have been picked up by IBM instead of MSDOS, (then called QDOS)
        had the president of Digital Research not been out to lunch with
        instructions not to be interrupted!

IJK305I:
        IBM messages are usually three letters (indicating the module
        the error occured in), followed by a number, followed by a letter
        indicating the severity of the error. I is Information. IJK is
        a fictitious prefiex. The closest to that one is IKJ, which is
        the MVS (then OS) nucleus, if my memory serves me right. (I actually
        tried to look up this message when I was working for IBM!)

Orange Crush:
        Fluorescent-orange colored liquid, kind of like orange soda without
        the carbonation. Gross.

Peanut-butter-filled-cheese-bars:
        Vending-machine type of junk food. Also available at supermarket
        checkout counters. These are cheese-flavored (just flavored, no
        real cheese) crackers filled with rancid peanut butter or mock-cheese
        spread. Usually three one-square-inch sandwiches to a package.

Double-stuffed Oreos:
        A brand of cookies made by Nabisco. They are `sandwich' cookies, two
        ~2 inch, very dark, supposedly chocolate-flavor cookies, with a
        vanilla-flavored stuffing. They are very common in the US.

Twinkies:
        YA example of junk food. These are small cakes filled with some
        sort of custard. They are not too bad (taste-wise).
--
            "the C shell is flakier than a snowstorm."  (Guy Harris)