Exotische Prog.Sprachen



  • Brutus schrieb:

    wo wird LISP / LISP Programme noch verwendet?

    Hmm, mal schauen:
    Yahoo! Store
    AutoCAD
    Emacs

    Lisp 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_Lisp

    Das 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? 🤡



  • @Helium:

    Ist Scala wirklich so extrem effizient hinsichtlich Software-Entwicklung ?
    Das im "Scala by example" abgedruckte Quicksort braucht über 20 Zeilen
    Quelltext, das ist auch etwa die Größe der C-Version.

    In Haskell oder auch LISP kann man Quicksort ja in zwei bis fünf Zeilen
    programmieren.

    Da wir schon beim Thema sind: Was hältst Du eigentlich von Helium (die
    Programmiersprache, nicht der Poster 😉 ) ? Ist das
    zum Lernen von Haskell brauchbar oder kann man Helium auch zur größeren
    Anwendungsprogrammierung verwenden ?
    Wieviel Aufwand erfordert ein späteres Umsetzen von Helium-Code in Haskell-Code?


Anmelden zum Antworten