Newsgroups: comp.arch,comp.lang.lisp,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!portc01.blue.aol.com!portc02.blue.aol.com!howland.erols.net!news.sprintlink.net!news-peer.sprintlink.net!metro.atlanta.com!uunet!in3.uu.net!192.67.173.4!news.decus.org!eisner!kilgallen
From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: Theory #51 (superior(?) programming languages)
X-Nntp-Posting-User: KILGALLEN
Lines: 36
Organization: LJK Software
Message-ID: <1997Jan22.072945.1@eisner>
References: <3059948144828413@naggum.no> <slrn45dvq86.fgd.campbejr@phu989.um.us.sbphrd.com> <5bu19l$ld2@sue.cc.uregina.ca> <3062757753734625@naggum.no> <5c3aum$95e@web.nmti.com>
X-Trace: 853936195/15470
X-Nntp-Posting-Host: eisner.decus.org
Date: Wed, 22 Jan 1997 12:29:45 GMT
Xref: glinda.oz.cs.cmu.edu comp.arch:74513 comp.lang.lisp:24726 comp.lang.scheme:18003

In article <5c3aum$95e@web.nmti.com>, peter@nmti.com (Peter da Silva) writes:
> [among some real nice things that C doesn't have]
> 
> In article <3062757753734625@naggum.no>, Erik Naggum  <erik@naggum.no> wrote:
>> _I'd_ like to have a language that defined the width of integers.
> 
> I wouldn't. I've been there, and the biggest pain porting PL/I programs from
> one machine to another is you can't tell whether they really needed a 35
> bit signed integer or they were just optimising for a 36 bit word (w/sign).

In Ada, one declares the size of integer which is a minimum requirement
for the program, and a compiler will typically implement it using a
larger value if that is convenient for the hardware.  There may be
range checks included on results, but not necessarily on intermediate
values of a complex expression.

Declaration of integer types is the most straightforward approach
in Ada, rather than putting specific limits on each variable.  In
most cases this is used to ensure protection against overflow
rather than to strictly limit the possible values.  A maximum of
65535 is not taxing on contemporary hardware, although its full
capability is not needed when counting the number of cars in my
driveway.  That application also has not much use for negative values :-)

>> _I'd_ like to have a language that supported strings with any defined
>> _character_ in them.  C doesn't.
> 
> Actually, it does. It's the libraries that don't.

But since C provides no other automatic support for strings, the
pragmatic effect is that C does not support strings with nulls in it.
There is a tremendous difference between "one can" and "most will".
You will be bitten by that difference periodically when you run
commercial software written in a lowest-common-denominator language.

Larry Kilgallen
