Ted Leung über dynamisch getypte Sprachen

Ein paar Interessante Zitate zum Thema dynamisch getypte Sprachen fand ich zuletzt in Ted Leung’s Post “IDE’s and Dynamic Languages“, der sich auf jeden Fall zur vollständigen Lektüre eignet – auch die Kommentare…

Im wesentlichen führt Ted aus, wie verwundert er darüber ist, dass gerade in der Benutzerschaft der dynamisch getypten Sprachen  wie Python, Groovy oder Ruby eine gewisse Phobie gegen Entwicklungsumgebungen herrscht, und zeigt gleichzeitig auf, dass gerade die Texteditoren, die sich in der Benutzergemeinde als Geheimtipp verbreitet haben, nach und nach zu IDEs werden, und sie sich genau deshalb zunehmender Beliebtheit erfreuen.

Eine Perle ist eine seiner Eröffnungsbemerkungen:

One of the points that I’ve been trying to make since I’ve gotten back in to the languages space is that a lot of what is happening in languages now is unpausing the nuclear winter that Java imposed on the programming language space.

Und das von einem Sun-Mitarbeiter 😉

Ted nennt auch Smalltalk als einen der ausgereiftetsten Vertreter der dynamisch getypten Programmiersprachen:

If you haven’t been following this space for a while, you’d believe that all this dynamic language stuff was invented in the last 5 or 10 years or so. But it wasn’t. Today when you say dynamic languages, people assume that you are talking about Ruby, Python, Groovy, Javascript, PHP, or Perl, with a number of other languages also entering the mix. The truth is that the intellectual forbears of these languages, Lisp and Smalltalk, were invented about 30 years ago or so.

Und führt dann aus, dass diese Sprachen schon vor einiger Zeit mit umfangreichen IDEs daherkamen und viele der Dinge, die die Entwicklung besonders effektiv machen, ihre Wurzeln hier haben: Refactoring oder Live-Debugging.

In der Tat ist es sicher kein Fehler, sich einmal eine aktuelle Smalltalk-Entwicklungsumgebung herunterzuladen und auszuprobieren, um die Vorteile einer IDE gegenüber selbst einem exzellenten Texteditor kennenzulernen. Vor allem beim Live-Debugging erweist sich sehr schnell, dass Sprachen wie Smalltalk selbst einem Eclipse noch einiges voraus hat – und das schon seit einiger Zeit…

Kein Bild, kein Ton … was soll das denn?

Auf dem Instantiations-Forum wurde die Frage gestellt, ob wir denn vielleicht einen Audio- oder Video-Podcast der Veranstaltung am 23. September erstellen und zum Download anbieten können. Schliesslich kann nicht jeder, den es interessiert, da hin kommen.

Leider ist die Antwort recht klar: das können wir nicht leisten, und ich persönlich möchte auch nicht.Das Problem ist weniger, einen Audio-Mitschnitt zu erstellen, als vielmehr, diesen in vernünftiger Qualität nachzubearbeiten und bereitzustellen. Ich selbst höre regelmässig James Robertsons Podcast “Industry Misinterpretations” und finde ihn eine tolle Sache. Und irgendwie würde ich sowas auch gerne machen, vielleicht einen deutschsprachigen Podcast zu Smalltalk, Seaside und Co.

Allerdings macht James das inzwischen hauptberuflich und Vollzeit, und nutzt dazu sehr gutes Equipment, das mir nicht zur Verfügung steht. Und selbst hier muss ich sagen, dass die Audio-Live-Mitschnitte, z.B. von der SPA-Konferenz, der OOP oder der Smalltalk Solutions teilweise so schlecht zu hören und zu verstehen sind, dass sie eigentlich wertlos sind, zumal für nicht-Englisch-sprechende Zuhörer.

Da ich auf dem Gebiet bisher keine Erfahrung habe, und bis September auch keine Zeit habe, um mich ins Podcasten einzuarbeiten, ist es die Zeit und Mühe nicht wert, um dann womöglich ein dürftiges Ergebnis zu bieten. Und die Kommentare dazu wären sicher auch nicht dankbarer, als die Beiträge auf dem Forum.

Das wichtigste aber: für alle, die es nicht zum VA Smalltalk Forum Europe 2008 schaffen, wird es die Foliensätze zum Download geben, und zwar auf der website der objektfabrik . Ausserdem gab es letztes Jahr ein paar Besucher, die gebloggt, Photos vom Event geschossen und im Web veröffentlicht haben (guckst Du hier) .

Ich würde mich sehr freuen, wenn auch dieses Jahr wieder Blogposts und Bilder zum VA Smalltalk Forum auftauchen.

Warum sollte ich zum VA Smalltalk Forum fahren?

Logo des VA Smalltalk Forum 2008Heute stellte mir ein Kunde eine interessante Frage: “Was weiss ich, wenn ich nach Frankfurt fahre, das ich nicht schon weiss?”.

Ich denke, es gibt einige gewichtige Argumente für einen Besuch.
Da ist zunächst einmal die Präsentation der Version 8 von VA Smalltalk. John O’Keefe wird vorführen, woran er mit seinem Team im vergangenen Jahr gearbeitet hat, und welche Pläne Instantiations für die kommenden Versionen von VA Smalltalk hat.
Interessant wird sicher auch, was Nick Gilman über die Marktsituation von VA Smalltalk zu berichten hat, und wie es mit der kaufmännischen Seite für den Hersteller aussieht.
Ein Highlight wird dieses Jahr sicher auch wieder der Anwenderbericht sein, den diesmal die Versicherungskammer Bayern beisteuert. Hier wird seit rund 10 Jahren mit VisualAge Smalltalk ein Agentursystem entwickelt, das über die Jahre einen ganzen Mix an externen Integrationsschnittstellen bekommen hat.
Zwei Vorträge befassen sich auf den ersten Blick mit sehr technischen Gesichtspunkten: Die Integrationsfähigkeit von VA Smalltalk-Applikationen in heutige IT-Landschaften. Dabei soll es zwar darum gehen, welche technischen Möglichkeiten es gibt, mit Java-Applikationen, Backend-Systemen etc. Daten auszutauschen, aber vor allem soll auch an der gedanklichen Blockade gerüttelt werden, dass die “Modernen” Architekturen fest mit Java, C# oder sonstigen “aktuellen” Technologien verheiratet sind. Am Beispiel von RESTful Web Services soll gezeigt werden, dass VA Smallttalk durchaus die heute diskutierten Technologien unterstützt, und ein vollwertiges Mitglied des Technologie-Mix eines Unternehmens ist.
In der zweiten technischen Session gehen wir auf Seaside ein und geben einen kurzen Überblick über dessen Arbeitsweise. Vor allem aber wollen wir aufzeigen, dass es sich in bestehende Intranet-Architekturen im Unternehmen integrieren lässt, sodass ein Anwender nicht zwingend merken muss, ob er sich auf einer Java-generierten HTML-Seite befindet, oder ob er gerade mit einer Smalltalk-Anwendung arbeitet. Wir werden auch beleuchten, welche Problembereiche zu meistern sind, wenn eine bestehende fat client-Anwendung in eine Server-Anwendung umgestellt werden soll. Dabei beleuchten wir, welche Eigenschaften von Seaside hier hilfreich sind, und wieso gerade Seaside eine solche Umstellung stark erleichtert.

Mit das Wichtigste ist aber sicher, dass man die Gelegenheit hat, sich mit anderen VA Smalltalk-Anwendern auszutauschen!

Wem jetzt noch die Entscheidung schwer fällt, sollte sich die Zusammenfassung des VA Smalltalk Forums vom letzten Jahr ansehen. Dort finden sich auch links auf weitere Teilnehmerberichte.

ESUG-Konferenz bald voll!

Das gab’s bisher noch nicht: die ESUG Konferenz 2008 hat bald keine freien Plätze mehr. Zitat von der ESUG-Mailing-Liste:

Dear Smalltalkers,

So far, we have 123 registred people to the ESUG 2008 conference.
Registrants are from 19 countries from 5 continents (of course Europe,
but also, North America, South America, Asia and Africa).

With the current rate of daily registrations, we expect a full house
(150 people). So, if you plan to come to Amsterdam, register yourself
ASAP.

All info about the conference at
http://www.esug.org/conferences/2008

Cheers,
Noury

Sowas liest man natürlich gerne…

Smalltalk wächst

Smalltalk-Entwickler haben eine schwere Zeit durchgemacht. Jahrelang wurden ihre Projekte als Altlasten gesehen, die schnellstmöglich durch “was vernünftiges” abgelöst werden müssen. In manchenUnternehmen hat das auch geklappt, und man arbeitet inzwischen erfolgreich mit dem Nachfolgesystem.

In der Zwischenzeit sieht die Situation ein bisschen anders aus: das Interesse an dynamisch getypten Sprachen wie Ruby, Python oder Groovy wächst, auch und gerade durch den Drang hin zu Internet-Applikationen. Dadurch ist auch Smalltalk wieder wesentlich interessanter geworden. Schliesslich gibt es wenige Sprachen, die so ausgereift sind (immerhin blickt Smalltalk auf rund 30 Jahre Entwicklungsgeschichte zurück) und zudem eine soumfangreiche Werkzeugumgebung bieten, wie Smalltalk.

Frameworks wie Seaside sind dabei, die Sicht auf Smalltalk nochmals ganz neu zu formen: Ein Smalltalk-basiertes Framework ist es, das in vielerlei Hinsicht den Weg weist, wohin die Reise in der Webentwicklung gehen sollte. Gerade in der Ruby-Welt, wo sich mit Rails ein sehr mächtiger Ansatz für eher einfacher gestrickte Webanwendungen etablieren konnte, wird immer öfter ein Blick auch auf die Kombination Smalltalk/Seaside geworfen. In der Blogosphäre geistert Smalltalk auch immer mehr durch die Gegend.

So verwundert es auch nich, wenn sich auch bei den Anbietern von Smalltalk-Entwicklungsumgebungen ein Aufwärtstrend zeigt.

Bei David Buck findet sich dazu Folgendes

  1.  Last year was the best year yet for Cincom Smalltalk. Their revenues are growing and they have been consistently growing ever since they acquired VisualWorks. They are also seeing some new projects starting up in Smalltalk.
  2.   Last year was GemStone’s best year in their last 26 years in business. They are landing big projects and are seeing lots of interest in Smalltalk.
  3.   Instantiations says “Last year the software industry grew at about an 8% rate while Instantiations grew at substantially more than that rate and our VA Smalltalk at an even better rate than that!”

Auch bei uns stellt sich die Situation so dar: es kommen immer öfter Anfragen von Kunden, die nach Smalltalk-Experten suchen. Die Zahl an Kunden, die teils uralte IBM-Lizenzen erneuern und sich für einen Support-Vertrag mit Instantiations entscheiden, wächst.
Noch sind das überwiegend die oben genannten “Altlasten”, die aus dem reinen Wartungsmodus wieder in den Weiterentwicklungszyklus übergehen, aber das Interesse an den neueren Features von VA Smalltalk ist inzwischen deutlich gewachsen. Die Ankündigung, dass VA Smalltalk Version 8 mit Seaside-Unterstützung daherkommen wird, findet großes Interesse.
Es scheint, als wenn in vielen Unternehmen wieder öfter die Frage gestellt wird, welchen Wert eine Anwendung bzw. die darunter liegende Technologie für das Unternhmen liefert, und immer weniger die Frage im Vordergrund steht, ob es sich dabei um eine “Moderne, Zuklunftsweisende” Technologie handelt. Zukunft weisend ist wieder die Technologie, mit der man die gestellten Aufgaben lösen kann, mit der man wartungsfreundliche Systeme erstellen kann, und nicht, was die Fachpresse gerade am höchsten lobt…

Das Web ist Typenfrei

Eines der ältesten Missverständnisse rund um Internetanwendungen ist, dass man sie am besten in Java schreiben könnte. Mit seiner Typsicherheit und “weil es ja dafür gemacht wurde”, ist Java am besten fürs Web geeignet. Über beides kann man sich trefflich streiten.

Tatsächlich ist das Web ja eigentlich völlig Typfrei. Ein HTTP-Request ist zunächst einmal ein langer String, den es gilt, in Happen zu zerteilen, und aus den einzelnen Bestandteilen etwas zu machen, das für ein Programm verwertbar ist. Und wenn ein Web server etwas daraus gemacht hat, liefert er eine HTTP-Response zurück, die lediglich aus einem langen String besteht.

Mir ist in dieser Sache noch nicht ganz klar, welchen Vorteil vielen Entwickler in einer stark typisierten Sprache für Web-Anwendungen sehen. Klar ist mir aber, warum man in Web Applikationen häufig eine java.lang.NullPointerException zu Gesicht bekommt: Strings sind ihrer Natur nach schwer in ein Typsystem zu pressen. Jede Annahme darüber, was sich in einer Zeichenkette verbirgt, kann falsch sein, und bedarf einer umfangreichen Prüfung. Und genau die Zone, in der diese Prüfungen gemacht werden müssen, ist in einer streng typisierten Umwelt sehr anfällig: bevor ein String in eine Zahl umgewandelt werden kann, müssen umfangreiche Prüfungen gemacht werden, aber dabei kann nur auf Funktionalitäten von Strings zurückgegriffen werden, oder aber man begibt sich in die Gefahrenzone Typecasting: java.lang.NullPointerException.

Die Geschichte des VA Smalltalk Forums (1)

Als IBM 2005 das Thema Smalltalk aus ihrem Produktportfolio strich, waren viele User entsetzt: Jetzt ist es wirklich aus. Wenn IBM Smalltalk aufgibt, geht’s jetzt dem Ende zu. Und wir haben’s ja auch alle schon gewusst.

An schlechten Beispielen, aus denen man das ablesen kann, mangelt es nicht. Das prominenteste ist sicher OS/2, das inzwischen zwar auch von einer anderen Firma weiter gepflegt wird (eCom Station), aber keine wirkliche Bedeutung mehr am Markt hat.

Auch die Vorzeichen waren düster: Als IBM Business Partner und langjährige Berater im Umfeld von VisualAge Smalltalk war es uns teilweise sehr schwer gefallen, bei der IBM in Deutschland jemanden zu finden, der  uns mit dem Bezug von Lizenzen helfen konnte. Ich kann mich an einen Mailverkehr innerhalb der IBM erinnern, in dem eine Anfrage von uns zwischen Berlin, Stuttgart, Raleigh und Hamburg hin und her wanderte, in der es zunächst zu klären galt, welcher Ansprechpartner in der IBM für dieses seltsame VisualAge eigentlich noch existiert. Schliesslich gehörte es weder in die Sparte Tivoli, noch zu Websphere, und schon gar nicht in die Notes- oder DB2-Schiene…

Instantiations war hierzulande bis zur Ankündigung der Übergabe von VA Smalltalk eigentlich eine eher unbekannte Größe. Zwar hatte man von Window Builder und VA Assist schon gehört, aber hier in Deutschland sind diese beiden Produkte nicht sehr verbreitet. Und so galt es, einfach mal Kontakt aufzunehmen, und die Fühler dorthin auszustrecken. Schliesslich hatten wir einige Kunden, die von der ganzen Geschichte ziemlich beunruhigt waren, und die genaueres zu diesem Deal erfahren wollten. Ausserdem gab es ja die Hoffnung, dass Instantiations vielleicht etwas mehr Interesse daran hat, sein Produkt zu verkaufen, als die IBM es einige Jahre lang an den Tag gelegt hatte.

Die ersten Kontakte waren sehr interessant. Instantiations hatte alle Hände damit zu tun, das Produkt in einer neuen Version (6.03 unter IBM-label) fertig zu stellen, und irgendwie war man noch gar nicht recht auf internationale Kontakte eingestellt.

Interessanter Weise hatte es auch schon bei der IBM das Problem gegeben, dass das Entwicklungsteam seine Kunden gar nicht kannte. Wer keine Support-Anfrage gestellt hatte, die bis zum Entwicklungsteam durchgereicht wurde, war ein weisser Fleck auf der Karte. Das Vertriebsmodell über Passport Advantage tat dazu noch seinen Teil: die meisten Kunden hatten Lizenzverträge mit IBM, die so umfangreich waren, dass eine Hand voll VisualAge-Lizenzen praktisch nicht gesondert berechnet wurden, sondern nahezu verschenkt wurden. In Summe war zwar klar, dass VisualAge profitabel war, aber eindeutige Zahlen dazu, wieviele Installationen es gab und wo diese waren, waren nicht bekannt. Genau das war natürlich auch ein Problem für Instantiations: man kannte das Produkt seit langer Zeit und auch viele Kunden vor allem in den USA, aber ausserhalb der Staaten wurde es schon schwieriger.

Wichtigstes Ziel für Instantiations musste also zunächst sein, möglichst viele IBM – Kunden davon zu überzeugen, ihre IBM-Lizenzen in Instantiations-Lizenzen umzutauschen. In den Staaten, wo vor allem Window Builder ein sehr weit verbreitetes Add-on zu VisualAge ist, war das recht gut möglich: die Kunden kannten Eric Clayberg und seine Mannschaft schon lange Zeit, und wussten, dass hier ein kompetentes Team versammelt ist, das wirklich guten Support leisten kann.

War das denn wirklich nötig?

Es gibt Trends, die man interessiert beobachtet, erst nicht versteht, und dann doch irgendwann irgendwie aufnimmt.

So ist es inzwischen ja eigentlich Pflicht, wenn man sich einbildet “was von Computern zu verstehen”, auch zu bloggen. Vor ein paar Jahren galt das als exhibitionistisch, heute muss man es einfach tun. Die Sache mit dem Verstehen und den Computern hebe ich mir für ein ander mal auf…

Und egal, ob man was zu sagen hat, oder nicht: man bloggt.

Nach dieser mir selbst in den Weg gestellten Steilvorlage sollte ich nun also schleunigst einen Grund dafür liefern, wieso ich nun meine, auch in die Blogosphäre eintauchen zu müssen.

Nun, in erster Linie soll es in diesem Blog um die Entwicklung von Software gehen, ganz speziell um die Entwicklung von Software mit Smalltalk. Aber ich wäre vermutlich der erste Blogger, der bei seinem selbst gesteckten Ziel bleibt, und der nicht auch andere Themen aufnimmt.

Akuter Anlass für den Auftakt dieses Blogs ist aber vor allem, dass wir (das heisst die Firma Instantiations und die objektfabrik) in den Vorbereitungen für das VA Smalltalk Forum Europe 2008 stecken, und sich sicher häufig neue details zur Agenda ergebn werden. In den nächsten Wochen werde ich hier über die Fortschritte bei der Vorbereitung dieses Events berichten, Details über das Programm verlautbaren lassen etc. Und wenn dann die Entspannung nach diesem Tag einsetzt, werde ich hoffentlich noch die Energie haben, auch über die Veranstaltung zu berichten.

Dieses Blog soll eigentlich in deutscher Sprache geführt werden, aber ich möchte nicht versprechen, dass nicht auch mal was in englisch passiert.

Naja, dan schauen wir mal…