kurt@tc.fluke.COM (Kurt Guntheroth) (07/30/87)
I claim that what makes a language popular (other than being useful) is an accessible standard reference work and a sample implementation of the compiler. Not all languages have both of these, but virtually every popular language has at least one. I am not old enough to be directly familiar with initial versions of FORTRAN or COBOL, but there are some modern examples. Pascal: The universally recognized standard reference is Jensen and Wirth. This document, while by no means perfect, is a relatively complete and concise spec for Pascal. As if that wasn't enough, there is a p-code compiler for Pascal that practically everybody who goes to college for a CSci degree will see eventually. Modula-2: Since everybody latched onto M-2 as the "new pascal" there are an infinite number of textbooks on Modula-2. Wirth wrote a reference manual, but is is less widely recognized. There are also a couple of standard compilers, although they also are less widely distributed. C: Who can forget K & R, a book so well known in C circles that even the author's names have been contracted. Both the Ritchie C compiler and PCC are widely available for scrutiny, and at least PCC is arguably a high quality production compiler. C has the additional attribute of being a good match to the machine architectures of most microprocessors. Thus, even those people who had no access to one of the prototype C compiler sources had little trouble in coding a compiler from scratch. (BDS C, Whitesmith's C, Lattice C, and an unknown additional number of commercial C compilers.) Of course, just having a reference and prototype compiler is not a guarantee of success. You also have to get lucky. I have a nice book by Per Brinch Hansen on a language called Edison. Nice Pascal-like language, and there's a complete listing of the compiler in the book. Nevertheless, Edison just never caught on. I am sure the literature is virtually carpeted with such derelict remains. There is also BASIC, which survives in spite of having absolutely no standard text, and no standard implementation. The reason BASIC thrives in contrary fashion is that, in the absense of any standard, it is possible to call any language BASIC. Just make sure it contains the keywords IF, GOTO, and GOSUB, and permits at least optional line labels. [Evidently you're talking about a necessary but not sufficient condition. Who uses Edison, after all? I suspect the other condition is that the language be better for some useful set of tasks than the other popular ones. In any event, this is getting sort of far afield from the topic of compilers. It might be interesting to compare real implementation experience for some languages. -John] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request
johnl@ima.istc.sri.com (08/03/87)
In article <632@ima.ISC.COM> this comment appeared: >Pascal: The universally recognized standard reference is Jensen and Wirth. Since 1981, there has been an ANSI standard for Pascal which cleans up the definition that one can glean from J&W. In particular, it repairs the perfunctory job that was done on passing procedure & function names to other procedures & functions, and resolves several ambiguities in J&W. There is also an ISO standard, which is similart to the ANSI standard but goes beyond it in one direction: "conformant arrays," which allow the programmer to write a subprogram what will take arrays of a given element type and varying size. This is a valuable feature, already present in FORTRAN and other languages. At least one company (Concurrent Computer Corporation) supports a Pascal compiler that conforms to the ISO standard. ANSI = American National Standards Institute. (USA only.) ISO = International Standards Organization. (World-wide, but still confined to Planet Earth.) "universally recognized" presumably refers to the much larger part of existence that is beyond our atmosphere. Regards, Chris -- Full-Name: Christopher J. Henrich UUCP: ...!hjuxa!petsd!cjh US Mail: MS 313; Concurrent Computer Corporation; 106 Apple St; Tinton Falls, NJ 07724 Phone: (201) 758-7288 Concurrent Computer Corporation is a Perkin-Elmer company. -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request
johnl@ima.ISC.COM (John R. Levine) (08/06/87)
In article <638@ima.ISC.COM> harvard!rutgers!petsd!cjh writes: >In article <632@ima.ISC.COM> this comment appeared: >>Pascal: The universally recognized standard reference is Jensen and Wirth. > >Since 1981, there has been an ANSI standard for Pascal ... > >There is also an ISO standard, which is similart to the ANSI standard >but goes beyond it in one direction: "conformant arrays," which allow >the programmer to write a subprogram what will take arrays of a given >element type and varying size. This is a valuable feature, already >present in FORTRAN and other languages. Very true.. and this is a nice feature.. but may I ask a rhetorical question ? [ well, actually, even that is a rhetorical question, 'cos I'm going to... :-) ] How many people, when asked a question about PASCAL's syntax, will say "hang on while I get out my copy of the ISO standard"... and how many will reach for their Jensen and Wirth ? Similarly, with C, K&R is still the universal 'C bible', despite various de-facto changes [addition of void?] and the proposed ANSI standard. Many people suggest that Harbison & Steele should replace K&R now... I haven't read it - I will as soon as I get around to it - but I somehow doubt if it will ever fully replace K&R. My point is that when a Standards Organization grabs a language by the scruff of its neck, shakes it about a bit [usually improving it] and then dignifies the new version with the title "standard", all the old versions don't magically go away, and there will be considerable inertia among [the many] users who possess older reference manuals. -- JANET address : dcw@uk.ac.ic.doc| Snail Mail : Duncan White, --------------------------------| Dept of Computing, The nice thing about | Imperial College, standards is that there are | 180 Queen's Gate, so many to choose from... | South Kensington, -- Andrew S. Tanenbaum | London SW7 Tel: UK 01-589-5111 x 4982/4991 [Seems to me that the compiler writers' choice of standards is far more important than that of the users. In the particular case of C, the emerging ANSI standard enjoys wide support and various vendors are falling over themselves to demonstrate how conformant they are. I'm not so sure about Pascal, particularly since the Pascal crowd seems to pay much less attention to interfacing with the enclosing environment. -John] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request -- John R. Levine, Cambridge MA, +1 617 492 3869 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something The Iran-Contra affair: None of this would have happened if Ronald Reagan were still alive.
johnl@ima.ISC.COM (John R. Levine) (08/11/87)
In article <644@ima.ISC.COM> Duncan C White <harvard!seismo!mcvax!doc.ic.ac.uk!dcw> writes: > >How many people, when asked a question about PASCAL's syntax, will >say "hang on while I get out my copy of the ISO standard"... and >how many will reach for their Jensen and Wirth ? Well, we don't use much Pascal here, and we don't have many arguments about C (not too many C programmers here). But we DO do a lot of FORTRAN. When problems in porting a program between machines come up, we DO reach for the ANSI/ISO/FIPS standard (all the same document) to figure out who was right and who was wrong (as far as it being FORTRAN that is; most of the "wrong" stuff is an extension of the standard). FORTRAN of course, may be different (:-)) from other languages; particularly it doesn't have a K&R or J&W equivalent. mike Michael Fischbein msf@prandtl.nas.nasa.gov ...!seismo!decuac!csmunix!icase!msf These are my opinions and not necessarily official views of any organization. [I suppose it helps that the Fortran standard is quite readable, unlike, say, the PL/I standard. This discussion is too far afield from compilers, so I'm sending it to comp.lang.misc. -John] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request -- John R. Levine, Cambridge MA, +1 617 492 3869 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something The Iran-Contra affair: None of this would have happened if Ronald Reagan were still alive.
johnl@ima.UUCP (08/25/87)
>>>Pascal: The universally recognized standard reference is Jensen and Wirth. >> . . . >>Since 1981, there has been an ANSI standard for Pascal ... Apparently, John lost my note, so permit me to reconstruct my thoughts on this. While "well designed, well intentioned, simple designs" are neat, but I have never "felt" that this was why languages became popular. I started attending ANSI Pascal meetings in 1978. I knew very little about language/language design at the time, but I learned a lot from some people I have a great deal of respect for all of them. They were some of the sharpest technical people I have had the pleasure of meeting. [P.S. they are all terrible (they would not make good) bureaucrats (most, probably great compiler writers)]. Fun group of people. While there is some truth to simple design, I would say the vast majority of the reason for the popularity of languages is the availability of cheap front-ends. The P4 Pascal front-end and the pcc, probably did more for those languages than simple design [I preferred C even before my ANSI experience]. The majority of Pascal compilers began with the P4 front-end. The same went for C and the pcc. There is alot to be said for fast implementations. There is a lot to be said for getting something out to the market place quickly, even if the quality is not high. --eugene miya NASA Ames Research Center -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request