Programming Language Critiques WWW page

"Steven D. Majewski" <>
Tue, 28 Mar 1995 21:35:55 GMT

          From comp.compilers

Related articles
Programming Language Critiques WWW page (Steven D. Majewski) (1995-03-28)
| List of all articles for this month |

Newsgroups: comp.compilers
From: "Steven D. Majewski" <>
Keywords: WWW, available, design
Organization: University of Virginia
Date: Tue, 28 Mar 1995 21:35:55 GMT

Well - I was going to wait until I moved a few things, and until I got
a comments from John McClain and some others, ( and trying to discover if
I required permission to duplicate and mirror some of the papers )
but since I see from my access logs that a few people have backtracked
from the URL for the Gabriel paper I posted previously, I might as well
formally announce:

The Programming Language Critiques Page at:

I will probably split off and expand the "issues" section in the next
few weeks. Any suggestions or other papers to add to the collection
will be appreciated.

- Steve Majewski <sdm7g@Virginia.EDU>

------------- lynx -dump of top level page ----------

                                                PROGRAMMING LANGUAGE CRITIQUES


      The first incarnation of this page was started by John W.F. McClain at
      MIT. He took it with him when he moved to Loral, but was unable to
      update and maintain it there, so I offered to take it over.

      In John's original page, he said:

          Computer programmers create new languages all the time (often
          without even realizing it.) My hope is this collection of critiques
          will help raise the general quality of computer language design.

      Some of these are histories, which are included here because they
      often contain a rationale of some of the design decisions, and
      sometimes, a retrospective "what I would do different today".


C and Pascal

      The Development of the C Language Dennis M. Richie.
      The evolution of the language from BCPL to B to C to ANSI C, and a

      Why Pascal is Not My Favorite Programming Language. Brian W.
      Kernighan, Computing Science Technical Report No. 100, AT&T Bell
      Laboratories, April 2,1981.

      The Case Against C., P. J. Moylam, Technical Report EE9240, Department
      of Electrical and Computer Engineering, The University of Newcastle,
      July 1992.

C++ and ADA

      CONTRASTS: Ada 9X and C++. Edmond Schonberg, NYUAda 9X Project, New
      York University, April 22, 1992.

      C++??, A Critique of C++ . 2nd Edition, Ian Joyner, Unisys - ACUS,
      November 1992.

      There are two good books recently out on the evolution of C++:
      Bjarne Stroustrup's The Design and Evolution of C++. Addison-Wesley
      Publishing 1994. and
      The Evolution of C++ : Language Design in the Marketplace of Ideas ed.
      by Jim Waldo. A USENIX Association Book. MIT Press. 1993.


      The Evolution of Lisp Guy L. Steele, Jr & Richard P. Gabriel. from ACM

      Lisp: Good News, Bad News, How to Win Big. Richard P. Gabriel.
      Gabriel's analysis of why Lisp has failed in the marketplace -
      contains his contrast of "MIT" vs "NJ" design approach.

ML and Haskell

      A Critique of Standard ML. Andrew W. Appel, CS-TR-364-92, Princeton
      University, December 1991. Appeared in Journal of Functional
      Programming 3 (4) 391-430, 1993. Journal of Functional Programming 3
      (4) 1993. * also available from:

      Reflections on Standard ML David B. MacQueen. AT&T Bell Laboratories.

      Two project reports from the FOX Project at CMU discuss the
      requirements for systems programming in an advanced higher-level
      language, and how SML and some other languages compare. The more
      recent of the two:
      Advanced Languages for Systems Software: The Fox Project in 1994,
      Robert Harper and Peter Lee, CMU-CS-FOX-94-01
      has some notes about language design, compiler technology, and the
      planned successor to SML, dubbed "ML2000" or "Millenium".

      Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software
      Prototyping Productivity Paul Hudak and Mark P. Jones. Yale
      University Department of Computer Science. July 4, 1994.
      The results of a APRA/Navy "bakeoff" competition, and an attempt to
      explain why Haskell did so much better than most of the competition.
      File: jfp.{dvi,ps}

      FP + OOP = Haskell Emery Berger. Department of Computer Science.
      University of Texas at Austin. December 12, 1992.

          [ Looking for some good FP vs. OO papers for this spot! ]

O-O Languages

      A Comparison of Object-Oriented Programming in Four Modern Languages
      Robert Henderson and Benjamin Zorn. Department of Computer Science,
      University of Colorado, Boulder, Colorado Technical Report
      The paper evaluates Oberon, Modula-3, Sather, and Self in the context
      of object-oriented programming.

      CLOS, Eiffle and Sather: A Comparison. Heinz W. Schmidt and Stephen M.
      Omohundro International Computer Science Institute TR-91-047
      September, 1991.
      There may be more material on the Sather home page, but I have not had
      time to pull them out yet.

          I would have liked to include the "Dylan(TM) Competetive Analysis"
          paper from, but it
          appears to have disappeared from that site. I still have a paper
          copy of it - it was marked "draft". Did apple decide to withdraw it
          for some reason ? If you can find it, it contains some
          Dylan/C++/Objective-C/Smalltalk comparison.

Design Issues

      TR 93-045: Sather Iters: Object-Oriented Iteration Abstraction

          Sather iters are a powerful new way to encapsulate iteration. We
          argue that such iteration abstractions belong in a class' interface
          on an equal footing with its routines. Sather iters were derived
          from CLU iterators but are much more flexible and better suited for
          object-oriented programming. We motivate and describe the construct
          along with several simple examples. We compare it with iteration
          based on CLU iterators, cursors, riders, streams, series,
          generators, coroutines, blocks, closures, and lambda expressions.
          Finally, we describe how to implement them in terms of coroutines
          and then show how to transform this implementation into efficient


      Iterator.html (WWW hypertext) (9 pages) "Iterators:
      Signs of Weakness in Object-Oriented Languages". ACM OOPS Messenger
      4, 3 (July 1993), 18-25. If your language requires iterators in order
      to get anything done, your language's control structures are grossly

      [ Henry Baker's Archive of Research Papers at netcom, is sometimes
      difficult to reach, so I have shadowed copies of his paper here :
      Iterator.html ]

Miscellaneous Flame Bait! . . .

      Tom Christiansen's classic FAQ:

      Adam Sah, Richard Stallman, and others on: Why You Should Not Use Tcl
      and John Ousterhout's reply.

Odds and Ends

      A .bib file of the critiques appearing here and additional ones not
      available over the WWW. [ Note: This is John McClain's original bib
      file - I have not yet updated it with the new material I have added,
      nor mined it for other possible URL's. ]

Other resources . . .

          * Mark Leone's Programming Language Research page.
          * The Language List
          * The Free On-Line Dictionary of Computing.


          As practiced by computer science, the study of programming is an
          unholy mixture of mathematics, literary criticism, and folklore. -
          B. A. Sheil, 1981


---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Computer Systems Engineer University of Virginia |---
---| Department of Molecular Physiology and Biological Physics |---
---| Box 449 Health Science Center Charlottesville,VA 22908 |---

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.