Java

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche

Java (sprich dschawah) ist nicht einfach nur eine Insel, Java ist die objektorientierte Technologie von Oracle zur plattformunabhängigen Entwicklung von Sicherheitslücken. Es handelt sich hierbei um eine Sprache, die dazu bestimmt ist, von Computern verstanden zu werden, dahingegen allerdings nur von wenigen Menschen (siehe Programmiersprache). Diese Tatsache rief bei einigen Kritikern schon große Besorgnis hervor (Untergang der Menschheit durch Vernichtung seitens ihrer eigenen Schöpfung usw.).
Java wurde eigentlich nur entwickelt, um cool zu sein, denn jeder wollte eine objektorientierte Sprache haben. Und natürlich um für das unnötigste Betriebssystem Solaris Programme schreiben zu können.
Java ist der größte Feind der Anweisung GOTO.

Des Weiteren hat man, nachdem man diese Sprache erfand, eine Insel, mitten im nassen Wasser, nach Java benannt. Grund dieser Namensvergabe war, dass man mit dem drohenden Tsunami symbolisch ein Zeichen setzen wollte. Doch leider verfehlte er sein Ziel und Java gibt’s immer noch.

Eigenschaften

Symbol von Java ist die heiß aussehende Kaffeetasse, dies könnte seinen Ursprung in der gleichnamigen Kaffee-Bohne Java haben. Was könnte es auch schöneres geben, als auf Java, bei einer schönen heißen Tasse Java, Java zu programmieren? Nicht, dass es nicht sowieso schon missverständlich ist, dass es das Gefühl übermittelt, dass man Java einfach nebenher bei einer Tasse Kaffee programmieren könne, nein, die meisten Java-Programmierer werden sogar kaffeeabhängig und müssen wenige Jahre nach dem ersten Java-Programm, meist 'Hello World', einen Entzug starten. Jedoch wird gemunkelt, dass die heiße Kaffeetasse eigentlich ein Glas Bier werden sollte, die Zeichner allerdings viel zu betrunken waren, um alle Anforderungen des Logos erfüllen zu können. Egal welchen Hintergrund dieses Logo wirklich hat, Fakt ist der Umstand, dass man sich an der doch recht komplizierten Sprache des Produkts schnell die Finger verbrennt oder richtig einen im Tee haben muss, um an dem Programmieren mit dieser Sprache Gefallen zu finden. Java erwies sich in Vergangenheit als erfrischend langsam / überfüllt, selbst für einfachste Aufgaben wie das Öffnen eines Fenster sind ziemlich genau [math]8,5*10^{26}[/math] Bazillionen Methodenaufrufe notwendig. Die beharrliche Anwendung der Chaostheorie in der objektorientierten Programmierung/Analyse zwingt im Endergebnis selbst Supercomputer regelmäßig in die Knie, Copy&Paste ist eine weltweit anerkannte und geachtete Strategie zum Entwickeln von Java-Applets (siehe Viren).

Unter Java ist Entwicklungskomfort verpönt. Entscheidend ist nur der gute Programmierstil, d.h. für jede Aufgabe müssen sinnlose Klassen erstellt werden, um eine sinnlose Einschränkung gegenüber C++ zu umgehen. Funktionszeiger, Funktoren und private Vererbung sind super schnell mit ein paar Interfaces und abstrakten Klassen erreicht. Das Gute ist, dass der Quellcode trotz Vererbung per Copy&Paste kopiert werden muss. Dadurch erhält man einen super Stil und muss sich nicht mit Präprozessor und Einfachheit herumschlagen.

Im übrigen besitzt Java die Möglichkeit eines Präprozessors, jedoch wurde kurz vor Fertigstellung der ersten Version ein #ifdef 0 um den kompletten Präprozessorcode gelegt. Der Architekt James Goblin hegte die Befürchtung, dass ein bereits bekanntes, einfaches Modell keinen Programmierer zu Java bewegen würde. Seither versucht man die Präprozessor-Syntax durch objektorientierte Fragmente zu erweitern.

Wie die meisten Programmiersprachen kann auch bei Java der Anwender unter einer großer Zahl IDEs auswählen, mit denen die Quelltexte geschrieben, kompiliert und gestartet werden können. (UNIX-Programmierer können das alles natürlich auch von der Kommandozeile aus, aber wozu die Mühe machen?) Die bekannteste Umgebung dürfte das elliptisch geformte Eclipse sein, das praktischerweise auch noch kostenlos ist. Im Internet kursieren außerdem auch diverse Bezahlprogramme, die sich aber von Eclipse um kaum mehr als ein paar mehr Extraskins unterscheiden. Außerdem: Wer so fortgeschritten ist, dass ihm die Funktionen von Eclipse nicht mehr genügen, kann sich diese auch gleich selbst programmieren.

Vollkommen egal, welche Entwicklungsumgebung man nimmt: Wie in jeder anständigen Programmiersprache ist überall ein Diva-Compiler eingebaut, der sich wegen eines fehlenden Semikolons in Zeile 7503 weigert, das Programm abzuspielen. Läuft das Programm irgendwann doch, kann jede kleine Exception das Programm abschießen. Die entsprechende Fehlermeldung ist dann leider in einem 200-zeiligen Stack-Trace verborgen, der zig Zeilen in vielen verschiedenen Klassen als mögliche Fehlerursache benennt. Immerhin sind oft Quickfixes verfügbar, die den Fehler ausmerzen und dafür an anderer Stelle fünf neue erzeugen. So bleibt der Programmieralltag abwechslungsreich.

Die Hauptaufgabe eines Java-Programmierers ist es, 90% der Zeit mit dem (handschriftlichen!) Zeichnen von Klassendiagrammen und Struktogrammen zu verbringen, die eigentliche Programmierung wird dann selbsterstellten Automaten überlassen, die die Internetze nach kopierbarem Quelltext durchsuchen, verwerten und anhand der eingescannten Diagramme zusammenkleben.

Java ist plattformunabhängig. Ein Java Programm läuft also, unabhängig von der Plattform, immer gleich langsam. Nur so ist garantiert, dass das Hinzufügen von CPU-Kernen oder Arbeitsspeicher die Laufzeit nicht beeinflusst. Jedes Programm soll unter Windoof, Linux und Mac OS X laufen, funktioniert von sehr eingeschränkt bis überhaupt nicht, aber ein toller Werbespruch ist es trotzdem. Es gibt dazu den Merkspruch: "Zu sagen, Java sei cool, weil es auf allen Plattformen läuft ist, wie zu sagen, Analverkehr sei cool, weil es mit allen Geschlechtern geht." Zusätzlich gibt es auch noch die tolle Entwicklungsumgebung von Sun, NetBeans.

Anders als erwartet, geht es nicht um Bohnen. Sie haben vor allem den Vorteil, dass sie sich nicht mehr mit PCs betreiben lassen, die noch vor 2 Jahren aktuell waren. Sehr erfahrene Programmierer, die behaupten, diese Sprache zu beherrschen, werden auch als Javer oder auch Javernauten bezeichnet.

Java gilt als Alternative zu XSLT, da es aus langen XML-Dateien noch längere StackTraces erzeugen kann. Java-Programmierer veranstalten oftmals Wettbewerbe, wer die längste StackTrace generieren kann. Die Rekordmarke von drei Milliarden Zeilen wurde im Frühling 2010 von der Firma SAP gebrochen; der neue Rekord konnte aber noch nicht ermittelt werden, weil der Crash der Software noch nicht abgeschlossen ist (Stand März 2017). Ein Durchsatz von 2 Milliarden Zeilen StackTrace pro Codezeile wird jedoch heute von den meisten J2EE-Applikationsservern erreicht. Die Frage ob Stack-Traces theoretisch unendlich lang werden können, gilt als eines der noch ungelösten Probleme der Mathematik.

Beispiele

Hier als Beispiel drei Auszüge aus dem Quelltext von Windows und Mac:

  ...
  if (speichernWichtigerDokumente() || ComputerFunktioniert() || ComputerLaeuft()) {
     aufhaengen();
     System.out.println ("Soll der PC heruntergefahren werden? J/N");
     char antwort = In.readChar();
     if (antwort == 'J') {
        herunterfahren();
     } else {
        herunterfahren();
     }
  } else {
     bluescreen();
  }
  ...
Da hats aber jemand drauf...

Wenn man Java auf MacOSX anwendet ...

  if (Betriebssystem().equals("MacOSX")){
      System.out.println("Bitte Rechte Maustaste drücken");
  }
  else{
      iHDformatieren();
  }
  ...

Wenn man versucht, Firefox zu öffen:


 public void startFirefox() {
   startInternetExplorer();
   for (int i = 0, j = 5; i < j; j++) {
       System.out.println ("Firefox.exe hat ein Problem festgestellt und muss beendet werden.");
     }
 }

Hier noch ein bekannter Java Virus für Windoof Mobile 6.0 Smartphones


  public static void clearCard() {
    if (Tastensperre && StandByMode() && (PrepaidGuthaben >= 0.00 || Vertragskarte())) {
       startCall(09005666666);
       while (true) {
          halteGespraech();
       }
    }
  }

Die Formeln klappen selbst dann noch, wenn sie eigentlich nicht mehr funktionieren sollten und widersetzen sich damit stets Mutter Natur Technik.

Verbreitung

Durch das Computerspiel Minecraft, das zu allem Überfluss auch noch mit Java entwickelt wurde, ist Java immerhin auf den Computern von 10- bis 12-jährigen Kindern weit verbreitet. Außerdem hat die Bundesregierung auf ihren Windows XP-Rechnern eine alte Version von Java installiert, um sich so viele Sicherheitslücken wie möglich für die Kollegen der NSA offen zu halten. Ansonsten arbeiten nur noch ein paar wenige Nerds mit Java, die noch an die Zukunft von Java glauben.

Zukunft

Ob Java eine Zukunft hat, ist noch ungeklärt. Von der NASA beauftragte Wahrsager arbeiten bereits an der Beantwortung dieser Frage. (Hierunter fällt natürlich auch die Aufklärung der Sorge der oben genannten Kritiker.) Die Firma Sun verhandelt gerade mit südamerikanischen Bananenplatagenbesitzern ob es nicht möglich wäre, die 17 Programmierer, 100% Nerds, einfach dort arbeiten zu lassen und in Finnland unter dem Namen Sun Bananen anzubieten.

Grosses Zukunftspotential wird der patentierten JavaPerformanceFlusher-Technologie zugeschrieben. Diese soll in Zeiten unnötig hoher Rechenperformanz den Programmablauf merklich verlangsamen, sodass der Benutzer nach wie vor erkennen kann, dass der Computer arbeitet.

Neuartige Produkte mit Java-Technologie

Ein Beispiel moderner Hochtechnologie: Die Javalampe mit ADSL.

Auf dem neuen Markt gibt es erste experimentelle Produkte, die bereits mit Java modernisiert wurden. Es handelt sich dabei meist um gewöhnliche Haushaltsgeräte, die aus den universellen Möglichkeiten dieser Programmiersprache einen besonderen Nutzen ziehen zu ziehen versuchen. Markt"experten" wie z.B. Hans-Werner Sinnlos vom ifo-Institut für Wirtschaftsforschung erwarten sogar, dass es bereits in wenigen Jahren kaum noch Dinge ohne Java geben wird! Denn durch die neuen Produkte werden neue Impulse für die Banken das Wirtschaftswachstum erhofft - deshalb ist auch völlig egal, ob das Ganze nun Sinn macht oder nicht.


Beispiele für neuartige Java-Produkte:

  • Java-Kaffeetasse (mit wechselnder Innenbeleuchtung sowie Sicherungsdeckel mit Passwort-Schutz gegen unauthorisierte Nutzung, sendet per WLAN eine eMail-Warnung sobald Kaffee leer).
  • Javalampe (mit ADSL-Netzanbindung & Updatefähig - darf jedoch nicht abstürzen). Java wird hierbei eingesetzt, um die (auch) als Heizung eingesetzte CPU zuverlässig auf die benötigten 300 °C zu bringen. Andere Programmiersprachen konnten die nötige CPU-Last nicht erzeugen.
  • Java-Eierkocher mit eingebautem Webbrowser (an der Kochfunktion wird z.Zt. noch gearbeitet).
  • Javalin, die Flugabwehrrakete aus britischer Produktion. Nur durch Einsatz von Java konnten die hartnäckig zu berechnenden, numerischen Probleme während der Zielverfolgung zuverlässig und in Echtzeit gelöst werden. Somit kann behauptet werden, dass das Schreiben eines dafür eigens entwickelten Betriebssystems, der virtuellen Maschine und der Viren, auf denen Java läuft, fraglos gerechtfertigt war.

Siehe auch

if (codingLanguageList.Contains(this.title)) {

wikiPage[] articleList = { A, Assembler, BASIC, Brainfuck, C, C++, C-Sharp, COBOL, D, Delphi, Eick#, Eiffel, Gehirnassembler, Haskell, HTML, Java, JavaScript, Logo, NXC, Pascal, Perl, PHP, Python, Robot Karol, SQL, Tcl, UML, Visual Basic, ZLORFIK };

} else if(article.Exists()) {

wikiPage[] articleList = { Programmer-Lang, Was deine Programmiersprache über dich verrät, Rekursive Programmierung};

} else {

EditTemplateCodingLanguage();

}


Linktipps: Faditiva und 3DPresso