Richard Suchenwirth, Konstanz 2003 This Wiki's language shall remain English, but as I had this article ready but never published, I put it up here for people whose German is better than their English ;)
Die Power eines mittelguten Desktop-PC von vor zehn Jahren steckt man heute locker in die Hemdtasche. PocketPCs werden oft nur als aufgemotzte Organizer betrieben, erf��¼llen aber mit einem ertr��¤glichen Betriebssystem und einem hierarchischen Dateisystem (Ordner, die wieder Ordner enthalten k��¶nnen) grunds��¤tzlich die Anforderungen an einen vollwertigen Computer.
Als leidenschaftlicher Programmierer seit 30 Jahren habe ich mir zu Sylvester einen iPaq 3760 zugelegt, und seitdem genie����e ich es, im Liegestuhl auf dem Balkon Programme zu schreiben - in Tcl/Tk.
Tcl (Tool Command Language, ausgesprochen "tickel") ist eine Scripting-Sprache, etwa vergleichbar mit Basic/Perl/Python usw. - und doch unvergleichlich. Man kann Tcl als eine Kreuzung aus C, LISP und Shells charakterisieren - immer einfacher, aber fast genauso m��¤chtig wie jede von diesen. "Scripting" bedeutet, da���� ein Laufzeitsystem ein Programm ("Script": eine Textdatei) direkt, oder "on the fly" in Bytecode compiliert, ausf��¼hrt. Vorteile: bei der Entwicklung kann man sehr schnell testen, was man ge��¤ndert hat; au����erdem kann man Scripte ohne ����nderungen auf "gro����en" Windows-, Unix-/Linux- oder Mac-Rechnern laufen lassen. Tcl ist portabler als Java. Mehr auf Einfach Tcl, ����bersetzung der man-Page auf Einfach man Tcl.
Tk (Tool kit) ist die wichtigste Erweiterung zu Tcl: extrem einfache, aber m��¤chtige Komponenten f��¼r grafische Benutzeroberfl��¤chen mit allen Schikanen, sowie Bearbeitung von Bildern. Auch Tk ist auf allen g��¤ngigen Plattformen verf��¼gbar. Tcl und Tk sind seit einigen Jahren auch auf PocketPC portiert - nat��¼rlich kostenlos herunterzuladen (siehe http://wiki.tcl.tk/WindowsCE ).
Zu meinen Leidenschaften geh��¶ren exotische Sprachen - Arabisch, Chinesisch, Koreanisch, ... Die Kombination von Tcl/Tk (wo alle Zeichen Unicodes sind, also fast alle lebenden Sprachen zulassen) und Windows/CE (das normale TrueType-Fonts gut darstellen kann) macht es ziemlich leicht, etwa chinesische E-books zu lesen, oder arabische W��¶rterb��¼cher zu bearbeiten und zu durchsuchen. F��¼r die Eingabe schreibt man sich einfach selbst virtuelle Tastaturen, die der standardm��¤����igen kaum nachstehen und ebenso einfach mit dem Stift benutzt werden k��¶nnen.
Aber auch ohne sehr fremde Sprachen bietet Tcl/Tk viel, was mit der Windows/CE-Grundversorgung einfach nicht m��¶glich ist - so kann man beim Umbenennen von Dateien auch deren Extension (die letzten drei Buchstaben hinter dem Punkt) ��¤ndern, oder Gr��¶����e und ����nderungsdatum auf Byte bzw. Sekunde genau erfahren. Eigentlich macht Tcl/Tk erst Windows/CE zu einem voll nutzbaren Betriebssystem: CE hat keine Konsole ("DOS-Prompt")? Dann schreibt man sich halt eine, in einer Viertelseite Tcl... PocketWord kann zwar HTML-Dateien editieren, aber nur wenn sie schon existieren? Eine Zeile Tcl l��¶st das Problem, indem sie eine neue leere Datei anlegt:
close [open test.htm w]
Im letzten halben Jahr habe ich Dutzende von Tcl/Tk-Programmen (Spiele, Lernspielzeug, Tools) auf dem iPaq erstellt, und die gelungenen auch ins Web gestellt (http://wiki.tcl.tk/rs ) - meist nur wenige Seiten lang, kommentiert und mit Screenshot - bis hin zu einem (Instrumenten-)Flugsimulator iFly, der gerade mal zwei Seiten Code braucht. Oder eine Stoppuhr, auf 1/100 sec genau, in 21 Zeilen...
Das besondere an dieser Form von Open Source Software ist, da���� der Programmcode voll sichtbar ist und von jedem, der etwas Tcl versteht, leicht nach pers��¶nlichen Ideen ge��¤ndert werden kann. Das "Herunterladen" von solchen Skripten geschieht einfach, indem man mit der Maus ��¼ber den Quellcode zieht, ihn kopiert und mit einem einfachen Editor (z.B. Notepad) in eine Datei (*.tcl) speichert.
Zum Bearbeiten von Tcl-Skripten auf dem iPaq selbst nehme ich am liebsten PocketWord im simplen Nur-Text-Modus (*.txt). Um so ein Programm, nennen wir es foo.txt, zum Laufen zu bringen, starte ich es entweder aus dem Tcl-Explorer iFile (Menu/File/Run), oder kopiere ins gleiche Verzeichnis eine Datei foo.tcl, die immer so aussieht:
set argv0 [file root [info script]].txt source $argv0
An diesem kleinen Beispiel kann man Tcl ein wenig kennenlernen:
Es mag ��¼berraschen, da���� Tk bekannter ist als Tcl - weil auch die Kollegen von Perl, Python usw. gern seine Vorteile nutzen. Tcl ist eine Art Geheimtip - aber es gibt eine freundliche und sehr hilfsbereite Anwendergemeinschaft, die in der Gruppe news:comp.lang.tcl gerne Fragen beantwortet und diskutiert. (Englisch ist allerdings die Umgangssprache). Die gr��¶����te freie Tcl-Softwaresammlung ist unter http://wiki.tcl.tk verf��¼gbar und w��¤chst st��¤ndig - von mir kommen meist (und von anderen auch) Programme, die auf PocketPC und aufw��¤rts laufen... Links auf die PocketPC-geeigneten Programme gibt's nat��¼rlich auf http://wiki.tcl.tk/PocketPC .