Xref: utzoo comp.lang.c++:1663 comp.lang.c:12862 comp.lang.pascal:1086 rec.humor:15067 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!killer!ames!husc6!rutgers!cbmvax!snark!eric From: eric@snark.UUCP (Eric S. Raymond) Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.pascal,rec.humor Subject: Re: Standards For C++ Summary: You're advocating repeating one of the mistakes that doomed Pascal! Message-ID:Date: 23 Sep 88 03:23:24 GMT References: <255@itivax.uucp> <6590064@hplsla.hp.com> Organization: Justified Ancients of Muammu Lines: 60 In article <6590064@hplsla.hp.com>, jima@hplsla.HP.COM (Jim Adcock) writes: > Alternately [or in addition to], it might be nice if the > various compiler camps could come up with agreed upon definitions > of various "levels" of the C++ language so that we could > know what major features of the "C++ language" are going to > be available to us when we buy a particular vendor's > compiler. Aaaargh! Back! Back! Some bad ideas there are that refuse to die, that rise out of unquiet graves to trouble us long after we had thought them dead and gone. This particular revenant had its gory fingers deep in the self-destruction of PL/1 and the petrification and slow death of Pascal, and even as we speak menaces the IEEE POSIX standard. Yea, I myself bore a torch and pitchfork against it the last time it threatened net.humanity; it possessed an otherwise estimable gentleman named Rahul Desi and attempted to worm its grisly way into the C standards process. Hear now the grisly tale of its depredations. In PL/1, there was this idea of 'subsetting'; the standard allowed lots of orthogonal binary choices about the semantics and implementation (or non-implementation) of various constructs and (especially) data types. The result? At first, a chaotic mess that drove strong programmers to fits of madness and their managers to despair. Later, least-common-denominator compilers that didn't support *any* of the competing options -- because it had been learned, at the cost of the Gods alone know how many man-hours, that nonportable 'features' amounted in the end to little more than a snare and a delusion even in single-vendor (IBM) environments. And for this among many other reasons, PL/1's dominion has dwindled to a ragged and remnant few. During the Pascal standardization push of the early '80s this fell creature re-manifested in a subtler and more insidious form -- as the idea of ISO Pascal 'levels' 0 and 1. Once again evil bestrode the earth; no attempt was made to exorcise ISO-incompatible versions of the 'Level 1' features, so portability was never obtained for the semantics ISO had blessed. After a time, all the old limitations of Level 0 became once again the lot of weary programmers. And all know how Pascal has since been brought low from its once-mighty repute, reduced indeed to a toy for weekend PC hackers. Even as we speak, the necromancy of lazy vendors has once again conjured this fearsome lich into the demesne of the IEEE P1006.1 committee. A righteous few persevere in opposing it, crying "One standard! No options! No crippling!". It is by no means certain that they will prevail; and if they do not, POSIX will surely become but a twisted and shrunken grotesque of what it might have been. Therefore: as you value your very soul, call not upon the "levels and subsets" monster, but seek to slay it with all the strength of your wit. Let's kill it *dead* dead this time, huh guys? -- Eric S. Raymond (the mad mastermind of TMN-Netnews) UUCP: ...!{uunet,att,rutgers}!snark!eric = eric@snark.UUCP Post: 22 S. Warren Avenue, Malvern, PA 19355 Phone: (215)-296-5718