Talk:Greenspun's tenth rule

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated Stub-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
 
WikiProject Systems (Rated Stub-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is within the field of Systems engineering.
 

Backwards interpretation[edit]

The "Meaning" section is completly off the mark; it for some reason starts off talking about Lisp syntax and macros... whereas any recovering C++/Fortran vetran can tell you that the beef is in the features common with today's popular dynamic languages including automatic memory management, high level data structures and strong typing.

Indeed. And the real meaning - namely, that Common Lisp had important language features and a large standard - is already mentioned in the lead section. The 'meaning'section is just an opinion without any reputable source.
I will move it here: Lisp syntax is barely abstract; Lisp programs are constructed as trees of S-expressions, which are equivalent to the abstract syntax trees that compilers of other languages create internally. As a homoiconic language, Lisp also makes no distinction between code and data; Lisp programs are themselves just Lisp data structures. Lisp programs can thus generate additional Lisp programs themselves via macros. As a result, the programmer can construct complex domain specific languages with relative ease. Lisp advocates such as Paul Graham claim that this allows faster construction of more robust software compared to other languages.[1] Common Lisp, specifically, has a quite large standard library with a large number of functions with flexible interfaces, that capture many programming paradigms (like remove, reduce, map, etc.). Greenspun's Rule expresses the opinion that these capabilities are necessary for any sufficiently complex software package, and so will be redesigned from scratch in an ad hoc manner in any large project, duplicating effort already exerted in Common Lisp. -- Zz (talk) 12:09, 9 September 2014 (UTC)

Morris' corollary doesn't make sense.[edit]

"Including Common Lisp" what does that mean? Common Lisp isn't a C or Fortran program; it can't be included in the set of C and Fortran programs. Some Common Lisp implementations use C or C++ in their "kernels". Some are written in Common Lisp itself or some combination of the two. (Don't know of any in current use that are based on Fortran.) Of course if you implement Common Lisp, the project will contain half of Common Lisp --- and the other half, too! (Will it necessarily be ad hoc or bug-ridden? Probably not the former if you follow the specification.)24.85.175.81 (talk) 03:03, 3 October 2015 (UTC)

  1. ^ Beating the Averages, by Paul Graham.