Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#12

Re: auf java umsteigen ?

  Alt 16. Nov 2006, 17:20
Zitat von Ghostwalker:
Das ist in meinen Augen kein Argument für Java..eher eins dagegen. Ich muste mich selbst (beruflich) mit einer Programmiersprache namens OEL auseinandersetzten (Diese wurde für ein DMS-System entwickelt). Dort war ebenfalls alles und jeder ein Objekt (selbst eine simple boolsche Variable). Das führte dazu, das das ganze dann extrem langsam und resourcenhungrig wurde. Ob das allerdings auch bei Java so ist, weiß ich nicht.


Bisher sind die meisten Programme, dich ich getestet habe und die mit Java geschrieben wurden, schnell wieder von der Platte geflogen, weil sie sehr langsam und resourcenhungrig waren.
Man sollte sich da dann aber wirklich etwas differenzierter anschauen was hier langsam und ressourcenhungrig bedeutet und woran das liegt. An sich hat Java den Nachteil, dass der Code just-in-time übersetzt wird. Man erstellt zwar einen Objekt-Code, der wäre aber nur auf der einer JVM lauffähig. Die wenigsten PCs haben dabei einen Chip, der diesen Code direkt ausführen kann. Anders sieht es da (nebenbei bemerkt) bei embedded Systemen aus.
Jedenfalls kostet die Interpretation (die plattformunabhägigkeit mitbringt) Zeit, aber es hält sich stark in Grenzen (bei aktueller HW und aktuellem JRE). Java ist nicht komplett Objekt-Orientiert, die primitiven Datentypen (bool, int, long, short, byte, char, float, double) sind keine Objekte, es existieren aber auch Wrapperklassen.

Das was aber eigentlich wichtig ist, ist die Idee hinter der OOP. Natürlich bringt der Code eines Objekts einen Overhead mit sich, weswegen kaum ein Code mit C konkurrieren kann, was die Ausführungsgeschwindigkeit angeht. Jede mögliche Indirektion kostet da immens viel Zeit. Wenn man dann noch mit Makros arbeitet und auch noch der Aufruf einer Methode entfällt...
Allerdings kann C natürlich auch nicht die Vorteile bieten, die Indirektionen und Objekte so mit sich bringen. Die Hauptvorteile von Java liegen eigentlich in der Typsicherheit und nicht zuletzt auch in der aut. Speicherverwaltung. Das es hier große Vorteile zu geben scheint kann man (imho) daran erkennen, dass sich J2EE (mittlerweile JavaEE) sehr gut etabliert hat. Neben CORBA (dass ebenfalls OO ist) findet man es wohl mit am häufigsten im EInsatz wenn es um verteilte Applikationen geht. Das Java EE nicht wirklich an jeder Stelle leicht und verständlich ist, das steht außer Frage, aber dem steht halt doch die Zufriedenheit und Verbreitung gegenüber. Es sind Geschäftprozesse, bei denen es vorallem um Sicherheit geht. Dabei ist die Sicherheit, dass keiner an Daten kommt genauso wichtig, wie die Sicherheit eines konsistenten Systems.

Kurz um, Java hat Einsatzgebiete, auf denen es einem einiges erleichtern kann. Es gibt viele schnelle Java-Programme, aber auch langsame. Das hat nichts mit der Sprache allein zu tun, sondern vorallem auch mit den Leuten, die das programm schreiben. Solche Vergleiche kann man mit beliebigen Sprachen (auch Delphi) machen und so ganz beliebige Dinge zeigen (ohne das man viel aussagt).
  Mit Zitat antworten Zitat