... oder was ich an der Java Community wirklich sehr mag.
Vor fast 2 Jahren wurden in blogs und gewissen Autoren (Bruce Tate) diese dynamic languages groß raus. Und da ihre Ideen für den mainstream in gewisser Weise neu waren, taten sie das naheliegende und griffen die führende Enterprise Plattform Java/J2EE (und in gewisser Weise auch C#/VB.NET on .NET) heftig an.
Jammerte die Java/J2EE community über FUD rum?
Nein.
Ok, vielleicht ein bischen. Aber dann überlegten sich Leute, wo denn diese Ruby-on-Rails aficionados vielleicht in gewissen Punkten Recht hatten. Und eigene Projekte mit dynamic languages on-top-of Java gewannen an Fahrt. Typisch ist vielleicht auch, dass 1.5 Jahre später alles so schön bunt ist, dass man sich vielleicht gar nicht entscheiden kann.
Wir haben Groovy (eine eigene auf Java-Syntax basierende dynamic language), JRuby (sehr groß, Sun hat die beiden Hauptentwickler des OS-Projekts angestellt). Und die JRuby Leute machen noch Werbung dafür, dass sich bitteschön mehr Entwickler für das irgendwie auch konkurrierende JPython Projekt finden sollten.
Ich hab jetzt ein bischen mit Groovy herumexperimentiert und seit Spring hat mir nix neues mehr so viel Spaß gemacht.
Ich hoffe, dass Lotus diese neuen Sachen große Beachtung schenkt. Schliesslich war ja im Workplace-Umfeld vor 1 Jahr sehr viel von JavaScript als Haupt-Programmiersprache die Rede. Der Hintergrund dafür sind die dynamic language Fähigkeiten von JavaScript. Und da ist wirklich was dran. Zwar sind diese ganzen blocks, closure, meta-programming, etc. auch für LotusScript Programmierer neu. Aber vielleicht können sie damit produktiver arbeiten als mit Java (das für viele ja auch neu oder zumindest nicht voll vertraut ist). Es ist einfach auch näher am RAD Gedanken.
Die Idee von Java ist (aus meiner Sicht):
- sehr viele qualitativ hochwertige openSource Bibliotheken für allemöglichen Aufgaben.
- gute Lesbarkeit/Erweiterbarkeit, wenn Entwickler/Projektmanager keinen Scheiss bauen (Menschen sind fehlbar)
- eine sehr weitreichende Weg-Kappselung des Programms von der Plattform. Natürlich ist die plattform-unabhängigkeit nicht "vollständig", aber deutlich weitreichender als es viele Polemiken gerade aus Notes-Kreisen erwarten lassen.
- starke qualitätsteigernde Konkurrenz von Dingen on top of Java im Hayekschen Sinne (und das wiegt aus meiner Sicht schwerer als das Nina Hagen Argument ("Es ist alles so schön bunt hier. Ich kann mich gar nicht entscheiden")
- ein inzwischen sehr hoher Grad an Ausgereiftheit und Stabilität.
- sehr gute oft freie Tools, Frameworks und Techniken, die Entwicklern helfen in gegebener Zeit besseren Code zu produzieren (IDE, testing, runtime analysis, Projekt-Versionierung, automatisierte Builds, etw.)
Die Idee von diesen dynamic languages wie (J)Ruby und Groovy erscheint mir, dass man für Standard-Programmieraufgaben sehr wenig Code braucht. Und code besteht zum größten Teil aus Standard-Aufgaben. Auch komplexe Programme bestehen in Einzelteile zerlegt aus Standard-Programmieraufgaben.
Microsoft integriert btw. auch Python und Ruby in ihre .NET Plattform.
Ich skeptisch gegenüber dem neuen Trend. Aber nachdem ich bisher nur insgesamt 4 Stunden mit "Grooovy in Action" von Manning auf dem Tisch mit Groovy herumexperimentiert habe, muß ich sagen, dass das echt vielversprechend aussieht.
Ich wünsche mir, dass Lotus auch in diese Richtung aktiv wird (oder bereits ist).
Gruß Axel