[M3devel] INTEGER

Mika Nystrom mika at async.async.caltech.edu
Mon Apr 19 19:40:55 CEST 2010


Jay K writes:
>--_54bd4884-6c8e-48b7-9b5f-c39a87170d04_
>Content-Type: text/plain; charset="iso-8859-1"
>Content-Transfer-Encoding: quoted-printable
>
>
>Mika=2C the build process hasn't "really" changed. There was always an occa=
...
>
>I haven't tried 5.1/4.1/3.6 yet but maybe I will soon. I actually use curre=
>nt configuration files when doing that though=2C so that probably inhibits =
>3.6 (unless I use its configuration files).

Sure, but as I mentioned to Tony, it is actually nice to be able to go "backwards"
as well.

...
>People really want their compiler to handle multiple precision arithmetic=
>=2C at least to attain 64bit precision.
>
>It is nice and convenient=2C if not strictly necessary.
>
>=20
>
>=20
>
>Another view though=2C besides "interop" with C=2C is "keeping up" with C.
>
>  Again that link suggests C has had long long for something like 18 years.=
> We are late.
>
>  Even C changed=2C C99 must be around 10 years old now? and has lnog long.
>
>  Granted=2C I tend to think of C like you think of Modula-3 --- nice that =
>it never changes.
>

C had all sorts of things long before Modula-3 was designed.  Modula-3's 
designers *very specifically avoided* these things.  To quote directly from
the Green Book:

"In the early days of the Ada project, a general in the Ada Program Office
opined that 'obviously the Department of Defense is not interested in
an artifically simplified language such as Pascal'.  Modula-3 represents
the opposite point of view.  We used every artifice that we could find or 
invent to make the language simple."

There is perhaps a place for "keeping up with C".  It's not in Modula-3!

It's more than "nice" that Modula-3 never changes.  It's critical to what
makes it special.  The C/Java/whathaveyou crowd is constantly sinking in
in the costs of maintaining their programs because everything needs to
be rewritten every few years to "keep up", and---even worse---because bugs 
resulting from the changes are absolutely everywhere and no one is ever
quite sure that anything works right.  I don't have time for this
kind of nonsense.  I'll use F-77 if that's the only way to get out of that
rat race, but hopefully there's a better way.

>  It is somewhat small=2C very well known. One only needs keep up with libr=
>aries now :) and one can assume a certain baseline is everywhere and write =
>portable code to it. (But I've happened upon K&R compiler *recently* -- HP-=
>UX/hppa only bundles a compiler for purposes of changing kernel configurati=
>on (constant data) and relinking kernel. The libraries that comprise the ke=
>rnel are shipped. K&R suffices and is therefore bundled. Best is probably t=
>o use that compiler to build old gcc=2C and then use old gcc to build curre=
>nt gcc (current gcc can't be compiled with K&R)).
>

Yes, let's not forget that what made C popular was its *simplicity*
(used to be that didn't have to be qualified with "somewhat").  Look at
what they were competing with: PL/I!  All the "features" you could shake
a stick at, and where is it now?

    Mika



More information about the M3devel mailing list