Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 Fluke 1/4/84; site fluke.UUCP
Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!houxm!houxz!vax135!cornell!uw-beaver!ssc-vax!fluke!kurt
From: kurt@fluke.UUCP (Kurt Guntheroth)
Newsgroups: net.lang
Subject: Professionalizing Programmers, Going Off-line
Message-ID: <1044@vax2.fluke.UUCP>
Date: Mon, 4-Jun-84 12:39:13 EDT
Article-I.D.: vax2.1044
Posted: Mon Jun  4 12:39:13 1984
Date-Received: Wed, 6-Jun-84 06:48:02 EDT
Organization: John Fluke Mfg. Co., Everett, WA
Lines: 38

.
I have always harbored the secret feeling that learning computing in an
online environment is dangerous.  I cite the following 'evidence'.

1.  If you have to prepare your program off-line (worse yet on punch cards),
    you tend to think out the whole program in advance, because going back
    and forth from the punch (or whatever input device) to the computer is
    tedious, input devices are typically scarce, the wait for output is also
    tedious.

    By contrast, an on-line environment encourages incremental development
    a.k.a. programming at the keyboard.  This is obviously more comfortable
    and friendly, but leads to laziness.  You let the computer find all your
    bugs by compiling/running the program a large number of tines.  Not only
    does this waste machine cycles (too bad) but it leads to reliance on
    debugging to verify the correct operation of the program.  This is quite
    dangerous.  It would be better to rely on designing correctness in.

2.  The hassle of punching programs off-line causes you to look carefully at
    your program after each run, to correct all possible bugs.  This kind of
    introspection also improves the quality of code and reduces the number
    of runs.

3.  You need to know a lot less of the operating system in systems that make
    you program off-line.  Typically a few fixed lines of JCL will get you
    through your whole learning experience.  You concentrate on programming,
    not on learning stupid details of the OS.

I learned to program using punched cards.  By the time I was a teaching
assistant, we had on-line systems.  Now I am in industry and of course we
are on line.  I would never trade my nice VT100 and unix for an 029 and
NOS/BE, but I am not a bit sorry I learned on an off-line system.  I hope
educators will consider off-line systems for teaching.
-- 
Kurt Guntheroth
John Fluke Mfg. Co., Inc.
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!kurt