Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1     9/27/83; site hplabsc.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!zehntel!hplabsc!marti
From: marti@hplabsc.UUCP (Robert Marti)
Newsgroups: net.lang
Subject: Re: levelheight
Message-ID: <2340@hplabsc.UUCP>
Date: Tue, 15-Jan-85 12:04:56 EST
Article-I.D.: hplabsc.2340
Posted: Tue Jan 15 12:04:56 1985
Date-Received: Thu, 17-Jan-85 12:56:10 EST
Organization: Hewlett Packard Labs, Palo Alto CA
Lines: 43

In article <369@hercules.UUCP> Frank Adrian, in discussing the drawbacks
of strongly typed programming languages and of Pascal in particular, writes:

-----
>                       ...   I don't like hairbrained notions of some
> Godlike imperative called "security" getting in the way. For example,
> you tell me how to get a generic routine written in a vanilla PASCAL.
> You're right. The second view is a European view. Maybe the programmers
> over there are so bad as to need this sort of thing (at least most of
> the code I've seen, written by Europeans, is). The first seems to be
> an American view. Give me #1 any day and let me get the job done...
-----

Well, I happen to be one of those dumb Europeans myself, so feel free
to hit the 'n' key right away ... :-)

However, more to the point, I feel that the issue of type-checking is
not really dependent on the "intelligence" of the programmers. We all
make mistakes once in a while, some of us more, and some of us less.
(You obviously believe that you belong into the latter category.)

The real issue is this:
Assuming you make a certain number of mistakes per 1000 lines of code,
are you willing to introduce some redundancy into you program, namely,
type, variable, and procedure declarations, in the hope that the compiler
will catch most of the more trivial errors and hopefully some of the more
subtle bugs there and then? Or do you prefer to take the chance that most
of those errors surface one at a time, depending on whether the control
flow in your program happens to reach one of your erroneous statements?
In the latter case you probably will have to resort to some debugging tool
to track down the error, before being able to recompile your program.
Chances are that considerably more time is spent to fix this single error
than the time required to fix multiple errors caught by a good compiler ...

As an aside, I too feel that Pascal's type checking sometimes is more
of a nuisance than help. This is why I prefer to use Pascal's successor,
Modula-2, which among other improvements over Pascal includes so-called
type transfer functions for each predefined or user-declared data type
which correspond to type casts in C.

                                     Bob Marti
                                     marti.hplabs@csnet-relay
                                     ...!hplabs!marti