[linux-l] Mächtigkeit von LISP (war: Geschwindigkeit von DB)

Oliver Bandel oliver at first.in-berlin.de
Sa Jul 1 03:28:26 CEST 2006


On Fri, Jun 30, 2006 at 05:35:56PM +0200, Volker Grabsch wrote:
> On Fri, Jun 30, 2006 at 11:45:16AM +1000, Peter Ross wrote:
> > On Thu, 29 Jun 2006, Volker Grabsch wrote:
> > > Eine der erfolgreichsten Web-Applikationen wurde in LISP geschrieben.
> > Pure Neugier: Welche?
> 
> http://www.paulgraham.com/avg.html
> 


oh, ich glaube, den kenne ich ...  von damals noch :)


> Der Artikel übertreibt IMHO ein wenig, wenn er LISP als "Geheimwaffe"
> und "entscheidenen Vorteil gegenüber der Konkurrenz" bezeichnet,

Ich denke das tut er nicht.


> obwohl
> das damals sicherlich stimmte, weil es sonst "nur" C/C++ und Perl gab,
> obwohl eine PHP-Konkurrenz wahrscheinlich änhliche Probleme gegen den
> LISP-Code hätte.
> 
> Allerdings könnte man heutzutage statt LISP auch Ruby oder Python als
> "Geheimwaffe" bezeichnen, vorallem dank einiger DB-Abstraktions- und
> Web-Applikations-Bibliotheken.


Du sagst, der Artikel übertreibt, erwähnst zwar daß der Artikel älter ist, 
und es *damals* wohl eventuell gestimmt haben möge, und sagst, *heutzutage*
sei das Blödsinn.

Nur stammt der Artikel einmal aus einer Zeit, als eben noch nicht
- wie *heutzutage* (und das schreibst Du ja selbst!) - diverse
andere Sprachen vorhanden sind, sondern der Artikel stammt aus einer Zeit,
als diese Sprachen noch nicht verfügbar waren!

Also ist Deine Kritik an dem Artikel Unsinn!




> 
> Dennoch glaube ich dennoch, dass LISP immer noch die ausdrucksstärkste
> Sprache ist,

Ja, Lisp ist cool, denn es bietet diese Rekursivität, die man beim Parsen sämtlicher
Sprachen immer da hat!

Aber das können eben die anderen funktionalen Sprachen auch recht gut
abbbilden (Lisp - aber auch Scheme- ist da allerdings aufgrund der
der Parse-Trees ähnlichen Syntax (Hallo Klammer!!!) eben bestens
geeignet eine Sprache mit eigenen Sprchmitteln abzubilden!


> an die noch keine (funktionale oder OO- oder gemischte)
> Sprache herankommt,

Lisp ist da eben konsequent - aber das macht Lisp-Programmierung auch zur Qual,
denn die Konsequentheit äussert  sich darin, sich mit Klammer herum zu schlagen! ;-)

Scheme ist diesbezüglich aber auf Augenhöhe.


> selbst Python, Ruby, Ocaml und Haskell nicht.

Die wollen das auch garnicht so machen...

Eine anderes Syntax - Klammer-Macken-frei - ist ja durchaus auch sinnvoll!

Und mit diesen anderen Sprachen kann man auch recht abstrakt arbeiten.



> Auf jeden Fall steht LISP noch auf meiner "to-learn" Liste,

ach ja, hätte ich ja fast vergessen... bei mir steht die ja *eigentlich*
(uneigentlich also nicht ;-)) auch auf der Liste.


> gleich
> nach Ocaml, in das mich im Moment näher vertiefe (nicht nur ein bisschen
> Syntax und Beispielcode angucken wie vor ein paar Monaten, als mich
> Oliver neugierig machte).


Oh, schön, daß mein Reden nicht vollkommen ungehört verhallte...
...schön auch, daß Du Dir OCaml näher anschaust! :)


Und...?!  Sind schon erste Resultate Deiner Studien nennbar? :)

Wie findest Du das gemeine auf-die-Finger-Hauen des Compilers
bzgl. Typen zur Compiletime?! :)


> 
> 
> Was an dem Artikel sehr auffällig ist, ist das ungeheure Selbstbewusst-
> sein, mit dem der Autor auftritt.

Ich denke, dazu hat er guten Grund!


> Das geht aber mehr in die Richtung
> 
>     ausdrucksstarke, schwer zu lernende Sprache mit wenigen
>     teuren Programmierern
> 
> versus
> 
>     primitivere / weniger möchtige Sprache mit 100en einfachen
>     Programmieren
> 


Tja, der Kerl kommt von der Uni und hat nen hohen Anspruch;
es geht ihm nicht um Massen-Coding!



> Beide Ansätze sind vielversprechend, insbesondere der zweite Ansatz, bei
> dem man nur im Kern ein wirklich gutes Team braucht und "weiter außen"
> auch Unerfahrende oder gar Anfänger mitarbeiten können.

Ist das nicht immer so?


Mythical-Man-Month geht IMHO in die selbe Richtung...?!
So habe ich das jedenfalls in Erinnerung habe es aber, wie so oft,
nach dem ersten Drittel abgebrochen... die Leserei).


> Auf diese Weise
> funktionieren AFAIK viele große Firmen, und auch große Teile der
> OpenSource-Community funktionieren so.

Jau, jau....


> 
> Mittlerweile lassen sich ja vorallen in Sprache, die funktionale *und*
> objektorientierte Programmierung vereinfachen (Python, Ocaml, Ruby, ...)

Eben, OCaml ist auch dabei, dankeschön für die Erwähnung ;-)


> viele Dinge direkt (oder zumindest trivial) ausdrücken, die vorher nur
> als "Design Patterns" bekannt waren.


Aha, klingt ja ganz anders als "damals noch! :)

Schön, daß Lernen bei manchen Menschen noch wichtiger ist als recht behalten!

Bist ja doch ganz aufgeschlosssen..... fein!


> Es würde mich nicht wundern, wenn
> in LISP noch mehr dieser Patterns "trivial" erscheinen.

Ja, mit Sicherheit; aber das ist eben auch in vielen funktionlane  Sprachen so!

Die Design-Patterns sind ja im Zusammenhang der OO-Programmierung entstanden,
und obwohl das Vorgehen mit Recipes a la Design-Patterns ja universell ist,
sind viele der Design-Patterns, die als solche bekannt wurden, nur durch
die OO-Programmierung bekannt und auch notwendig geworden.


IMHO kann es keinen Sinn machen, wenn es um reale* ("realexistierende" ;-))
Programmierung geht, die eine gegenüber der anderen Programmier-Weise ("Paradigma")
als ausschliesslich glücklichmachende einzusetzen (und alle anderen in die Tonne zu hauen);
es kann IMHO nur darum gehen, die verschiedenen "Idealtypen"
("Idealtypus" aus der Soziologie abgeleitet) zusammen zu nutzen und das, was sich einem an
Möglichkiten bietet, auch einzusetzen.

Gewisse Schwerpunktsetzungen sind selbstverständlich sinnvoll und orinentieren
sich an dem Arbeitsgebiet und dem zu modellierenden "Dingens" ;-)

Sprachen wie OCaml bieten einem den Vorteil, auf mehr als eines
der "Programmierparadigmen" zurückgreifen zu können.

Gruß,
   Oliver



Mehr Informationen über die Mailingliste linux-l