[Squeak-ev] Re: SqueakInf11-Schlager Anmerkungen

stepken stepken at web.de
Die Mar 13 23:56:24 UTC 2007


Hallo, Stefan!

>>> Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?
>>>
>>> firstIndex to: lastIndex do: [:index | 
>>>  (catalog at: index) showOn: aStream ]
>>>
>>> Jetzt du!
>>>
>>>  
>>>       
>> Workspace öffnen:
>>
>> 'dies ist ein Beispiel' select: [:each |  each isVowel ]. <ALT-P>
>>     
>
> nicht mogeln. Wie kriege ich mit einem Iterator die Einträge aus der
> Liste? Wenn ich deinem Beispiel folge, frage ich jeden Katalogartikel
> nach seiner Position. Die sollte der aber eigentlich nicht kennen, denn
> gemäß OO-Prinzip Verkapseln und Verstecken, weiß der einzelne Artikel
> nicht, dass er in einer Liste gesammelt ist.
>   
Du meinst Traits, oder Iteratoren mit anonymen Funktionen, um das 
Problem der Kapselung zu umgehen?

http://web.cecs.pdx.edu/~black/publications/refactoringsACM.pdf  womit 
wir bei Pattern der "funktionalen Programmierung" wären .... Aber Du 
hast schon recht, zwei Schleifen meist besser....
> Ich bin in Bayern zur Schule gegangen und hab hier auch fürs Lehramt
> studiert. Mit mir musst du langsam reden. Was ist der Inhalt und die
> Oberfläche der Funktion 1/x?
>
>   
Sorry, die Funktion rotiert um die x-Achse.
> Wo ist das Problem? Du kannst die Farbe doch gar nicht reinschütten, weil
>
>   
Nunja, ich wollte nur auf das Problem hinweisen, daß ich bei einem 
solchen Körper begrenztes Volumen bei unendlicher Oberfläche habe, von 
mir aus kann man das auch bei x=100 deckeln und ich brauche mehr als 
3.14 Liter Farbe, wenn ich das Teil anmale, als wenn ich es ausgieße und 
den Rest rausschütte. Ein logisches Paradoxon.
>> Logische Widersprüche in der Mathematik kenne ich zuhauf....
>>     
>
> Wissen wir seit Gödel, dass es so was geben muss. Aber was hat das mit
> der Verstehbarkeit eines Systems zu tun, das du nie selbst erfinden
> könntest?
>
>   
Ochja.... ich finde Mathematik zwar verständlich, es ist aber ein sehr 
unlogisches Handwerkszeug.... im Studium habe ich mich daher auf eine 
neue Art Mathe eingelassen, Differenzialformen - Symplektische Algebra 
... hat mir normaler Mathematik nix mehr zu tun ... siehe Skript 
Zwirnbauer ....
>> Lisp durchsucht bei Mehrfachvererbung ja die Klassenhierarchie in einer 
>> vordefinierten Reihenfolge. Die erste Oberklasse wird genommen. 
>>     
>
> Was meinst du damit? Wofür wird die "erste Oberklasse" genommen?
>
>   
Muß das Beispiel mal rauskramen ...
>> Bei C++ 
>> muß der Klassenname vorangestellt, also genau bestimmt werden. Unter 
>> bestimmten Voraussetzungen, gerade im Zusammenhang mit 
>> Grabage-Collection und Mehrprozessorsystemen gibt es gigantische 
>> Schwierigkeiten, auch beim Compilerbau ...  daher -> Konzept wackelig. 
>>     
>
> 1. Bei C++ oder Lisp?
>   
Lisp und auch bei C++ kann man so richtig Mist bauen damit.
> 2. Hab ich mit GC bei Einfachvererbungs-Sprachen wie Smalltalk nicht
>    die gleichen Probleme? Was hat GC überhaupt mit Vererbung zu tun?
>   
Alles bläht sich enorm auf, und im Falle der Mehrfachvererbung, sogar 
rekursiv, wird es mit dem RAM kritisch ... das hat Auswirkungen auf die 
GC. Ist komplizierter zu erklären ... siehe Google.
> 3. Nur weil die Implementation nichts taugt, muss ein Konzept nicht
>    wackelig sein.
>
>   
Ok. Sind meine Erfahrungen bisher ...
>> Außerdem kann es passieren, daß die Laufzeit des Programms explodiert, 
>> völlig unvorhergesehen, z.B. dann, wenn sich die Katze in den Schwanz 
>> beißt, sprich Oberklassen von Unterklassen umdefiniert werden.
>>     
>
> Was heißt, dass Oberklassen von Unterklassen umdefiniert werden?
>   
Jein. Die Instanzen mussen sich verändern. Im Falle dessen, daß Klassen 
auch Objekte sind, verändern sich die Klassen dann ja auch mit. Je nach 
Implementierung...
> Viel Zeugs eben, das das System unheimlich langsam macht. Rails ist
> das Vista der Ruby-Webframeworks. Vor vielen Jahren hat Avi Bryant
> ein Framework namens IOWA in Ruby begonnen, das er Kirk Haines vererbt
> hat. In nächster Zeit wird's da endlich die offizielle Version 1.0 geben
> und von der Geschwindigkeit und dem Ressourcenbedarf her ist das um
> Klassen besser.
>
>   
Aha, danke für den Hinweis.
> Gemstone war nicht ganz billig, als ich das letzte Mal nachgeschaut hab.
> Was mach ich, wenn ich das Geld nicht hab?
>
>   
Gemstone fragen, ob die Dir als Lehrer kostenlos eine geben, für 
Unterricht. Haben die kein Problem mit, denke ich.
>>> Ich nehme dabbledb, das geht noch schneller. Aber was kann ich jetzt?
>>> Was hab ich dabei gelernt? Hab ich mich durch das Anklicken
>>> vorgefertigter Komponenten irgendwie weiterentwickelt?
>>>
>>>  
>>>       
>> Kenne ich leider nicht 
>>     
>
> dabbledb.com, IIRC. Von Avi Bryant, baut auf Seaside auf.
>
>   
Aha, fein, schaue ich mir an.
> 300 GB Textdaten? Unter 1/10 Sekunde? Mit Squeak? Cool. Wie groß ist
> denn da die Indexdatei?
>
>   
Mit Squeak noch nicht probiert, aber mit Glimpse habe ich Benchmarks 
gefahren. Die Indexdatei schwankt etwas entsprechend der Verschiedenheit 
der Dateninhalte und der Größe der Datenbank.... aber liegt bei 1.5-5% 
des Datenvolumens. Nur - die Indizierung dauert ellenlange ... 
verbraucht sehr viel Speicher. Google macht das ebenso - die Server 
selber sind Cluster und recht klein. Die Indexer sind mächtig.....
> s.
>
>   

Guido