[Squeak-ev] Kleine Vorstellung

Thilo Pfennig thilopfennig at foresightlinux.org
Sam Aug 4 20:03:28 UTC 2007


Hallo Liste,

da ich die Liste gerade abonniert habe dachte ich mir ich will mich
mal kurz vorstellen. ich bin jemand Jahrgang '71, wohne in Kiel und
bin seit Anfang der 90er Jahre in Netzen aktiv. Bin über den Amiga
über den Mac zu Linux gekommen (habe somit Windows ausgelassen). Seit
einigen Jahren bin auch in  FLOSS(1) aktiv. Z.B. auch bei GNOME.
Zuletzt bei Foresight Linux als Paketbauer ;) . Nebenbei helfe ich bei
der Organisation der Kieler Linuxtage. Was das Programmieren betrifft,
so habe ich mir zwar immer wieder Programmiersprachen angeschaut -
konnte mich aber für keine richtig erwärmen. Zu Smalltalk bin ich über
Wikis und Ward Cunningham(2) gekommen.
Und dann über Google Video zu Alan Kay und darüber zu Dynabook und Squeak.

Was mich angesprochen hat war die Eleganz von Smalltalk. Bei Java
musste ich bei "void" immer an "vomit" denken - und das ist ja keine
schöne Assoziation. Am ehesten konnte ich mich mit Python anfreunden.
Das war mir aber zu pädagogisch mit seinen ganzen Einrückungen.

Was ich so bisher auf meinem Weg zu Smalltalk erlebt habe könnt ihr
auch ein wenig in einem meiner Blogs unter http://vinci.wordpress.com
nachlesen.

Warum ich hetzt plötzlich Programmieren will? Eigentlich primär, weil
ich mit meinem Notizzettelsystem "TomBoy" ein System praktiziert habe,
das eigentlich ganz praktisch ist (und zwar simplifiziert: Ich habe 2
Zettel: Einer ist TodoToday und der andere TodoTomorrow - und was ich
heute nicht kann besorgen das verschiebe ich auf morgen ;-) ). Das
führt dazu, das ich an einem Tag meist nur wenige Punkte habe, die ich
wirklich erledigen will. Das Problem an der Lösung ist nur, das sie
sehr komplex zu bedienen ist. Es sind halt nur Notizzettel. D.h. von
der Usability gesehen nicht sehr brauchbar. Außerdem kann ich damit
keine Experimente machen - es gibt nur wenige Bedienmöglichkeiten.

Einige Notizen zu dem, was ich gerne (mit Smalltalk/Squeak) machen
möchte stehen hier:
http://sk28.alternativ.net/cgi-bin/wiki.pl/TodoDrone

Ich weiss, das das mit Sicherheit das Millionsten
Todo-Verwaltungsprogramm ist, aber ich habe im Moment keins auf meinem
Linux das meine Anforderungen erfüllt. Und da denke ich wird es zeit
selber mal Hand anzulegen?

Ok, und dann fand ich die alten Filme von Doug Engelbart aus 1968 sehr
inspirierend - und auf einmal fand ich die ganze Bedienung von GNOME
zu kompliziert. Mir spuken da seit geraumer Zeit schon viele Ideen im
Kopf herum, die ich aber mangels Programmierfähigkeit nicht umsetzen
konnte. D.h. der Leidensdruck ist jetzt ausreichend. ;-) .

Ich sehe Squeak potentiell als ein Werkzeug an, das man dazu benutzen
kann Oberflächen für Menschen zu schaffen, die endlich das einlösen,
was Hersteller wie Apple und Microsoft imer nur versprochen haben.
Dabei muss man aber auch sehen, das Squeak heute dafür nicht geeignet
ist, weil es z.B. Menüs mit viel zu vielen Einträgen gibt oder alle
grafischen Objekte zu viele Möglichkeiten bieten. Aber was ich
verstanden habe ist, das das ja alles nur Möglichkeiten sind - und das
das jetzige Aussehen und Verhalten z.B. in Schulen für Lernzwecke und
mit der entsprechenden Anleitung ideal ist.

Noch verstehe ich Squeak und Smalltalk nur zum Teil. Dieses arbeiten
am lebenden Image z.B. löste bei mir erst mal gewisse
Unsicherheitsgefühle aus, wenn man Images bisher eher von ISO-Images
oder VMware kennt.

Ich habe neben Squeak auch VisualWorks und GNU Smalltalk angeschaut,
dabei aber auch festgestellt das sich die Syntax da noch erheblich
unterscheidet. Squeak ist mir da derzeit aufgrund der Tatsache das es
freie Software ist aber dennoch auch Multimedia-Möglichkeiten bietet
am sympathischsten. Und ich denke irgendwann muss man sich da auf eine
Lösung festlegen um besser zu Lernen. Apropos Lernen: Was ich jetzt
schon feststellen konnte ist, das ich durch Smalltalk zum ersten mal
richtig die Bedeutung von objektorientierter Programmierung verstanden
habe. Und zwar auch durch die Konsequenz bei Smalltalk - denn hier ist
Objektorientierung  in meinen Worten nicht so sehr ein Feature als ein
Prinzip.

D.h. meine Ziele sind zweierlei:
 1.) Für mich selber eine Programmiersprache haben, die ich überschaue
und für eigene Anwendungen verwenden kann.
 2.) Über Squeak und Smalltalk weiter arbeiten an Themen, mit denen
ich mich schon länger beschäftige - wie bei GNOME - eben Grafische
Schnittstellen - neue Möglichkeiten.

Also was ich jetzt konkret plane ist mich in meinem Squeak-Image etwas
heimischer zu fühlen und mich auf den Weg zu machen eine erste
Programmversion der "TodoDrone" auf die Beine zu stellen. Ich möchte
dabei den Fehler vermeiden das Programm mit Featuren immer weiter
aufzuladen. Es soll eben schnell laden und sich so gut bedienen lassen
und anfühlen, das man es ständig nutzt. Ich kenne so viele Programme,
die zwar theoretisch ihren Zwecke erfüllen, aber deren bedienung so
umständlich ist, das ich sie nicht nutze (Wie z.B. RSS-Feed-Reader).
Selbiges gilt für Funktionen, die so verborgen sind, das man sie nicht
ausgräbt.

Das ideale Programm aus meiner Sicht soll intelligent und effizient
sein, damit der User damit auch tatsächlich produktiv sein kann. Dabei
muss man glaube ich teilweise radikal mit traditionellen Konzepten
brechen, die im Grunde alle in den 80ern entworfen wurden auf Basis
dessen, was Smalltalk und die ersten GUIs angedacht hatten. Nur ist
man m.E. seitdem stehengeblieben. Fortschritt hat sich mehr oder
minder nur bei der Miniaturisierung und Verbilligung und Verbesserung
von Komponenten vollzogen.


So, bis dahin erstmal,

Thilo

(1) Free Libre Open Source Software
(2) Wiki-Erfinder http://www.c2.com
-- 
Thilo Pfennig
http://issues.foresightlinux.org/confluence/x/R