Java Oder C++
#16 _Fenix_
geschrieben 09. August 2004 - 00:11
Und was Wissenschaft angeht.... bei allen sachen bei denen es nur um Berechnungen usw. von irgendwas geht nimmt kaum jemand C oder Java, sondern da hat Matlab die Krone auf...
Anzeige
#17
geschrieben 09. August 2004 - 02:19
danke für die antworten. werde jetzt mit c++ anfangen und dann kann ich mich immer noch für etwas anderes entscheiden. bin ja erst 14.
#18
geschrieben 09. August 2004 - 04:38
Zitat (Fenix: 09.08.2004, 01:11)
Und was Wissenschaft angeht.... bei allen sachen bei denen es nur um Berechnungen usw. von irgendwas geht nimmt kaum jemand C oder Java, sondern da hat Matlab die Krone auf...
Ok, wenn es um Ingenieurswissenschaften geht, da ist Matlab ungeschlagen. Ein gutes C-Program kann zwar 1000 mal schneller sein (schon selbst getestet), aber dafuer ist Matlab sehr einfach und unterstuetzt sehr komplexe Funktionen. Wenn man mit Matrizen arbeitet kommt man an Matlab sowieso nicht vorbei.
Aber in Informatik oder so laeuft nix mit Matlab, und da hat Java C++ eigentlich schon den Rang abgelaufen... z.B. in momentan schwer erforschten Bereichen wie Dynamic Adaptation und Networking.
#19
geschrieben 09. August 2004 - 19:14
+ Rückwärtskompatibilität
+ Nachfrage am Markt
+ Interoperabilität
Dies lässt sich wie folgt begründen:
Sun verfolgt mit Java seit der Version 1.0 die Philosophie, dass alle alten Programme stets unter den neuen Versionen von Java laufen. Aus diesem Grunde hat man mit Java keine lästigen Abhängigkeiten und muss nicht nach 2 Jahren einen kompletten Rewrite machen, weil irgendwelche C Libs in die Jahre gekommen sind.
Das führt einen gleich zur Nachfrage am Markt: Große Firmen setzen aus genau diesem Grunde auf Java und es ist nie schwer als Java Coder einen gescheiten Job zu finden, was beim 0815 Visual C++ Coder derzeit etwas schwer fällt, da derzeit bereits C# aktuell ist... C++ ist zwar nett gemeint, aber leider schon in den Jahren und desweiteren auch nicht sonderlich gefragt.
Zur Interoüerabilität lässt sich natürlich sehr positiv die adhoc Lauffähigkeit auf allen Systemen sehr positiv bewerten. Wenn du closed Source Software schreiben willst, die Plattformunabhängig funktioniert, muss man stets drauf achen nicht nur Windows und Linux kompatibel zu sein, sondern auch darauf zu achten 23/64 Bit zu unterstützen, Mac, Win, BeOS,Linux, Sparc, Risc,..... da sitzt du Monate dran deine Versionen für alle Systeme bereitzustellen.
Der Nachteil ist natürlich, dass man sich die Virtual Machine installieren muss, aber ich denke dies dürfte das kleinere Übel sein.
Anwendungen die auf Java basieren sind übrigens garnicht so selten. Die Eclipse Entwicklungsumgebung, oder das Zend Studio für die PHP Entwicklung sind zwei für mich sehr wichtige Dinge, die ich fast täglich einsetze. Auch die Webseite map24.de ist in Java geschrieben und zudem noch ziemlich gut gemacht. Weiterhin wirst du sehr viele Individuallösungen für Firmen halt in Java finden.
C/C++ ist in meinen Augen einfach die schlechtere Wahl, weil es keine nennenswerten Vorteile mitbringt und derzeit auch selten gefragt wird.
Sollten dich andere Plattformübergreifenden Sprachen interessieren, so empfehle ich dir grade unter Linux mal einen Blick auf GTK oder insbesondere Python zu legen, was grade in jüngster Vergangenheit zum schreiben von KDE Anwendungen in Mode gekommen ist und sich auch auf andere Plattformen portieren lässt.
Eine ganz einfache Geschichte sind Anwendungen in PHP-GTK, die vollen Desktopkomfort bei einer Sprache, wie sie einfacher nicht sein könnte, bietet... Die Welt ist groß und die Auswahl beträchtlich
#20
geschrieben 09. August 2004 - 20:51
ich hab noch eine frage, wird java auch zur spieleprogrammierung eingestzt?
EDIT: Ich hab mich jetzt doch umentschieden, ich werde jetzt java ausprobieren. danke für eure antworten
Dieser Beitrag wurde von mip.net bearbeitet: 09. August 2004 - 23:22
#21
geschrieben 10. August 2004 - 13:41
So far
Ich
#22
geschrieben 10. August 2004 - 15:48
#23
geschrieben 10. August 2004 - 18:21
Zitat
Das ist absoluter Unsinn und wir leider von zu vielen Leuten immer wieder propagiert.
Java ist beim ersten Start einer Anwendung etwas langsamer, weil erst in diesem Moment die Übersetzung in Maschinencode stattfindet. Dieser Code wird dann im Cache gespeichert und liegt genau wie ein c++ Programm im Maschinencode vor. Ab dann kannst du das Programm so oft starten wie du willst und er läd den Maschinencode immer aus dem cache.
Langsam wird jede Anwendung natürlich wenn man sie beschissen schreibt, oder sich lieber auf eine Garbage Collection verlässt anstatt Objekte sauber nach der Verwendung mit einem Ordentlichen destructor zu vernichten.
Ansonsten schreibe ich dir gerne jegliche Form von Anwendung in Java und sie wird messbar die gleiche Performance haben wie ein C++ Programm...
Zur Thematik von Java und Speed wurden übrigens sogar schon ganze Bücher mit guidelines geschrieben, die eigentlich alle im Grunde eine Aussage auf den Punkt treffen: Die Geschwindigkeit eines Programmes ist bei Java unmittelbar von der Sauberkeit des geschriebenen Codes abhängig.
Alles andere ist nur Propaganda von Leuten, die seit Java 1.2 keine specpapers mehr gelesen haben
Schönen Abend
Ich
#24
geschrieben 11. August 2004 - 11:20
ich, ohm java kann objekte freigeben? wie?
#25
geschrieben 11. August 2004 - 14:43
Uebrigens, wir sollten aufhoeren Java und C++ zu vergleichen, weil das sind Aepfel und Birnen. Wenn vergelichen, dann C# und Java.
Dieser Beitrag wurde von skonrad bearbeitet: 11. August 2004 - 14:43
#26
geschrieben 11. August 2004 - 17:10
destruct() ? oder wenn man es nicht so hart machen will detach() ....
#27
geschrieben 12. August 2004 - 17:01
Zitat
Java Programme werden bei JEDEM Start von der virtual machine (JVM) interpertiert. Mit einem JIT (just in time compiler) werden manche Stellen direkt in Maschinencode übersetzt, aber eben immer noch bei jedem Programmstart.
Zitat
Das glaub ich aber kaum. Eine Swing-Oberfläche wird immer etwas träger reagieren als ein VC-Äquivalent (wobei Swing natürlich auch viel flexibler ist). Und wenn es um number crunching geht ist C++ so gut wie immer überlegen (gleiche Hardware vorausgesetzt).
Java ist weitaus portabler als C++ aber eben auch langsamer. Also wenn Du wirklich mal professionelle Spiele programmieren willst ist C++ erste Wahl. (Doom 3 ist ja auch nicht in Java). Aber Du kannst auch in Java 3D Spiele schreiben, aber eben ohne High-Tech Grafik.

Hilfe
Neues Thema
Antworten
Nach oben



