FACTOID # 170: Apparently, the Federated States of Micronesia is the place to leave - and Afghanistan is the place to go.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Greenspun's Tenth Rule

Greenspun's Tenth Rule of Programming states: [1]

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

This phrase was stated sometime around 1993 by Philip Greenspun. The interpretation is that programmers, constrained by low-level, primitive tools like C, often work around the limitations of their languages by inventing and implementing features found in more expressive languages such as LISP. The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ... Fortran (also FORTRAN) is a computer programming language originally developed in the 1950s; it is still used for scientific computing and numerical computation half a century later. ... A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working as intended, or produces an incorrect result. ... Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, standardised by ANSI X3. ... Philip Greenspun is a retired computer scientist who was a pioneer in developing online communities. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ... Lisp may mean: Lisp programming language Lisp (speech) This is a disambiguation page, a list of pages that otherwise might share the same title. ...


Well-known hacker Robert Morris later added the corollary (found at [2]): Hacker describes a class of people who create and modify computer software and computer hardware, including people skilled in computer programming, administration and security. ... Robert Tappan Morris (b. ... A theorem is a statement which can be proven true within some logical framework. ...

Including Common Lisp.

This can be viewed as a commentary on the difficulty of creating an efficient implementation of the extremely large and complex Common Lisp language. Both Greenspun's rule and Morris's corollary are examples of a characteristic style of hacker humor known as "ha ha only serious".


Greenspun's tenth rule is often quoted by Lisp evangelists.


An example of Greenspun's tenth rule in action is the GTK+ library. Though written in C, GTK+ has garbage collection, dynamic loading, object orientation, and even closures, all of which are features of Common Lisp. But it can be very awkward to use these "high-level" features of GTK+, especially when linking to another language. It can be argued that these aren't only features of Lisp (in fact, most new programming languages support all of these), but Common Lisp was one of the first adopters of these features. Initially created for the graphics program the GIMP, the GIMP Toolkit—abbreviated, and almost exclusively known, as GTK+—is one of the two most popular widget toolkits for the X Window System, intended for creating graphical user interfaces. ... In computer science, garbage collection (also known as GC) is a form of automatic memory management. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... In programming languages, a closure is an abstraction that combines a function and a special lexical environment bound to that function (scope). ...



 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.