"Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."
Hmm. That is 1993.
I think the generalization is more appealing in these days of 2010:
"Any sufficiently complicated platform contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a functional programming language"
How is that relevant today? Perhaps like this:
There is the Java stack and the Dotnet stack with their dominant languages Java and C#.
They were initially meant to be C++ replacements (for Java this is true - and as C# is kind of a clone. So it is true for C#). So the Greenspun's rule must have been true for them at first.
Gradually, the languages evolved or are proposed to evolve towards the Lisp feature set saying closure for instance or first class functions.
C# is evolving arguably faster than Java. But still some features like the ability to use an interactive shell to develop programs or building DSLs with ease is subject to the Greenspun's rule for these languages.
There is nothing wrong with that as their underlying engines the JVM and the CLR support the so called "dynamic" languages like IronRuby or JRuby or Jython or IronPython which are damn close to Lisp's features.
With the CLR or the JVM polyglot programming is fine and the guys in the datacenters really like that IronPython or JRuby come on a well known platform like the JVM. Well, it is Java. You see?
Somehow Paul Graham is quite right that the languages from C to C++ to C# to IronPython go asymptotically towards the Lisp features as he writes in his essay The Revenge of the nerds and all that was already there in 1958. It's been 50 years to go mainstream.
As well the small bit on What languages fix is good reading from this guy:
"
....
C: Assemby language is too low-level.
C++: C is too low-level.
Java: C++ is a kludge. And Microsoft is going to crush us.
C#: Java is controlled by Sun.
....
"
Definitely after having started to look around beyond the Java and C# camps I found that the Wizard book and On Lisp give some idea of an upper boundary on programming languages showing the Lisp idea.
Strange that I missed all that in college. Puuhh! Who did you have in linear algebra? And where are the salsa dance parties? Drinking parties, .... There was some other important stuff to do. Right?!!!
Keine Kommentare:
Kommentar veröffentlichen