Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83 (MC840302); site boring.UUCP
Path: utzoo!watmath!clyde!cbosgd!cbdkc1!desoto!packard!edsel!bentley!hoxna!houxm!ihnp4!zehntel!hplabs!hao!seismo!mcvax!boring!steven
From: steven@boring.UUCP
Newsgroups: net.lang
Subject: Re: Strong Typing
Message-ID: <6282@boring.UUCP>
Date: Mon, 14-Jan-85 12:04:48 EST
Article-I.D.: boring.6282
Posted: Mon Jan 14 12:04:48 1985
Date-Received: Fri, 18-Jan-85 10:12:39 EST
References: <2673@dartvax.UUCP> <4890@utzoo.UUCP> <247@gumby.UUCP> <369@hercules.UUCP>
Reply-To: steven@boring.UUCP (Steven Pemberton)
Organization: CWI, Amsterdam
Lines: 52
Apparently-To: rnews@mcvax.LOCAL

In article <369@hercules.UUCP> franka@hercules.UUCP (Frank Adrian) writes:
> I'm sorry, but I really, really, really dislike strong type checking. Unless
> your language allows operator overloading, there is no way to write generic
> packages without defining everything as a huge, ugly union (which sorta
> defeats the whole notion of the thing, eh?). Array bounds checking usually
> just gets in the way. Optional and multiple length procedure calls are so
> useful as to make the idea of the language not having them completely
> ludicrous.

But these things are completely unconnected. A language can be strongly-typed
*and* have operator overloading *and* array-bound checking *and*
optional/multiple-length procedure calls. Algol 68 for instance. Don't go
and blame strong typing for absence of these things.

> The only way to get secure code is to get a secure programmer...

It's not enough. Everyone has off days, makes mistakes, no matter how good
they are. Despite some of the invective you read in this group, strong
typing helps you get programs debugged and running faster by checking that
you've done things consistently. It doesn't stop you 'doing what you want',
as some people claim, as shown by the successful implementations of
operating systems using strongly typed languages. In fact, quite the
contrary, it lets you do what you want and stops you doing what you don't
want. If your particular hate-language doesn't let you do what you want to
do, blame the language, not strong typing.

What Jan Jansen said about writing programs faster is true. An experiment
reported in the Computer Bulletin a few years ago said that programmers
using a strongly typed language took longer to get their programs *compiled*,
but the total time to get programs debugged and running was much less.

> I don't like hairbrained notions of some Godlike imperative called
> "security" getting in the way.
Security is not hairbrained. In fact, I expect that after a couple of
disasters caused by badly written programs (eg air-traffic control, train
signalling, nuclear-power station, missile guidance) security will be made a
legal requirement.

> you tell me how to get a generic routine written in a vanilla PASCAL.
Of course, you can't. But that's nothing to do with strong typing. You can't
in Fortran either.

> 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...

I have no intention of contributing to a racist slanging-match, that sort of
stuff can stay in net.politics. Yes, discipline is inconvenient, but if
you've got responsibilities, sometimes it's necessary.

Steven Pemberton, CWI, Amsterdam.