lisp - schwierig zu erlernen?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

abend allerseits,

nicht zuletzt weil ich selber auf irgendwas mit einen lisp aenlichen syntax gekommen bin[1], will ich mich mit lisp naeher auseinander setzen.
aber irgendwie komm ich nicht sonderlich schnell vorann. Ist lisp zu erlernen shwieriger als bei anderen programmiersprachen (oder werde ich schon von den zangen des kapitalismus/konkurenzdenkens_mit_inifizienter_closed-sorce_mentalitaet so sehr ausgepresst, dass mir saft fehlt?)

1: http://www.python-forum.de/topic-9710.html


und noch was:
irgendwelche ideen, wass ich mir heute noch schreiben oder angucken kann?


gruesse
costi
cp != mv
BlackJack

Ob eine Sprache leicht oder schwer zu erlernen ist, hängt nicht nur von der Sprache, sondern auch vom lernenden ab, ob ihm die "Natur" einer Sprache zusagt oder nicht.

Grundsätzlich denke ich Lisp und Scheme sind relativ einfach zu erlernende Sprachen. Sie werden beide gerne in der Lehre eingesetzt um Schülern und Studenten Programmieren beizubringen.

Ein gutes Online-Buch zu Scheme ist Structure and Interpretation of Computer Programs.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

die struktur von lisp finde ih genial!
was mich stoert ist, dass es etwas perl-artig ist.
oder zumindestens werde ich mit "ANSI common lisp" mit tausend moeglichkeiten bombardiert um etwa nur eine variable zu deklarieren

dabei mag ich sachen die puristisch aber pragmatisch und minimalistisch sind und sowas wie pointer sollte es in skriptsprachen erst recht nicht geben


EDIT:
verdammt, ich glaube ich suche sowas wie scheme, danke fuer den tipp
cp != mv
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Costi hat geschrieben:nicht zuletzt weil ich selber auf irgendwas mit einen lisp aenlichen syntax gekommen bin[1], will ich mich mit lisp naeher auseinander setzen.
aber irgendwie komm ich nicht sonderlich schnell vorann. Ist lisp zu erlernen shwieriger als bei anderen programmiersprachen (oder werde ich schon von den zangen des kapitalismus/konkurenzdenkens_mit_inifizienter_closed-sorce_mentalitaet so sehr ausgepresst, dass mir saft fehlt?)
Die Sprache selbst zu erlernen ist nicht unbedingt schwer, aber sie zu nutzen kostet mich immer etwas überwindung, weil ich schnell in meinem Gehirn rekursive Knoten bekomme. Den Hauptnachteil bei Lisp sehe ich darin, dass es schwer ist, etwas praktisches zusammenzubekommen (aber da gibt es inzwischen etwas Abhilfe mit dem wohl sehr gelungenen Practical Common Lisp-Buch). An sich finde ich die Syntax ganz in Ordnung, aber ohne gute Editor-unterstützung ala Emacs ist Lisp-Programmierern definitiv unangenehm. Nicht die Klammern an sich sind schlimm - nur die schließenden Klammern die dann Konstrukte wie ``)))))))))))))`` bilden. Ansonsten ist die Syntax von der Idee ziemlich genial und ich denke wenn man über einen bestimmten Punkt drüber ist dann kann Lisp sicherlich auch Spaß machen.

Du kannst dir aber auch Scheme anschauen, das ist neben CL der zweite Moderne LISP Dialekt der quasi genau in die andere Richtung geht: starke Simplizität. Die komplette Spezifikation von Scheme ist nicht länger als der Appendix von ANSI CL (oder CLtL1). Leider gibt es kein Practical Scheme Buch, das würde mich nämlich sehr interessieren. Dafür gibt es einige Lehrbücher, die Scheme erklären.. viele von denen gibt es kostenlos online.

An sich ist Lisp eine Ziemlich witzige Sache, denn wenn man es etwas nutzt, trifft man auf einige nette Sachen die es mit Python gemein hat.

Allerdings ist für den einstieg in etwas weniger "handelsübliche" Sprachen vielleicht auch OCaml interessant, dazu gibt es auch ein altes OReilly-Buch und diverse Tutorials. Noch dazu ist OCaml phantastisch schnell. Es gibt auch ein Practical OCaml Buch, aber das ist leider nicht empfehlenswert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Ein guter Scheme-Compiler ist übrigens Bigloo. Neben "nativen" Binärprogrammen kann er auch JavaBytecode und .NET-Assemblies (experimentell) generieren.

Und die Bibliothek geht etwas über den Scheme-Standard hinaus. Es sind ein paar nützliche Sachen dabei.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Ein guter Scheme-Compiler ist übrigens Bigloo. Neben "nativen" Binärprogrammen kann er auch JavaBytecode und .NET-Assemblies (experimentell) generieren.

Und die Bibliothek geht etwas über den Scheme-Standard hinaus. Es sind ein paar nützliche Sachen dabei.
Ich selbst finde PLT Scheme sehr brauchbar. Dessen Stdlib ist recht umfassend und es gibt dazu auch vergleichsweise viel Dokumentation. Es kompiliert zwar keinen Native-Code, fühlt sich aber als Interperter mehr wie Python an (also z.B. Ausprobieren des Codes im Interpreter, was anfangs sehr angenehm sein kann).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Einen Interpretierer bietet Bigloo natürlich auch.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

lisp/scheme compiler scheinen ja sehr vielfaeltig zu sein.

man koennte doch python biblioteken mit lisp/scheme emulieren und dan einen parser schreiben, der python-syntax in lisp syntax uebertraegt.

also einen (Bill) CLython

oder?
cp != mv
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Costi hat geschrieben:also einen (Bill) CLython
Voilá, allerdings heißt der Spaß CLPython.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Moment mal... Dann kann man in CLPython programmieren, daraus lisp code backen und dann daraus Binärprogrammen compilieren?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Nicht wirklich. Das scheint letztendlich ein Python-Interpretierer in Lisp zu sein.
Antworten