[Squeak-ev] EToys: 2 Bugs in "Expression-Builder"; und "falscher" Wertebereich bei Schieber; und Problem mit Malen+Lager

Bert Freudenberg bert at impara.de
Son Sep 26 10:56:19 UTC 2004


Am 25.09.2004 um 13:23 schrieb Harald M. Müller:
>> Zu der Formel - siehe unten. Aber das Rundungsproblem kann ich nicht
>> nachvollziehen - wo wurde gerundet?
>
> Wenn man in dem "Nicht-Formel-Editor" 0.2 eintippt. Also das Anzeigen
> von Zahlen ist ziemlich falsch, muss ich sagen. Mach folgendes:
>
> 1. Irgendeine Figur zeichnen, Betrachter öffnen
> 2. Neben "gehe vorwärts um" die Zahl 5 durch 0.2 ersetzen, auf Enter
> drücken.
> 3. Oft auf ! klicken - tatsächlich: Man sieht, wie sich y nur bei jedem
> fünften Klick um eins erhöht.
> 4. "gehe vorwärts um" als Skript herausziehen - noch immer gleiche
> Anzeige, gleiches Verhalten.
> 5. Auf den nach-rechts-Pfeil neben 0.2 klicken -> es steh plötzlich
> wieder 0 da!!! - aber intern ist der Wert doch 0.2!! (sieht man durch
> weiteres ausprobieren; oder Skript auf "laufend" setzen; oder in den
> Skripttext hineinschauen).
> Nix gut ... abgezeigte Werte müssen mit internen Werten immer
> übereinstimmen ...
>
> Das war mein "0" - ich dachte letzte Woche, dass 0 auch 0 bedeutet, 
> d.h.
> dass wirklich gerundet/abgeschnitten wird.

Ah, ja, das ist wirklich ein Bug. Hab's eben in den Bugtracker 
eingetragen (wer am Verfolgen der Bugs Interesse hat, kann sich bei 
http://bugs.impara.de/ anmelden, und dann Projekt "squeakland" wählen).

>> Da hast du eines der wesentlichen Probleme der momentanen
>> EToys erkannt
>> - der Formeleditor ist keiner.
>
> Das ist ja schrecklich ... anders kann ich es nicht sagen. Wo steht der
> Sourcecode dazu, und kann man den Sourcecode ändern und sofort 
> verwenden
> (ich kenne das dahinterliegende Smalltalk-System nicht) ...

Kann man. Im roten Halodrops-Menu unter "Programmieren" wähle "Browser 
für Morf". Das funktioniert, aber wenn man ernsthaft was programmieren 
möchte, sollte man lieber das Developer-Image 
(http://squeakland.org/plugin/installers/files.html) nehmen, bei dem 
die Quelltexte in ihrer Original-Formatierung dabei sind (die 
Quelltexte in der normalen Downloadversion werden durch Dekompilierung 
erzeugt, um Platz zu sparen).

  eine
> korrekte (lt. meiner Definition) Übersetzung der "zusammengeklickten
> Ausdrücke" in ein Script schreibe ich in einer Stunde, würde ich hoffen
> - und dann passt das - oder sind die Datenstrukturen hier etwas
> aufwendiger zu verstehen, als ich mir das naiverweise vorstelle?

Kommt drauf an ;-) Sooo kompiziert ist es eigentlich nicht, aber der 
gesamte EToy-Code ist mittlerweile ziemlich verfahren. War nie dazu 
gedacht, über mehrere Jahre verwendet zu werden, sondern eigentlich 
nur, um damit in ausgewählten Schulen zu experimentieren. Aus genau dem 
Grund arbeiten wir gerade an Etoys2, was eine saubere 
Neuimplementierung ist, im Gegensatz zu diesem über die Jahre 
verwucherten Monstrum. Das Verhalten der alten Etoys jetzt zu ändern, 
wäre schon aus dem Grund nicht gut, als dass sich die Leute 
mittlerweile an diesen "Bug" gewöhnt haben und wir ihre Skripte kaputt 
machen würden.

Was man meiner Meinung nach am derzeitigen System tun könnte, wäre, bei 
Ausdrücken mit mehr als einem Operator Klammern einzublenden, so dass 
man zumindest sieht, was da genau passiert. Wäre ein nettes kleines 
Projekt ... wenn ich jetzt nicht einen Weg um unser Haus bauen müsste. 
Das echte Leben in Gestalt meiner Gattin ruft ;-)

- Bert -