Michael Schröpl: Die Alles-in-einem-Lösung?

Beitrag lesen

Hi,

Java scheint mir eine universelle Lösungsmöglichkeit in der Programmierung der verschiedensten Dinge zu sein.

das mag sein. Aber daraus zu schließen, daß man damit viele (oder gar alle) Probleme lösen *sollte*, wie mir Dein Posting ein wenig suggeriert, halte ich keineswegs für zwingend.

In der Geschichte der Programmiersprachen sind in den letzten 50 Jahren verschiedenste Ideen immer wieder aufgetaucht.
Eine dieser Ideen ist es, alles mit einer Sprache zu realisieren. Typische Vertreter dieser Idee waren die Sprachen PL/I (Programming Language One), eine Obermenge des naturwissenschaftlichen Ansatzes von Fortran/Algol und des betriebswirtschaftlichen Ansatzes von COBOL, sowie das vom US-Militär gepushte ADA. Beide Sprachen konnten zu ihrer Zeit "alles", was es zu können gab - aber sie waren weder leicht zu beherrschen noch blieb der Fortschritt deswegen stehen.
Als Gegenbewegung gab es auch immer wieder Spezialsprachen, die für ganz bestimmte Anwendungen ideal geeignet waren, aber eben viele andere Dinge nicht können. Prominentestes Beispiel dafür ist m. E. SQL, welches mit dem Konzept der "Sprache der 4. Generation" (man beschreibt nicht mehr, wie man das Ergebnis berechnen will, sondern nur noch, welche Eigenschaften es haben soll) es dem Anwender erlaubt, Programme ohne algorithmische Grundausbildung schreiben zu können. Gleichzeitig "fehlen" natürlich alle algorithmischen features (kein "if"-statement, schluchz), so daß man oft genug bestimmte Aufgaben nicht sehr elegant lösen kann und dann wieder auf andere Sprachen ausweichen muß - oder auf Hybridsprachen, welche SQL als Teilmenge enthalten. Perl ist in meinen Augen eine Hybridsprache zwischen dem algorithmischen Ansatz und der 4GL-Idee (reguläre Ausdrücke) und für viele Aufgaben, die ich täglich zu lösen habe (Datei-Inhalte analysieren und verarbeiten), gut geeignet.

Trotzdem habe ich das Gefühl, daß Java noch recht gering verbreitet ist. Irgendwie kann ich mir nicht ganz erklären, warum. Aber vielleicht fällt anderen hierzu ja was ein ...

Zusammengefaßt denke ich, daß es so viele optimale Sprachen gibt wie Aufgabenstellungen. Der Ansatz, alles mit einer Sprache erschlagen zu wollen, würde voraussetzen, daß nur gleichförmige Probleme existieren und daß sich die allgemeine Programmiertechnik nicht mehr weiterentwickelt. Ich denke, nicht zuletzt die Erfindung des objektorientierten Ansatzes war ein Grund für das Sterben von PL/I oder ADA, und wer weiß, welches neue Konzept in Zukunft den Tod von JAVA verursachen wird?
JAVA verkörpert einige wertvolle Konzepte (Plattformunabhängigkeit, Objektorientiertheit etc.), aber auch einige Einschränkungen (z. B. um bestimmte Sicherheitskonzepte zu realisieren). Jede Einschränkung kann aber vom einen Anwender als feature und vom anderen als Hindernis angesehen werden.
Die Menge der JAVA-Anwender hängt also m. E. davon ab, für wie viele Probleme JAVA die optimale Sprache darstellt. Und bei dieser Fragestellung mußt Du den Lernaufwand für Java mit dazu zählen: Wenn ich mein Problem in einer bereits bekannten Sprache fast genauso gut lösen kann wie in Java, dann lohnt sich eine (Wissens-)Investition in Java eben erst nach <n> solchen Problemen. Und wer weiß, was es dann schon wieder für neue Sprachen gibt?

mfG - Michael

P.S.: Im SelfHTML-Newsticker kannst Du nachlesen, was Bill Gates als Nachfolger von Java, Visual Basic und C++ plant.