Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp
Path: utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!Glacier!decwrl!sun!rmarti
From: rmarti@sun.uucp (Bob Marti)
Newsgroups: net.lang
Subject: Re: C++ available (Modula-2 features, really)
Message-ID: <2950@sun.uucp>
Date: Wed, 30-Oct-85 11:57:18 EST
Article-I.D.: sun.2950
Posted: Wed Oct 30 11:57:18 1985
Date-Received: Sat, 2-Nov-85 05:16:06 EST
Distribution: net
Organization: Sun Microsystems, Inc.
Lines: 24

>> When talking to UNIX/C hackers I always got the
>> impression that the practically non-existent type checking in C was a
>> blessing rather than a problem ...
>>
>> With constants, enumerations (not in K&R!), function argument checking, etc.,
>> C's "successor" C++ all of a sudden looks awfully similar to Modula-2, which
>> most UNIX/C hackers tell me is absolutely useless.  Never mind that most of
>> these people have never bothered to look into a Modula-2 book, or have even
>> done some Modula-2 programming to the tune of several thousand lines of code.

> I believe most people miss the point about C. It is not the weak type
> checking that is a feature, it is the ability to escape the typing rules
> when necessary. Most languages with strong type checking forget to allow
> for an escape from it. This is why such languages tend to have lousy I/O
> and storage allocation features.
>
> I would like to see a language with strong type checking, yet with an
> easy and natural escape from it (like how casts are done).

You obviously have not looked into Modula-2 either, or you would know that
it has type transfer functions which are almost exactly like type casts in C.
Only the syntax is slightly different:
  TypeIdentifier "(" Expression ")"  instead of
  "(" TypeSpecifier ")" Expression