Ob's gemäß dem Forumsuntertitel gute Links sind, möchte ich nicht beurteilen, aber ich habe zwei neue Screencasts gebaut - diesmal der etwas längeren Art: In http://vimeo.com/8383919 bastle ich mir ein Ad-Hoc-Ruby-Laufzeitsystem und in http://vimeo.com/8407944 einen BASIC-Interpreter für ein Spiel, das schon alt war, als ich's vor vielen, vielen Jahre das erste Mal gespielt hatte.
Ich würde mich freuen, wenn's sich jemand anschaut und es gefällt.
Stefan
[Screencasts] Interpreter in Python
Die Screencasts sind durchaus interessant. Ich denke nicht dass die Versprecher/-schreiber stören, zumindest mich nicht, weil du recht gelassen und ruhig darauf reagierst und keine Aufmerksamkeit darauf ziehst.
Sehr positiv fällt auch deine Stimme auf, durchgehend deutlich und ruhig ohne dabei monoton oder künstlich zu wirken.
Sehr positiv fällt auch deine Stimme auf, durchgehend deutlich und ruhig ohne dabei monoton oder künstlich zu wirken.
@sma: So gegen Minute 20 beim BASIC-Interpreter redest Du von Deinem Python-Interpreter und das bei *Java* ursprünglich ``LET`` vor Zuweisungen stehen musste.
Sonst gefällt's mir gut.
Sonst gefällt's mir gut.
Ja, hat mir gut gefallen, auch wenn ich bei „ich habe diese Klassen schon einmal vorbereitet“ unwillkürlich an eine Kochsendung denken musste.
PS: Und wenn der komplette Interpreter fertig ist gibts dann das WSGI-kompatible Ruby-on-Snails Webframework.
PS: Und wenn der komplette Interpreter fertig ist gibts dann das WSGI-kompatible Ruby-on-Snails Webframework.
Ich finde es verwirrend, bei einem englischen Titel einen deutschsprachigen Screencast zu bekommen. Hab mir die Videos ehrlich gesagt nicht genau angeguckt (weil ich Angst vor Ruby habe ), kann also nicht mehr dazu sagen. Scheint aber generell gut anzukommen
Jean Pütz, Hobbythek - das verbinde ich mit dem Spruch - und nicht nur ich, sondern auch die Wikipedia wie ich gerade sah...
Meine Verwechslung von Java und BASIC bitte ich zu verzeihen, die Unterschiede sind dann ja auch minimal ;) Na, okay, das let gibt es natürlich nur bei JavaScript (und Lisp bzw. Scheme) und nicht bei Java.
Zu den englischen Titeln: Das war so eine Idee von mir vorhin. Da habe ich sie geändert. Warum genau, weiß ich eigentlich nicht, zudem ja auch die Beschreibung wieder deutsch ist. Vielleicht eine Konditionierung von der Firma, wo wir auch alle Präsentationen und Dokumente auf Englisch machen, selbst wenn wir's dann auf deutsch erzählen.
Ansonsten freue ich mich sehr über die positiven Worte.
Stefan
Meine Verwechslung von Java und BASIC bitte ich zu verzeihen, die Unterschiede sind dann ja auch minimal ;) Na, okay, das let gibt es natürlich nur bei JavaScript (und Lisp bzw. Scheme) und nicht bei Java.
Zu den englischen Titeln: Das war so eine Idee von mir vorhin. Da habe ich sie geändert. Warum genau, weiß ich eigentlich nicht, zudem ja auch die Beschreibung wieder deutsch ist. Vielleicht eine Konditionierung von der Firma, wo wir auch alle Präsentationen und Dokumente auf Englisch machen, selbst wenn wir's dann auf deutsch erzählen.
Ansonsten freue ich mich sehr über die positiven Worte.
Stefan
Ich wollte gerade sagen, da bin ich wohl noch zu jung für, aber das lief ja tatsächlich bis 2004, dachte das wäre vor Jahren abgesetzt worden.sma hat geschrieben:Jean Pütz, Hobbythek - das verbinde ich mit dem Spruch - und nicht nur ich, sondern auch die Wikipedia wie ich gerade sah...
Tendentiell ist es in diesem Forum so, dass gezeigter Code o.ä. selten gelobt wird - irgendwie findet man ja auch bei ziemlich gutem Code immer irgendetwas, an dem man herumnörgeln kann. Kommen keine Hinweise auf Verbesserungsbedürftiges, dann heißt das faktisch "gut gemacht" - sagt dann bloß in der Regel keiner.sma hat geschrieben:Ich würde mich freuen, wenn's sich jemand anschaut und es gefällt.
Ich habe mir den BASIC-Hammurabi-Screencast (etwa zur Hälfte; die Entwurfsgeschwindigkeit ist für mich zu schnell bzw. ich brauche länger zum Nachvollziehen als du zum Entwickeln ...) angesehen und finde das absolut hochwertig. Abgesehen von dem, was man inhaltlich lernen kann über den Entwurf eines BASIC-Interpreters in Python, ist es auch eine nicht zu unterschätzende Leistung, einen solchen Interpreter quasi (beinahe) live und in Echtzeit zu entwerfen und das Ganze dann auch noch qualitativ hochwertig, ruhig und gut verständlich zu erläutern. Als Gesamtleistung wirklich beeindruckend.
Oh ja, ein sehr witziger: http://www.youtube.com/watch?v=9PpymGEr51Isma hat geschrieben:Jean Pütz, Hobbythek - das verbinde ich mit dem Spruch - und nicht nur ich, sondern auch die Wikipedia wie ich gerade sah...
Das ist eine sehr gute Frage. Die Antwort ist leider nicht einfach. Ich habe dazu einen Screencast gemacht ;) http://vimeo.com/8438003.Darii hat geschrieben:@sma: Was ich bei deinem Laufzeitsystem nicht verstehe, warum hast du Rb_Block nicht von Rb_Object erben lassen? Dann hättest du dir die block_class sparen können. Oder übersehe ich da was?
Stefan
Zuletzt geändert von sma am Mittwoch 30. Dezember 2009, 14:10, insgesamt 1-mal geändert.
Jein. Dictionaries sind robuster gegen Änderungen. Wenn Objekte Exemplare von Klassen sein müssen und diese über eine Liste (aka Vektor aka Array) definieren, wie die Exemplarvariablen heißen und man alles in der Sprache ändern kann, muss man sehr aufpassen, dass man die Zuordnung nicht verliert. Ändert man beispielsweise in Smalltalk (woher ObjC das natürlich hat) die Vererbungshierarchie, müssen alle Methoden der betroffenen Klassen neu übersetzt werden. Fummelt man an den Variablen selbst herum, müssen alle existierenden Objekte transformiert werden. Diese im Speicher zu finden, ist etwas, das man bei einer JVM-basierten Sprache gar nicht leisten kann. Ich glaube, bei ObjC ist das kein Problem, denn im Gegensatz zu Smalltalk kann man da ein laufendes System nicht verändern.Darii hat geschrieben:Danke, interessant. ObjC Objekte sind ja genauso aufgebaut. Pointer auf die Klasse und danach ein Array der Instanzvariablen. Ist spontan auch der einfachste Entwurf der mir einfällt.
Stefan
Ja, da sind ja categories vermutlich das Höchste der Gefühle. Wie genau die Instanzvariablen zur Laufzeit aufgelöst werden weiß ich allerdings nicht, da müsste man sich vermutlich mal angucken, was der Compiler mit den Methoden anstellt. Allerdings gibt es ja schon einige verdächtige Funktionen in der runtime z.B. class_addIvar oder class_setSuperclass.sma hat geschrieben:Ich glaube, bei ObjC ist das kein Problem, denn im Gegensatz zu Smalltalk kann man da ein laufendes System nicht verändern.
In der Tat. Hier gibt es mehr Metafunktionen, als ich gedacht hätte. Muss mir mal bei Gelegenheit anschauen, wie ObjC eigentlich implementiert wird.Darii hat geschrieben:Ja, da sind ja categories vermutlich das Höchste der Gefühle. Wie genau die Instanzvariablen zur Laufzeit aufgelöst werden weiß ich allerdings nicht, da müsste man sich vermutlich mal angucken, was der Compiler mit den Methoden anstellt. Allerdings gibt es ja schon einige verdächtige Funktionen in der runtime z.B. class_addIvar oder class_setSuperclass.
Bezeichnend finde ich, dass man zwar Ivars hinzufügen, aber nicht entfernen kann. Außerdem sagt die Beschreibung "Adding an instance variable to an existing class is not supported." Das scheint mir nur zur Initialisierung zu taugen.
Stefan
Hab auch gerade mal in einen deiner Screencasts geschaut und hat mir soweit auch ganz gut gefallen, obwohl ich mir nur Ausschnitte davon angesehen habe. Positiv ist mir auch das Syntaxhighlightning aufgefallen... das verwende ich auch immer...