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

Hallo

Java scheint mir eine universelle Lösungsmöglichkeit in der Programmierung der verschiedensten Dinge zu sein. Sie ist relativ(!) einfach, robust, hat eine moderne Architektur und ist portabel.
Ebenso das Einsatzgebiet ist weit gefächert. Zum Beispiel auf einem Webserver leisten Servlet und JavaServerPages gute Dienste, um dynamische Webseiten zu erzeugen (für Datenbankabfragen usw.). Sie sind für jeden Webserver verfügbar und lassen sich relativ einfach handeln (was durch Authoringtools noch weiter vereinfachen läßt).
Applets sind ein weiteres Anwendungsgebiet, wenn auch nicht immer beliebt. Allerdings werden derzeit die Möglichkeiten zu wenig ausgeschöpft. Dabei sind sie fürs Internet eigentlich optimal.Schon allein der Sicherheitsaspekt. Ich kann an solche Programme Rechte verteilen (auf welche Dateien sie zugreifen dürfen usw.). Wenn ich mir mal eben ein "normales" Programm aus dem Internet lade, weiß man ja nie genau (angefangen von Viren bis hin zu absichtlich eingebauten 'Gemeinheiten', wie es die Trojaner machen). Auch wird mir dadurch nicht gleich die wertvolle Windows-Konfiguration versaut (keine Installation in Registry und wo noch überall; woran selbst Spezialprogramme sich schwer tun, das wieder zu bereinigen; von den Standarddeinstalltionsroutinen ganz zu schweigen). Das würde im übrigen auch den ganzen Plugin-Müll beseitigen, der sich in modernen Browsern so tummelt.
Java kann ja alles, was auch die anderen können. Warum also immer wieder was Neues ...
Aber auch für Programme ist es gut einsatzfähig. Und die laufen unter Linux als auch unter Windows. Für jeden Softwarehersteller muss das ja ein Traum sein. :-)

Ja und das alles mit einer Programmiersprache. Ohne das ich immer was Neues lernen muss. Vieles dafür ist frei verfügbar (sogar komplette IDE's). Die zahllosen API's bieten Lösungen für fast alle denkbaren Anwendungsfälle.
Als Negativkriterium wird immer die Geschwindigkeit aufgeführt. Aber das kann ich so nicht ganz bestätigen (auf meinen ohnehin recht leistungsschwachen Rechner). Da hat sich durch Compiler in letzter viel getan.
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 ...

Grüße
   Michael

  1. hi Michael

    wie du schon sagst, mit java ist nahezu alles möglich.
    das heisst aber auch das java ein potenzielles sicherheitrisiko ist.
    java ist in den letzten monaten sehr in verruf geraten, da findige leute diese fähigkeiten von java auszuschöpfen wussten.

    alles liebe
    ole
    (8-)>

    1. Hallo

      Ein Sicherheitsrisiko hat man doch bei jeden gedownloadeten Programm vielmehr (trotzdem, so scheint mir, wird das mehr akzeptiert als beispielsweise Applets). Somal, wie gesagt, ein Sicherheitskonzept sogar vorgesehen ist und lediglich "schlampige" Programmierung der JavaVM ausgenutzt werden kann.
      Aber das ist ja nur ein Punkt von vielen. Die Sicherheitsbedenken gibts ja ohnehin nur auf der Clientseite. Auf der Serverseite kann man von den Vorteilen eigentlich nur profitieren.

      Gruß
         Michael

  2. Hallo Michael,

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

    (Obwohl ich mir nach diesem Posting evtl. nen Bodyguard zulegen muss: ich poste trotzdem. *g*)

    Denk bitte daran, _was_ du mit Java realisieren kannst. Es ist z.B. nicht für die Client-seitige Generierung von dynamischen Inhalten wie mit DHTML und JavaScript gedacht. Und für Multimedia-Schnickschnack ist Flash sowieso die bessere Wahl, wenn man gleichzeitig hohe Qualität und Performance haben will. Mit Java könntest du evtl. nen Shockwave-Clone implementieren, aber direkt etwas in Java zu realisieren, wofür Flash eigentlich da ist, wird bestimmt Zeitaufwendiger. Wie es mit der Performance und den Möglichkeiten wie z.B. eingebundene Schriftarten steht, ist ein weiterer Punkt.

    Und: für die schnelle und anständige Darstellung von Inhalten ist HTML mit richtig eingesetzten Grafiken, CSS, evtl. CGI und einer Prise JavaScript immernoch das beste, was man auch kostenlos selberwerkeln kann! (-><../../>&http://www.gimp.org/)

    Fazit (Antwort auf den Thread-Titel): sicher nicht!

    bis nextens
    xitnalta

  3. 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.

    1. Hallo Michael

      Danke für Deine sehr erschöpfende Antwort. *freu*

      Gruß
        Michael