Related articles |
---|
Programming Language Critiques WWW page sdm7g@virginia.edu (Steven D. Majewski) (1995-03-28) |
Newsgroups: | comp.compilers |
From: | "Steven D. Majewski" <sdm7g@virginia.edu> |
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:
<http://minsky.med.virginia.edu/sdm7g/LangCrit/>
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
*** UNDER CONSTRUCTION ***
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
critique.
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.
LISP
The Evolution of Lisp Guy L. Steele, Jr & Richard P. Gabriel. from ACM
SIGPLAN HOPL-II
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:
http://www.cs.Princeton.EDU:80/faculty/appel/papers/364.ps.Z
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
CU-CS-641-93
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 ftp://ftp.cambridge.apple.com/pub/dylan/papers, 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
code.
THEN, ON THE OTHER HAND ...
Iterator.html (WWW hypertext) Iterator.ps.Z (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
deficient.
[ 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 comp.unix.shell FAQ:
CSH PROGRAMMING CONSIDERED HARMFUL
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 |---
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.