Das Für und Wider – Teil 2: Smalltalk und moderne Technologien

Das Argument:

Smalltalk war vor 15 Jahren ganz vorne. IBM und Parcplace hatten damals die fortschrittlichsten Entwicklungsplattformen und wenn nicht Java das Licht der Welt erblickt hätte, und nicht gerade IBM und Parcplace ihre eigenen Smalltalk-Kunden verunsichert hätten, wer weiss. Aber man ist mit Smalltalk von neueren Entwicklungen einfach abgenabelt.

Die Diskussion:

Smalltalk ist in der Tat eine sehr alte Programmiersprache, die inzwischen rund 30 Jahre auf dem Buckel hat. Und viel verändert hat sich an der Sprache in den letzten 20 Jahren eigentlich nicht. Die Bezeichnung “Smalltalk-80” kommt nicht von ungefähr: die aktuellen Implementierungen basieren auf dem Stand der Sprache von 1980.

More

keysAndValuesDo:

Over at Vox, Randal is showing some interesting methods he found in Smalltalk for iterating collections. The really interesting thing he found is that Collections in Squeak support #keysAndValuesDo: .

I was quite surprised by this because the method name is not really intention revealing or hinting at its purpose. If I want to iterate over a collection and also need the index of an element I’d use myList doWithIndex: [:item :index| …] rather than #keysAndValuesDo:.The latter is of tremendous help when working with Dictionaries and LookupTables (hash collections) and makes life much easier for a code maintainer.

One of the commenters said VA ST implements keysAndValuesDo: only for keyed collections, which I think is a good thing. Using keysAndValuesDo: polymorphically on completely different types of collections is not helping the reader of the code very much. “Heck, what does he mean with a Key, it’s just a list of customers? I must have missed something. What the heck is he doing there?”

Randal also presents a very nice new way of using do:separatedBy:

| index |
index := 1.
myItems do: [:item | ... ] separatedBy: [ index := index + 1 ].

I’d never ever have thought of this one, but this surely looks familiar to many developers. Not that this is actually bad code, but why add so much syntactical noise to a simple job?

One of Smalltalk’s strengths is that it sometimes makes complex things easy to do and – even more important – to read. The messages supported by the Collection hierarchy are a really bright example here.

Das Für und Wider – Teil 1: Nachwuchs

Das Argument:

Eine der großen Sorgen für Smalltalk-Projekte ist es, dass offenbar sehr schwer ist, Nachwuchs zu finden, der zumindest mal Smalltalk-Grundkenntnisse mitbringt. Die Smalltalk-Welt scheint sich hier in Deutschland in erster Linie aus alten Hasen zusammenzusetzen, die sehr viel Erfahrung mitbringen. Neue Leute für ein Projekt zu rekrutieren, ist nicht einfach. Auch und vor allem über den Weg der Freiberufler-Händler sind solche Leute inzwischen relativ teuer geworden – bei allerdings auch sehr hoher Qualität.

Die Diskussion dazu:

Dass Smalltalker zur Zeit wieder sehr gefragt und schwer zu bekommen sind, ist eine Tatsache, die wir auch zu spüren bekommen: Anfragen nach Dienstleistern geistern oft wochenlang durch die Stellenbörsen und es werden teilweise Stundensätze geboten, die manch ein Freiberufler zuletzt erreichen konnte, als die Jahr-2000-Problematik und der Euro-Boom zusammenfielen und alles, was EDV buchstabieren konnte, nach Kilogramm bezahlt wurde. Erfahrene Smalltalker sind derzeit wirklich kaum zu bekommen. Woran liegt das?

Nun, die Situation ist sicher hausgemacht: Vor 4 bis 5 Jahren hatten fast alle Smalltalk-Unternehmen verkündet, dass ihre Smalltalk-Anwendungen unmittelbar vor dem Ausschalten stehen, und man nur noch in die allerletzten, notwendigsten Wartungsaufgaben, keinesfalls aber in die Schaffung neuer Funktionalitäten investieren wolle. Damit wurden nict nur die eigenen Entwickler in andere Projekte getrieben sondern natürlich auch jeglicher Nachwuchs abgeschreckt. Tatsache war aber in den meisten Häusern, dass man mit immer kleineren Budgets immer weiter gemacht hat mit der Weiterentwicklung der Systeme, und in den meisten Fällen ist es mit der Abschaltung bis heute nichts geworden und meist ist sie auch nicht in Sicht. Der offizielle Status der Projekte als Projekt-non-grata wurde aber nicht geändert. Ich kenne mehrere Firmen, in denen sich auch jetzt, wo der Status des Projekts komplett verändert hat, kein internes Personal motivieren lässt, wieder zurückzusatteln. Selbst Kollegen, die mit tränendem Auge an die Entwicklung in Smalltalk zurückdenken, scheuen sich davor, in ihre alten Projekte zurückzukehren. In Firmen, die in ihrem “Marschplan für die kommenden x Jahre” die Smalltalk-Projekte wieder offiziell führen, ist dieses Problem nicht ganz so verbreitet. Ich denke, hier hängt einiges an der eigenen Selbstdarstellung eines Projektes – kaum eines der Projekte muss sich wirklich dafür entschuldigen, dass es seit 7, 8 oder mehr Jahren erfolgreich die Bedürfnisse seiner Anwender befriedigt und nach wie vor stabil läuft. Es muss sich auch nicht dafür entschuldigen, dass es inzwischen technisch mit vielen Systemen kommuniziert, und häufig das Kerngeschäft eines Unternehmens unterstützt. Und eine Entschuldigung dafür, dass es in Smalltalk entwickelt, ist auch nicht wirklich notwendig vor dieser Kulisse. Es liegt klar auf der Hand, dass sich für ein Projekt, das nur noch Aufräumarbeiten zu erledigen hat, keine Elite findet. Für ein Projekt, in dem sehr erfahrene Kollegen eine stabile, erfolgreiche Plattform geschaffen haben, und in dem man von erfahrenen Leuten sehr viel lernen kann, in dem man an dem Erfolg des Systems mitarbeiten kann, finden sich vielleicht schon eher Kandidaten, wenn zudem noch eine Perspektive auf 5, 8 oder 10 Jahre zu sehen ist, in denen man an dem System arbeiten kann.

Nun aber zum Nachwuchs: es gibt praktisch keine neuen Smalltalker mehr.  Zugegeben, die Masse der Studenten und Auszubildenden lernt heute Java, und vielleicht noch ein bisschen C, aber Smalltalk steht nicht oft auf dem Ausbildungsplan. Auch hier hat der “Herdentrieb” schon lange eingesetzt: lehren wir unseren Studenten Java, kriegen sie besser Jobs.

Und doch gibt es ein paar Bildungseinrichtungen, die anders denken, und es lohnt sich sicher, auf diese zuzugehen, wenn man Smalltalk-Nachwuchs sucht. Auch das kann sicher dazu beitragen, dass die Professoren sich in ihrer Entscheidung bestätigt fühlen. Ich bin kein großer Kenner der akademischen Landschaft, aber mir fallen im universitären Bereich zunächst mal folgende Einrichtungen ein:

  • TU Ilmenau
  • FH Nordakademie (Prof. Brauer, hat auch ein erfolgreiches Smalltalk-Nuch geschrieben)
  • FH Darmstadt
  • Hasso-Plattner-Institut an der Uni Potsdam

Hier wird Smalltalk gelehrt, und es werden Smalltalk-Projekte durchgeführt. Überhaupt ist vor allem Squeak im akademischen Umfeld recht verbreitet. Dazu später mehr…

[Update:] kennt jemand weitere Bildungseinrichtungen, an denen Smalltalk gelehrt wird? An wen kann sich eine Firma wenden, die gerne junge Absolventen mit Smalltalk-Kenntnissen kennen lernen wollen?

Smalltalk – Das Für und Wider…

Eine stressige Woche liegt hinter mir, und mein Blog war dabei ein Opfer meiner Prioritäten. Jetzt gibt es hier ein bisschen was aufzuholen, und dies ist der erste Aufholbeitrag 😉

Letzte Woche Montag fand der Münchener Smalltalk-Stammtisch statt. Diesmal an einem neuen Ort und mit einigen neuen Teilnehmern. Die wurden gleich ganz schön auf die Probe gestellt: Der Abend war der längste, bei dem ich je dabei war. Wir sassen bis irgendwann rund um Mitternacht zusammen und haben diskutiert. Interessant war es, dass diesmal nicht nur Smalltalk-Fans dabei waren, sondern auch ein Manager, der relativ frisch einen Entwicklungsbereich übernommen hat, in dem eben auch ein paar (sehr erfolgreiche) Smalltalk-Projekte durchgeführt werden. Es war interessant, auch mal aus diesem Blickwinkel zu hören, welche Sorgen, Ängste und Nöte vielleicht damit verbunden sind, eine Smalltalker-Truppe zu führen und in einem Unternehmen zu stecken, das sich eine klare strategische Landschaft zum Ziel gesetzt hat, in der Smalltalk nicht auf der Prioritätenliste vorkommt.

Einige der Argumente kommen mir da sehr bekannt vor, und ich dachte mir, vielleicht setze ich mich mit dem einen oder anderen mal in meinem Blog auseinander. Die nächsten Tage sind zwar sicher nicht minder stressig (das VA Smalltalk Forum 2008 is schon in 8 Tagen…), aber ich hoffe,ich finde die Zeit, das eine oder andere Thema mal hier aufzugreifen.

Steffen zeigte die Architektur und die Arbeitsweise eines bei der VSA entwickelten Smalltalk-Anwendungsservers, der, wenn ich es recht verstanden habe, vor allem zur Steuerung und Überwachung von Batch-Prozessen genutzt wird. Die Datenmengen und vor allem das Volumen an Geld und Verantwartung, was da nachts bewegt wird, ist ziemlich beeindruckend. Es ist einfach immer wieder überraschend,was mit Smalltalk so alles gemacht wird. Hoffentlich finden sich mal ein paar solche Projekte in der Fachliteratur oder auf Konferenzen wieder. Auch das haben wir mal sachte andiskutiert…

Die Teilnehmer mussten aber noch mehr über sich ergehen lassen: Ich hatte die Chance, meinen Integrationsvortrag für das VA Smalltalk Forum mal zur Probe zu halten. Ich habe auch einiges sehr wertvolles Feedback und einige sehr gute Anregungen bekommen, um den Vortrag zu verbessern. Dafür möchte ich mich hier nun ausdrücklich bedanken. Zwar hatte das nicht unwesentlichen Einfluss daruf, dass meine letzte Woche ein bisschen stressig war, aber ich habe inzwischen das Gefühl, dass mein Vortrag (und auch mein zweiter) von dem Stammtisch profitiert hat. Wir werden es ja schon bald sehen 😉

ESUG – Nachschau

Nun ist sie also vorbei, die ESUG-Konferenz 2008. Ich konnte ja (wieder mal) nicht hin, weil einiges zu tun war. Meine beiden Vorträge zum VA Smalltalk Forum sind halbwegs fertig und ein bisschen Democode ist auch schon geschrieben. Am kommenden Montag ist ja schon die Generalprobe zu einem der beiden Vorträge beim Münchener Smalltalk-Stammtisch.

Aber zurück zur ESUG:
Es war wohl ein voller Erfolg. Mehr Teilnehmer als je zuvor und so manch einer hat in seiner Begeisterung massenhaft Fotos geschossen und ins Netz gestellt. Ausserdem hat James Robertson gebloggt, gepodcastet und Videos aufgezeichnet und die Folien der Vorträge sind auch online gestellt.

Links zu alledem sind  auf der Seite http://vst.ensm-douai.fr/Esug2008Media zu finden. Ein Besuch lohnt sich ganz sicher.

Was ich besonders erwähnenswert fand:

  • Steffen und Marco haben mit QueryVision eine wicklich tolle Software für den Innovation Award vorgeführt, und ich finde es schade, dass sie nicht besser platziert wurden. Ich habe QueryVision auf dem Smalltalk-Stammtisch in München gesehen und war ziemlich beeindruckt, nicht nur davon, dass es Drag&Drop in Seaside unterstützt, sondern auch von den mächtigen Möglichkeiten, kompleye Abfragen durch einen Endbenutzer erfassen zu lassen. Und das ganze nicht begrenzt auf SQL-Datenbanken, sondern auf einem abstrakten Level, der auch jede andere Technologie unterstützt.
  • Seaside ist in aller Munde.
  • Cincom macht einen hervorragenden Job im Marketing rund um Smalltalk. James Robertson ist da sicher einer der eifrigsten Blogger, Podcaster, Fotografierer und Filmer, die man sich wünschen kann.
  • Marten, der auch zumindest zeitweise in Amsterdam war, hat mich auf eine frappierende Tatsache gestossen: Ausser John O’Keefe’s Vortrag zu Version 8 von VA Smalltalk war gar kein Vortrag aus dem Umfeld von VisualAge oder VA Smalltalk vertreten.

Dabei liegt das ganz sicher nicht daran, dass es keine interessanten Projekte in VA Smalltalk geben würde. Aber woran liegt es dann? Wir haben gleich mal angefangen, uns zu überlegen, was man da tun könnte. Schliesslich ist VA sicher kaum weniger interessant als VisualWorks oder Squeak, und ich kenne da ein paar Kunden, die wirklich interessante Aufgabenstellungen mit VA Smalltalk lösen. Die Frage ist nur: wie kann man die Anwender von VA Smalltalk animieren, auf der ESUG (oder einer anderen Veranstaltung) mal einen Vortrag zu halten?

Vielleicht liegt es an dem Ruf der ESUG-Konferenz, eher eine akademische und Squeak-geek-Veranstaltung zu sein (die sie m.E. nicht mehr ist), und weniger eine Industrie-Konferenz für Praktiker. Ganz sicher liegt es auch daran, dass es im VA Smalltalk-Umfeld eher nur industrielle Anwender gibt, und tendenziell wenige open source – Projekte.

Nun, vielleicht muss man das Ruder einfach mal in die Hand nehmen, und die ESUG mehr zu einem Industrie-Event machen. Cincom und Gemstone nutzen die ESUG für Produktpräsentationen, Instantiations hat auch die Version 8 von VA Smalltalk vorgestellt.  Also warum nicht auch auf der ESUG Projekte und Produkte vorstellen?

Eigentlich wäre die ESUG die perfekte Plattform für einen Industrial Track, also einen oder zwei Tage, an denen sich die industriellen Themen konzentrieren.

Vielleicht ist die Zeit reif, durch entsprechendes Vortragsprogramm auch mehr die Industrie anzulocken. In anderen Bereichen ist die Lücke zwischen Open Source und Industrie schon lange geschlossen, und im Smalltalk-Bereich werden zunehmend open source – Produkte im industriellen Umfeld eingesetzt. Squeak, Seaside und GLORP sind hier nur die bekanntesten Beispiele…

Naja, die Ideen hierzu beginnen sich erstmal zu formieren.
Ich würde mich sehr über Kommentare zum Thema freuen. Was denken andere Smalltalker darüber? Was könnte man tun, um die ESUG im nächsten Jahr attraktiver für Unternehmen zu machen? Was könnte man tun, um auch VA Smalltalk dort eher zu repräsentieren?

Registrierungsprobleme fürs VA Smalltalk Forum

Da ist man mal eine Woche in Urlaub (andere Geschichte), und kaum kommt man zurück, erreichen einen dann die Hiobsbotschaften. In meinem Maileingang war eine Nachricht, dass es offenbar Probleme mit der Registrierungsseite fürs VA Smalltalk Forum Europe 2008 gibt. Anscheinend ist für einige User mit dem Internet Explorer 6 kein Eingabeformular auf der Seite zu sehen. Ich kann diesen Fehler nicht nachvollziehen, mit Safari, Mozilla und Opera funktioniert die Seite ohne Probleme.

Sollte jemand mit der Registrierung Probleme haben, ist es am einfachsten, nicht lange rumzuprobieren, sondern einfach eine Mail an mich (jtuchel (bei der) objektfabrik.de) zu schicken. Dann klappts auch mit der Registrierung 😉

Die Kollegen bei Instantiations sind informiert und werden sich (wenn sie heute nachmittag aufstehen da drüben) um die Sache kümmern.

Hotelkontingent fürs VA Smalltalk Forum nur noch bis 22.8.

Wir haben für Besucher des VA Smalltalk Forum Europe 2008 in Frankfurt beim Novotel ein Kontingent von vergünstigten Zimmern ausgehandelt. Diese Zimmer kosten 119 Euro pro Nacht inkl. Frühstück.

Allerdings müssen diese Zimmer bis spätestens 22.8. direkt beim Novotel gebucht werden. Bei der Buchung sollte man erwähnen, dass man das VA Smalltalk Forum besuchen möchte, um diesen Sonderpreis zu erhalten. Einige Zimmer wurden schon gebucht, und wer zuerst kommt…

Ausserdem bitten wir alle Interessenten, sich rechtzeitig zu registrieren, damit wir die Räumlichkeiten entsprechend planen können (bei großem Andrang müssen wir dann auch eine Mikrofonanlage buchen etc).

Smalltalks 2008: 13. bis 15. November

Seit 2007 gibt es die Konferenz “Smalltalks”. Letztes Jahr war dieses Event offenbar ein riesiger Erfolg, sodass es dieses Jahr die Smalltalks 2008 geben wird, zu der man sich ab sofort registrieren kann.

Das Interessante daran: das ganze findet in Buenos Aires (ja, genau: Argentinien) statt, also praktisch genau das richtige, wenn man sich dieses Jahr ein Incentive verdient hat 😉

Aber es kommt noch besser:

As with last year’s event, registration and refreshments will be completely free.

The conference will be divided into two modules, Scientific Research and Software Industry, as well as hosting a coding contest.

Ein Blick auf die Präsentationen vom letzten Jahr zeigt, dass es sich hier nicht um ein rein südamerikanisches Event handelt, sondern dass schon im ersten Jahr Redner aus aller Welt dort präsentiert haben. Alles in allem eine sicher sehr interessante Veranstaltung, schade nur, dass Buenos Aires ein bisschen weit weg ist…

Seaside-Applikation erhält Usability Award

Die Schweizer Firma CMSBox bietet das gleichnamige, Seaside-basierte Content Management System an, das durch eine wirklich großartige Benutzerführung im Browser besticht. Die Kollegen bei CMSBox haben hier wirklich alle Register der RIA-Features in Seaside gezogen und eine ausserordentlich gelungene Oberfläche gezaubert. Wer meinen Worten nicht glauben mag, kann sich sein eigenes Bild machen, indem er sich eines der Videos auf der Site anschaut. Die Seite ist auch dann interessant, wenn man mal sehen möchte, was mit Seaside so alles machbar ist.

Um aber auf den Punkt zu kommen: Jakob Nielsen von der Nielsen Norman Group, ein Spezialist auf dem Gebiet der benutzerfreundlichen Gestaltung von Benutzeroberflächen (“The guru of web page usability,” The New York Times) hat eine Rangliste der 10 aus seiner Sicht besten GUI-Applikationen des Jahres 2008 aufgestellt, und eine der Nominierungen ist CMSBox. Der Artikel geht auch auf die aktuellen Trends bei Benutzeroberflächen, wie an Microsofts Ribbons angelehnte Werkzeugleisten und “Alert Boxes” im Web ein. Jakob’s Seiten sind insgesamt einen Besuch wert, wenn man sich mit Benutzeroberflächen beschäftigt…

Gratulation an das Team hinter CMS Box (netstyle) und auch an die Macher von Seaside (wobei es hier manchen doppelt trifft 😉 )

Gefunden auf der Seaside-Mailingliste
[Update] inzwischen auch zu finden auf dem Blog The Weekly Squeak