Exotische Prog.Sprachen
-
@Brutus
Ich hab mal ganz viele Links in der Wikipedia eingetragen: http://de.wikipedia.org/wiki/Common_LispDie NASA benutzt unter anderem Lisp.
-
Brutus schrieb:
wo wird LISP / LISP Programme noch verwendet?
Hmm, mal schauen:
Yahoo! Store
AutoCAD
EmacsLisp wird zur Zeit durch Sprachen wie Perl, Python und Ruby für RAD "wiedergeboren". Dazu gibt es sehr interessante Essays von Paul Graham.
-
kingruedi schrieb:
@Brutus
Ich hab mal ganz viele Links in der Wikipedia eingetragen: http://de.wikipedia.org/wiki/Common_LispDas hier ist auch interessant.
-
Brutus schrieb:
Wenn jemand noch ein paar Links zu ein paar Lisp seiten bzw. (deutschen) Tutorials hat, wäre ich auch dankbar
kostenloser online-kurs (auch auf deutsch): http://apsymac33.uni-trier.de:8080/elm-art/login-d
auf bald
oenone
-
Interessanter Link! Demzufolge scheint bei der Ausführungs-Effizienz kaum
ein Weg an C vorbeizugehen (abgesehen von Forth).
Was von FP-Sprachen aber immer wieder behauptet wird, ist ja die höhere
Entwicklungs-Effizienz, man soll wohl x-mal so schnell zum ausführbaren
Programm kommen.Leider kenne ich mich mit F.P. überhaupt nicht aus, aber vielleicht lege ich
mir Haskell oder eine ML-Sort als "Zweitsprache" neben C/C++ zu, um der Sache
mal etwas auf den Grund zu gehen. 9-mal schneller und fehlerfreier zu programmieren würde mich nämlich schon interessieren, selbst wenn davon in der Praxis "nur" eine Verdreifachung übrigbleiben sollte.
-
... der vorangehende Beitrag war an maximAL gerichtet...
-
ich hab mal paar kleinere Sachen in Brainfuck geschrieben, das war sehr geil aber das hat wirklich mein brain gefuckt
-
Kennt jemand einen einfachen freien LISP-Interpreter/Compiler, mit dem man mit wenig Installationsaufwand und ohne großes Registry-Gepfriemele unter win32
mit LISP herumspielen kann ?
-
Cacheline schrieb:
Interessanter Link! Demzufolge scheint bei der Ausführungs-Effizienz kaum
ein Weg an C vorbeizugehen (abgesehen von Forth).nunja, interpretationsfrage. hier ist OCaml mal sehr schnell, da mal sehr langsam...
hier wird basierendn auf dem bench behauptet, es würde im schnitt den 2. schnellsten code generieren. aber keine ahnung, wie und wo das abgelesen wurde
naja, letztendlich halte ich so einen bench eh nur für minder aussagekräftig, zischen einem einzelnen kleinen algorithmus und einem komplexen programm ist auch wieder ein riesen unterschied, da kommen dann auch wieder andere faktoren zum tragen.
trotzdem interessant, dass eine sprache, die doch ein paar abstraktionsebenen über den maschinennahem wie C oder C++ steht trotzdem so gut mithalten kann.Cacheline schrieb:
Was von FP-Sprachen aber immer wieder behauptet wird, ist ja die höhere
Entwicklungs-Effizienz, man soll wohl x-mal so schnell zum ausführbaren
Programm kommen.da schaust du dir am besten mal den punkt codelänge bzw. gleich die implementationen der beispielprogramme an.
-
Cacheline schrieb:
Kennt jemand einen einfachen freien LISP-Interpreter/Compiler, mit dem man mit wenig Installationsaufwand und ohne großes Registry-Gepfriemele unter win32
mit LISP herumspielen kann ?Hallo!
Für Newbies am besten geeignet ist eigentlich SBCL. Doch leider läuft der nicht unter Windows.
clisp (den nutze ich auch die meiste Zeit) ist ebenfalls einfach zu benutzen.
Wichtig ist, dass du asdf zum Laufen bringst, damit du ohne großen Aufwand Bibliotheken nutzen kannst. Dafür gibt es auch ein Tutorial von Edi Weitz:http://www.weitz.de/asdf-install/
Wenn dir das zu schwierig ist (verständlich), installier dir eine kommerzielle Lisp-Umgebung wie LispWorks oder Allegro.
Die freien Personal-Editionen haben nur wenige Einschränkungen und sind zum Lernen der Sprache optimal.
-
@Doktor Prokt:
Danke für die Links. Ich will ja LISP erstmal zum Herumspielen und ausprobieren
verwenden, deshalb sind mir die Trial-Pakete zu gross oder zu restriktiv.
Ich probiere XLISP aus, das ist genau das, was ich gesucht habe.@maximAL:
Kann man mit Sprachen wie Haskell, *ML oder *LISP eigentlich auch Dinge
wie Systemprogramme oder eine Textverarbeitung ohne große Kompromisse
programmieren ?Und wenn ja, welche gängige Software ist denn z.B. in LISP programmiert ?
-
Cacheline schrieb:
@maximAL:
Kann man mit Sprachen wie Haskell, *ML oder *LISP eigentlich auch Dinge
wie Systemprogramme oder eine Textverarbeitung ohne große Kompromisse
programmieren ?nun...das kommt drauf an.
was verstehst du unter systemprogramme? wenns ganz hardware-nah sein muss, ist C(++) sicher besser geeignet.
und sowas wie ne textverarbeitung würd ich generell lieber mit etwas entwickeln, wo ich mir die GUI zusammenklicken kann
-
oder eine Textverarbeitung ohne große Kompromisse
programmieren ?Emacs ist doch der Editor und er ist komplett Lisp basiert. Hat zum Vorteil, dass du innerhalb von sekunden eigene Erweiterungen basteln kannst.
Lisp Software die ich einsätze ist
Sawfish (Lisp-Dialekt: rep (basiert auf elisp))
GNU/Emacs (Lisp-Dialekt: elisp)
Maxima (Lisp-Dialekt: ANSI Common Lisp)Eine weitere bekannte Software ist AutoCAD. Ansonsten ist Lisp eher in spezial Lösungen verbreitet und besonders im KI Bereich ist Lisp eine weit verbreitete (wenn nicht _die_) Sprache.
-
kingruedi schrieb:
Eine weitere bekannte Software ist AutoCAD.
Wobei das heutige AutoCAD soweit ich weiß zum größten Teil in C++ programmiert ist, aber unter anderem über einen Lisp-Dialekt aus Gründen der Abwärtskompatibilität noch Erweiterungen geschrieben werden können.
-
kingruedi:
interessant. Daß man den Emacs mit LISP programmieren kann, wußte ich, aber daß
Emacs komplett in LISP geschrieben ist, hätte ich nicht gedacht.
-
Cacheline schrieb:
kingruedi:
interessant. Daß man den Emacs mit LISP programmieren kann, wußte ich, aber daß
Emacs komplett in LISP geschrieben ist, hätte ich nicht gedacht.Naja, Emacs kann nicht komplett in Emacs-Lisp geschrieben sein. Es wurde erst ein Lisp-Interpreter in C geschrieben und darauf dann der Editor gebaut.
Also ein minimaler Kern in C ist schon noch vorhanden
-
Funktionale Sprachen funktionieren meiner Erfahrung nach nicht bei allen Problemstellungen gleichgut. Es gibt viele Programmier-Alltagsprobleme die ich nur umständlich funktional beschreiben kann.
Außerdem verstehen die meisten die imperative programmierung recht schnell, so dass man für kleine Aufgaben auch nicht so talentierte Menschen verwenden kann, wogegen funktionale Sprachen ein wenig mehr Einarbeitung und Verständis benötigen.Ich persönlich würde große Projekte nur ungern in Haskell, Clean, etc. Verwirklichen. Der entstehende Code wäre zwar mit Sicherheit deutlich kürzer, als der in den meisten Anderen Sprachen, aber die Arbeit deswegen nicht zwangsweise einfacher.
Die Lösung sind IMHO Mischsprachen, wie Scala, die zwar noch nicht hundertprozentig ausgereift ist, aber IMO nachwievor die Sprache mit dem meisten Potential ist und bereits jetzt an programmiereffizienz (für mich) alle anderen mir bekannten Sprachen in den Schatten stellt.
-
Kingruedi, kannst du mir das mal genauer erklären, wieso LISP für KI so gefragt ist? Ich meine, man kann mit Listen rumspielen bzw. sie sind _DIE_ basis, aber inwiefern ist das jetzt besser als brainfuck, haskell, c oder sonstwas?
Und wieso ist es gut - sehr gut geeignet für Textverarbeitung? (Ja, ich habe noch nicht viel mit LISP gemacht, mache gerade dieses Tutorial dieser uni Seite..)
-
Helium schrieb:
Die Lösung sind IMHO Mischsprachen, wie Scala, die zwar noch nicht hundertprozentig ausgereift ist
ich möchte nur nochmal anmerken, dass OCaml auch ein "mischsprache" ist. funktional und imperativ - auch objektorientiert .
keine ahnung, ob es ausgereifter als scala ist, das kenn ich nämlich nicht
-
Ich habe eine Zeit in Visual Basic 6 programmiert. Wer jetzt sagt, das sei nicht exotisch, der hat wohl noch nie die Syntax gesehen
Ausserdem gibt es in VB sehr abenteuerliche Auslegungen von Objektreferenzen:
Dim obj As New Object obj = Nothing 'Jetzt kommt es :-D if obj = Nothing 'Diese Zeile verursacht einen schönen Absturz ...
Für mich absolut unlogisch, stellt eine riesengrosse Einschränkung in der Sprache VB dar. In C/C++, C# und auch in JAVA kann man so wunderschön auf NULL-Referenzen prüfen, in VB geht das offenbar nicht...
Oder hat gleich jemand einen Tipp?