Seite 3 von 3

Verfasst: Freitag 16. Februar 2007, 19:22
von mitsuhiko
Und noch ein absurdes Beispiel zu der Name, Objekt Sache:

Code: Alles auswählen

a = 42
ist eigentlich das gleiche wie

Code: Alles auswählen

locals()['a'] = 42
und locals ist so definiert:

Code: Alles auswählen

def locals():
    return sys._getframe(1).f_locals
Wie du siehst ist hier wirklich alles ein Objekt. Noch objektiger als in Ruby wo ich weder ein Traceback noch ein Frame Objekt habe. Besonders ersteres schleimt dort ungemein.

Verfasst: Freitag 16. Februar 2007, 19:34
von BlackJack
Io ist aber noch objektiger als Python. Python hat noch Schlüsselworte die keine Objekte sind. :-)

Verfasst: Freitag 16. Februar 2007, 20:09
von mitsuhiko
BlackJack hat geschrieben:Io ist aber noch objektiger als Python. Python hat noch Schlüsselworte die keine Objekte sind. :-)
Tja. Man kanns übertreiben. Und schöne Syntax *und* Programmable Syntax schließen sich aus :D

Verfasst: Freitag 16. Februar 2007, 20:48
von BlackJack
Sag das mal den Lispern. ;-)

Ich finde die Syntax von Io aber nicht schlecht.

Verfasst: Samstag 17. Februar 2007, 09:18
von Leonidas
BlackJack hat geschrieben:Sag das mal den Lispern. ;-)
Ich habe es versucht - ehrlich, weil ich an sich gegen Klammern nichts habe. Aber entweder muss man sich an das wirklich gewöhnen oder es ist schlicht und einfach grausam. Das schlimme sind nicht die Klammern sondern die schließenen Klammern. Wenn Code wieder mal mit ``))))))))`` endet dann blickt man leider nicht wirklich gut durch.

Verfasst: Samstag 17. Februar 2007, 10:01
von nkoehring
Leonidas hat geschrieben:Wenn Code wieder mal mit ``))))))))`` endet dann blickt man leider nicht wirklich gut durch.
Hehe... das Problem kenn ich zu gut ^^ Genial hin oder her... das ist nur toll, wenn man gerade voll im "Klammerfluss" haengt :lol:

Ehm... was ist denn Io?

Verfasst: Samstag 17. Februar 2007, 10:08
von sape
nkoehring hat geschrieben:[...]
Ehm... was ist denn Io?
http://de.wikipedia.org/wiki/Io_%28Prog ... sprache%29

Verfasst: Samstag 17. Februar 2007, 10:16
von nkoehring
Vielen Dank :) Es ist immer wieder interessant, was es alles fuer Programmiersprachen gibt. Das mit dem Prototypenzeugs wollte ich mir eh mehr zu gemuete fuehren, einfach um damit umgehen und es richtig verstehen zu koennen... :roll:

Verfasst: Samstag 17. Februar 2007, 11:15
von BlackJack
Bei Lisp und Scheme muss man einen Editor benutzen, der einen bei den Klammern unterstützt.

Minimalanforderung: Highlighting der entsprechenden "Gegenklammer", wenn man mit dem Cursor an einer Klammer steht und verschiedene Farben für verschiedene Klammerebenen. Dann sieht man sehr schnell wo etwas nicht passt.

Oder man nimmt Emacs und lässt den Editor die Klammern automatisch setzen, dann kann man sie als Programmierer fast komplett vergessen.

Verfasst: Samstag 17. Februar 2007, 11:33
von nkoehring
VIM nimmt einem sowas auch ab.

Verfasst: Samstag 17. Februar 2007, 11:36
von Leonidas
BlackJack hat geschrieben:Bei Lisp und Scheme muss man einen Editor benutzen, der einen bei den Klammern unterstützt.

Minimalanforderung: Highlighting der entsprechenden "Gegenklammer", wenn man mit dem Cursor an einer Klammer steht und verschiedene Farben für verschiedene Klammerebenen. Dann sieht man sehr schnell wo etwas nicht passt.
Klar, so einen Editor habe ich, vim. Aber wirklich komfortabel ist es nicht wirklich. Und für die interaktive Lisp/Scheme-Konsole fällt sowas leider weg. Davon mal abgesehen finde ich den vim-Support für Lisp etwas arm, automatisches Klammersetzen wäre sicherlich nicht übel.