Xref: utzoo comp.lang.c:12320 comp.lang.misc:1804 Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!decwrl!labrea!sri-unix!quintus!ok From: ok@quintus.uucp (Richard A. O'Keefe) Newsgroups: comp.lang.c,comp.lang.misc Subject: Re: Third public review of X3J11 C Message-ID: <340@quintus.UUCP> Date: 2 Sep 88 02:32:15 GMT References: <8365@smoke.ARPA> <225800053@uxe.cso.uiuc.edu> <8374@smoke.ARPA> <8660@ihlpb.ATT.COM> <908@l.cc.purdue.edu> Sender: news@quintus.UUCP Reply-To: ok@quintus.UUCP (Richard A. O'Keefe) Followup-To: comp.lang.misc Organization: Quintus Computer Systems, Inc. Lines: 35 In article <908@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >In article <8660@ihlpb.ATT.COM>, nevin1@ihlpb.ATT.COM (Liber) writes: >> But the part that isn't irrelevant is *why* did PL/1 turn out, in your >> words, to be a badly designed language? We don't want to go around >> repeating the mistakes of the past if we don't have to. > >A language should be easy to read and as easy to write as possible. The >kludges made in PL/1 to allow the use of the properties of the machine were >to use the common assembler notation, which while it is precise, is difficult >to read and write. > I used to use PL/I (yes, that's an "I" not a "1"), and I'm afraid I don't quite know what Herman Rubin is getting at here. PL/I syntax, for those who are fortunate enough not to know it, is full of things like PUT FILE (OUTFILE) EDIT (THIS,THAT,THE_OTHER) (A(10)) PAGE; Roughly,
{ [()]}... ; For another example, CALL PROCEDURE(ARG1, ..., ARGN); For an example of arithmetic operations, to add two MxN arrays of floating point numbers: DECLARE (A,B) BINARY FLOAT DIMENSION (1:M, 1:N); A = A+B; I have no desire to praise PL/I, but I honestly don't see any resemblance to any of the assembly languages I've ever used. As for infix notation, I wish someone would come up with a standard notation for sequence concatenation: I've seen "+" (which mathematical convention reserves for commutative operations), "&" (which looks like "and"), "*" (which makes the most sense, but is rare), and the theory papers tend to use a sign which is a bit like ^ and a bit like the intersection sign, and needless to say isn't in the ISO 8859/1 character set. In the absence of an agreed notation for such a fundamental operation, the use of functional notation has a lot to commend it.