Warum Java vom Prinzip her schneller als C++?


  • Mod

    Verwirrter schrieb:

    Man hört ja immer wieder dass Java vom Prinzip her schneller sei als C++.

    Naja, es ist eine falsche Aussage, wenn man sagt, dass Java vom Prinzip her schneller als C++ sei. Realistischer ist folgende Aussage: Java könnte vom Prinzip her in bestimmten Situationen bestimmte Codeteile schneller ausführen als ein C++-Programm ausgeführt wird. Diese Aussage gilt aber natürlich auch andersherum. Wenn man soetwas pro-Java sagt, dann bezieht man sich meistens darauf, dass Java Optimierungen zur Laufzeit durchführen könnte, die ein C++ Compiler nicht zur Compilezeit durchführen kann. Zum Beispiel Inlining bei vorhandener Laufzeitpolymorphie. Aber das ist nur ein ganz theoretischer Aspekt. In Wirklichkeit wird bei Java sehr sehr wenig optimiert. Es gibt zum Beispiel noch keine Vektorisierungsoptimierungen:

    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6340864

    Etwas, was bei C++ schon da ist.

    Auch der Stack wird noch nicht so ausgenutzt, wie er genutzt werden könnte:

    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6336351

    ...also keine Lösung für ein Performanceproblem, das man bei C++ so gar nicht hat.

    Mit anderen Worten: Man holt bei Java längst nicht das raus, was man rausholen könnte. Und diese Feststellung bezieht sich sicher nicht nur auf Java. Bei C++ wird es genauso aussehen. Die Compiler, die man hat, liefern halt keine perfekten Ergebnisse. Und insofern sollte man da von solchen theoretischen Betrachtungen, wie sie bezüglich der Performance oft vorgebracht werden, eher absehen. Die theoretischen Möglichkeiten werden einfach nicht erreicht und es ist eher die Frage, wer näher an diese herankommt. Man muss also nachmessen, sonst kann man in diesem Umfeld keine sinnvollen Aussagen treffen.



  • Ich lach mich schlapp! Einige von euch glauben wirklich, der javac würde optimieren??! Schonmal den assemblierten Code analysiert? Also javac ist leider dumm wie Brot. Aber wie extrem dummes Brot.
    Mag ja sein, dass die RTE einiges rausschlagen kann, aber der erste Schritt zur vernünftigen Optimierung, ist doch ein optimierender Compiler.



  • Wollt nur mal sagen schrieb:

    Ich lach mich schlapp! Einige von euch glauben wirklich, der javac würde optimieren??! Schonmal den assemblierten Code analysiert? Also javac ist leider dumm wie Brot. Aber wie extrem dummes Brot.
    Mag ja sein, dass die RTE einiges rausschlagen kann, aber der erste Schritt zur vernünftigen Optimierung, ist doch ein optimierender Compiler.

    Du irrst dich. Das ist bewusstes Designziel, dass der javac nicht optimiert. Der javac hat u.U. weniger Informationen zur Verfügung als die Laufzeitumgebung, deshalb macht die das.



  • ein weiterer vorteil von java ist, dass der code plattformspezifisch optimiert werden kann. sprich: auf einen pc unter windows wird so optimiert, wie es unter windows auf einem pc am besten und schnellsten laufen kann und auf einem mac wird anders optimiert. in c++ müsste man nicht nur für jede plattform neu kompilieren, sondern höchstwahrscheinlich auch code für die entsprechende plattform ändern Λ



  • Das ist ja quatsch. Ich kann ganz einfach mit VC++ für jeden Prozessor speziell kompileren. Dann habe ich zwar z.B. drei EXE Dateien, kann aber beim Programmstart anhand der CPU-Erkennung entscheiden, welche EXE-Variante ich dem User laden soll. Davon würde der User nicht mal was mitbekommen. So hätte ich auch in C++ Programmen immer die optimale Variante.

    Klar, der Entwickler muß einen Arbeitsschritt mehr machen. ABer um ehrlich zu sein, hat man schon sooo viel zu tun um dem User ein vernünftiges Programm zu bieten, das fällt dann auch nihct mehr ins Gewicht.



  • Artchi schrieb:

    Das ist ja quatsch. Ich kann ganz einfach mit VC++ für jeden Prozessor speziell kompileren.

    das sagte ich ja, dann darfst du für jede plattform neukompilieren. und mit vc++ kannst du schonmal gar keine binary für nen mac erzeugen können 🙂

    aber auch das wird dir nicht die flexibilität geben können, wie wenn du direkt auf der zielplattform, auf der zielhardware und softwarekonfigurationen kompilieren kannst.



  • Roar schrieb:

    Artchi schrieb:

    Das ist ja quatsch. Ich kann ganz einfach mit VC++ für jeden Prozessor speziell kompileren.

    das sagte ich ja, dann darfst du für jede plattform neukompilieren.

    Egal, muss ich so oder so, werd meine Linux-Binary schwerlich auf Artchis Win32 zum Laufen kriegen 😉

    und mit vc++ kannst du schonmal gar keine binary für nen mac erzeugen können 🙂

    Bald ist ja Mac auch Intel-Land, dann brauch ich den Code nur noch unter Mac kompilieren und alles ist in Ordnung.



  • Die Java-Fans können mir noch so viel von Komfort beim Ausliefern erzählen, das ich einfach nur sagen kann, das wichtiger ist, was beim User funktioniert. Ich habe schon seeeehr viel Erfahrung mit Java (seit 2001), habe bisher das 4. Java-Projekt am Hacken. Immer im Schnitt 3000 User im Konzern. Und scheiß auf das einfache einmal kompilieren, wenn z.B. Java 1.5 auf WinXP Pro SP2 auf manchen Druckern nicht funktioniert!!!

    Vor zwei Wochen haben wir endlich auf Java 5 Runtime für unser aktuelles Projekt umgestellt. Tja, seit dem kann einer unserer User nicht mehr auf seinem Drucker drucken: Der Drucker weist den Druckjob ab, kommt als PrinterException. Nach einem ganzen Tag nach Fehlersuche, haben wir festgestellt, das er zur Zeit der einzige User mit SP2 ist. Jetzt braucht er wohl einen anderen PC.

    Hey, das ist nicht das erste Mal das irgendwas nicht funktioniert, in Kombination mit Java. Da sag ich nur: mir bringt es nichts, wenn beim User Probleme auftauchen. Da nehme ich mir lieber die Zeit unc kompiliere einmal mehr für ein Release.

    Ich finde, die Java-Fans sollten nicht immer so reden, als ob bei ihnen alles perfekt läuft. Denn das tun die Java-Fans immer. C++ ist immer umständlich und in Java geht alles angeblich wie von Geisterhand. Aber in Reallife sieht die Welt anders aus.


  • Mod

    Artchi: Ist es eigentlich sehr deprimierend, wenn man die ganze Zeit mit einer Sprache arbeiten muss, die man so überhaupt nicht leiden kann? Ich meine, wenn es nach dir ginge, würdet ihr das doch alles mit C++ machen, oder? Wer bestimmt das denn bei euch? Wahrscheinlich die Leute, die keinerlei Ahnung von den verschiedenen Technologien haben, heh?

    Inwiefern hälst du eigentlich C++ für die Anwendungsgebiete, die ihr da habt, besser geeignet? Meinst du, mit C++ kann es nicht vorkommen, dass irgendwo ein Drucker unter SP2 nicht funktioniert? Da glaube ich nicht so ganz dran.



  • Artchi schrieb:

    Die Java-Fans können mir noch so viel von Komfort beim Ausliefern erzählen, das ich einfach nur sagen kann, das wichtiger ist, was beim User funktioniert. Ich habe schon seeeehr viel Erfahrung mit Java (seit 2001), habe bisher das 4. Java-Projekt am Hacken. Immer im Schnitt 3000 User im Konzern. Und scheiß auf das einfache einmal kompilieren, wenn z.B. Java 1.5 auf WinXP Pro SP2 auf manchen Druckern nicht funktioniert!!!

    Vor zwei Wochen haben wir endlich auf Java 5 Runtime für unser aktuelles Projekt umgestellt. Tja, seit dem kann einer unserer User nicht mehr auf seinem Drucker drucken: Der Drucker weist den Druckjob ab, kommt als PrinterException. Nach einem ganzen Tag nach Fehlersuche, haben wir festgestellt, das er zur Zeit der einzige User mit SP2 ist. Jetzt braucht er wohl einen anderen PC.

    Hey, das ist nicht das erste Mal das irgendwas nicht funktioniert, in Kombination mit Java. Da sag ich nur: mir bringt es nichts, wenn beim User Probleme auftauchen. Da nehme ich mir lieber die Zeit unc kompiliere einmal mehr für ein Release.

    Ich finde, die Java-Fans sollten nicht immer so reden, als ob bei ihnen alles perfekt läuft. Denn das tun die Java-Fans immer. C++ ist immer umständlich und in Java geht alles angeblich wie von Geisterhand. Aber in Reallife sieht die Welt anders aus.

    Klar gibt es mit Java auch Probleme. Aber ich hatte bis jetzt den Eindruck, dass es mit Java zumindest WENIGER Probleme bei den Endusern gibt als z.B. mit in C++ entwickelten Programmen.



  • Was ich in diesem Thread hier loswerden wollte: Meiner Ansicht nach hat "Wollt nur mal sagen" recht. Ihr werdet feststellen was er meint, wenn ihr mal get-Methoden in gestaffelten Schleifenaufrufen verwendet (z.B. DFT-Algo etc.). Ein C-Compiler optimiert sowas weg, da sich die initial-value nicht ändert. Javac hingegen, ignoriert das vollkommen. Und die (aktuelle) JVM optmiert das auch nicht weg. Da muss also noch einiges getan werden.



  • ich glaube die Java VM wird immer noch mit Visual C++ 6 compiliert!!!!!! (steht in nem Fehlerlog) das sollte sich auch mal ändern.



  • Gregor schrieb:

    Artchi: Ist es eigentlich sehr deprimierend, wenn man die ganze Zeit mit einer Sprache arbeiten muss, die man so überhaupt nicht leiden kann? Ich meine, wenn es nach dir ginge, würdet ihr das doch alles mit C++ machen, oder? Wer bestimmt das denn bei euch? Wahrscheinlich die Leute, die keinerlei Ahnung von den verschiedenen Technologien haben, heh?

    Es ist eher depremierend, das Java als Hyper-Super-Duper-Mega-geil dargestellt wird und C++ als C das zufällig ein Schlüsselwort class hat. Ich rede jetzt nicht speziell über dieses Forum, sondern das was mir in Reallife regelmäßig begegnet. Was meinte der Kollege (vor zwei Jahren von der TU Braunschweig gekommen) vor einem Monat zu mir: "Gibt es in C++ überhaupt eine Sortierfunktion?" 😮 Das wahr keine sarkastische Frage, sondern eine ernste!

    Ich habe hier letzte Woche von EMS den neuesten SQL Manager installiert. Der sieht von der GUI her seeeeehr stylisch aus (ggü. der alten Version), also wirklich sehr bunt mit, Docking und haste nicht gesehen. Was meinte ein anderer Kollege zu mir, als er mich damit rumspielen sah? "Ist das die neue .NET-Version vom SQL Manager?" 😮 Nein, es ist immer noch eine native Win32-Anwendung, die wahrscheinlich in C++ entwickelt wurde. Antwort vom Kollegen: "Hem, die GUI sieht mittlerweile so gut aus. Ich hätte jetzt gedacht das ist C#..."

    Ich möchte betonen, das es alles auch programmierer sind, die mir sowas an den Kopf knallen. Nur halt alle die kein C++ kennen.

    So, jetzt stelle man sich vor, jemand kan garnicht programmieren. Was soll der dann über C++ denken??? 😞 Und ja, es sind Manager die die Konzernstandards (Sprachen, Frameworks, Datenbanken usw.) festlegen. Meistens spielen da keine technischen Gründe eine Rolle, sondern politische. Ich kann da Stories erzählen, da fällt ihr vom Stuhl! Wir haben erst letztens versucht Netbeans-Platform als Framework zu etablieren. Stattdessen wird ein Framework von einer braunschweiger Firma vom Konzern favoriesiert, wo zur Zeit EINE Person dran entwickelt. Natürlich hat die Firma ein Nachfolgeprojekt auf diesem Framework erhalten.

    Meine schöne Powerpoint-Präsi mit dem Netbeans-Eigenschaften wurde von den Konzern-Architekten mit dem Argument abgeschmettert: "Sie können mir noch so viele Vorteile nennen, das Framework ******** ist jetzt gesetzt." Mein Kollege fragt nach: "Aus welchen gründen?" Konzern-Architekt: "Es sind politische Gründe."

    Es gilt auch folgende Regel: Es werden nur Produkte von Firmen eingesetzt, die mind. 25 Jahre auf dem Markt existieren. Datenbank-Produkte wie Poet, ObjektStore, Cache (Intersystems)... die ja wirklich himmlich für einen OO-Entwickler sind, haben aus einem Grund hier keine Chance: die Firmen sind nicht lange genug auf dem Markt. Deshalb wird nur IBM DB2 und Oracle eingesetzt. Egal ob schlecht oder veraltet. Konzernweit wohlgemerkt.

    Java und andere Produkte werde nicht eingetzt, weil sie besser sind. Es spielen politische Gründe... sprich Geld.

    Gregor schrieb:

    Inwiefern hälst du eigentlich C++ für die Anwendungsgebiete, die ihr da habt, besser geeignet?

    Einiges kann man sicherlich weiterhin in Java machen. Aber manchmal kommt Java an seine Grenzen und dann klingelt das Telefon: "Warum dauert das so lange? Warum fehlen diese Funktionen, die ich in allen anderen Win-Programmen habe? Warum...."

    Gregor schrieb:

    Meinst du, mit C++ kann es nicht vorkommen, dass irgendwo ein Drucker unter SP2 nicht funktioniert? Da glaube ich nicht so ganz dran.

    Ja, denn komischerweise kann der User mit allen anderen Programmen auf diesem Drucker drucken. Ja, selbst vor der Java5-Umstellung konnte er mit unserem Programm auf dem Drucker drucken. Erst mit Java5 streikt dieser.

    Ich sage nicht, das C++ perfekt ist. Aber alle denken, das es Java ist. Und ich habe im Sommer 2000 meinen ersten Java-Tag gehabt, 2001 gings knall hart los. Wir haben User in Deutschland, England (Bentley), in Tschechien (Skoda), in Spanien (Seat) in Mexiko usw. Und von fast überall gabs schon mal Anrufe oder Mails, das etwas Java-spezifisches nicht funktioniert.

    Auf einem Webserver, wo JSP oder Servlets laufen, mag alles i.O. laufen. Weil diese Sachen auf einem speziellen Rechner laufen. Aber sobald komplexere Java-Clients auf vielen PCs, weltweit laufen müssen, ist es aus mit der schönen Java-Welt.



  • Bezahlt Sun einer Firma Geld dafür wenn sie Java benutzt?



  • Achja, noch ne nette Story, die nicht direkt was mit Java zu tun hat. Ich war mal auf einer Cache-Intersystems Tages-Schulung, weil mich OO-Datenbanken sehr begeistern. Im Gespräch mit einem der dt. Intersystems-Manager kam heraus, das diese mehrmals versucht haben Cache bei unserem Kunden rein zubringen. Sogar für die erste Zeit (Jahre?) kostenlos. Denn so ein Mega-Konzern kann sich langfristig auszahlen. VW hat ihnen aber keinen Hauch einer Chance gegeben. Er meinte, die Argumente die für Cache sprechen, waren praktisch nicht von interesse.

    Ich kann nur sagen, das ist eine Erfahrung die ich auch gemacht habe.

    Und glaubt mir, unser Kunde ist nicht die Ausnahme auf diesem Planeten. Politik (was das in der Wirtschaft heißt, hab ich schon oben gesagt) spielt eine viel größere Rolle.







  • JavaImNetz schrieb:

    http://www.bash.org/?338364

    Java und Anal is ja auch geil 😃 👍



  • tipp schrieb:

    ich glaube die Java VM wird immer noch mit Visual C++ 6 compiliert!!!!!! (steht in nem Fehlerlog) das sollte sich auch mal ändern.

    Wusste gar nicht, dass das Teil ELF Binaries erstellen kann... 😮

    @artchi: Du hast in vielen Punkten recht und ich stimme Dir auch zu, aber Du redest nur von win32. Für unsere Kunden spielt ein ganz anderer Gedanke eine wichtige Rolle: "Können wir vielleicht in 2-5 Jahren damit auf Linux migrieren?". Und genau diese Frage kommt immer und immer häufiger. Dann wird es auch mit C++ nicht mehr so schön möglich sein, weil dann Frameworks wie Qt ins Spiel kommen und Du damit die selben Probleme hast.

    Linux ist auch ein Teil von "Politik" in diesem Zusammenhang.



  • Ich surf grad hier vorbei, weil ich ein Problem mit Eclipse habe.

    Ich programmiere C++ auf Eclipse. Eclipse ist mehr etwas als ein einfacher Text-Editor, aber ich frage mich ernsthaft, ob das wirklich Produktivität bringt. Kaum ein Stündchen drangesessen, wird Eclipse so lahmarschig, dass ich rund 10 Sekunden warten muss, bis ich mal ein Wort getippt habe (Pentium 4 3,2GHz) Anschließend meldet sich Eclipse mit der Meldung, dass ich doch bitte Eclipse neustarten soll, es ist kein Speicher mehr da (1GB RAM installiert). Die - wenn's hoch kommt - 100kB Sourcecode (0.0001% des Speicherinhaltes) konnte er leider nicht mehr in aktueller Form abspeichern - wegen Speichermangel.

    Java als Sprache ist nett, aber nicht mein Ding. Ich hab's ausprobiert (V1.3), sehr schnell grobe Designfehler gefunden (+ und += haben unter 1.3 unterschiedliche Funktionalität, += benutzt ein implizites Casting, + nicht, spätestens in 1.5 behoben) und daher programmiere wieder in C++.

    Im Studium habe ich C++ als Tutor unterrichtet bei Leuten, die 2 Semester Java gelernt haben. Einmal kam jemand auf mich zu und sagte mir, dass er in dem paar Stunden C++-Tutorium überhaupt mal verstanden hat, was er da macht, wenn er programmiert. In Java hat das funktioniert, aber warum hätte er auch nicht erklären können. Das Tutorium war auf Informatikstudenten beschränkt.

    Java und C# (was ich Java vorziehe, weil es quasi Java mit der Möglichkeit ist notfalls auch C++ zu programmieren) sehe ich in vielen Dingen als Entwicklungsbeschleunigung zu C++ an. Wenn's schnell gehen soll, gibt es einfache Standardtechniken, um schnell Ergebnisse zu _sehen_. Mit Entwicklern, die nicht verstanden haben, wie Programmierung funktioniert, entstehen da optisch hübsche Anwendungen, die funktionieren, die man verkaufen kann, aber bei 1 GB RAM nicht in der Lage sind, 20 kurze Quelltexte im Speicher zu verwalten und bei Speichermangel die Änderungen wenigstens noch abzuspeichern, bevor die Anwendung explodiert.
    Ich kann in C++ - wenn die System-Umgebung nicht so will, wie ich will - immernoch alles machen, was ich will. Auch wenn ich vom System keinen Speicher mehr bekomme - was mir aber bei einem aktuellen Computer eigentlich nicht passieren kann, solange ich den Speicher nicht wie der letzte Idiot verschleudere.

    Vielleicht mal ein Vergleich: Mit GoldEd auf meinem alten Amiga mit 16MB RAM war ich produktiver als mit Eclipse. Die Software war zuverlässiger, resourcenschonender und schneller. Bis Ende 2003 habe ich mit 16MB bei 50MHz sehr angenehm programmiert. Auf'm Amiga gibt's kein Java.

    Einer meiner Profs - wirklich gaaaanz alte Schule - drückte das so aus: Programmierer werden schneller dumm, als Computer schnell werden.
    Ich hab's im Studium erlebt und ich erlebe es jetzt. Im Jahr 2000 hielt ich Java für eine Modeerscheinung - dann wurde ein Hype draus.

    Gute Software kommt von fähigen und gut ausgebildeten Programmieren, die wissen, wie ihr Werkzeug, egal ob C++ oder Java, funktioniert - und wo es nicht funktioniert.
    Und die Chance, dass ein Programmierer weiß, wierum der Computer getaktet ist, sehe ich bei einem C++ Programmierer eher als gegeben an, als bei einem Java Programmierer. Keine Sprache schützt vor der Dummheit der Programmierer und den Versuch als eine Lösung zu präsentieren ist der falsche Ansatz: Der Programmierer darf nicht dumm sein, wenn die Software laufen soll.

    Und eine Sprache, die "ohne die gefährlichen Zeiger" funktioniert und dafür die Möglichkeit Strukturen ineinander zu schachteln entfernt, um stattdessen ausschließlich Zeiger zu verwenden, löst ein Marketingproblem. Die Null-Referenz als Programmierproblem bleibt aber erhalten. Und ein Fehler in der GarbageCollection (Referenz auf bereits entferntes Objekt) kann der Programmierer nicht mehr lösen. Der steht mit xMB Sourcecode für ein Programm da, das nicht zuverlässig läuft. Wie behebt diesen Fehler, wenn man die aktuelle Java-Version installiert hat?
    Es gab' schonmal eine Sprache, die das Programmiereren vereinfachte: Basic. Programmiert heute jemand freiwillig in Basic? VisualBasic ist eine Krankheit und Purebasic macht sinnvollerweise gar nicht erst den Versuch eine objektorientierten Sprachen zu werden.

    Die "GIGANTISCHEN" Vorteile, dass Software (angeblich) portabel ist, hat P-Pascal schon nichts gebracht: Es hat nämlich keinen interessiert. Mir ist egal, ob ich eine Windows-, eine Linux- oder eine Mac-Version downloade - downloaden muss ich sie so oder so.
    Im Falle von Eclipse habe ich mir dann die Linux-GTK-Version gezogen (übrigens immernoch ein Java-Programm... portabel... höhö), dann schmierte das Ding laufend ab, weil Eclipse nicht unter GNU-Java läuft, also habe ich dann - als ich endlich raus hatte, was da schief läuft - noch mal die Sun-VM installiert.

    Portabilität ist gut, aber für Java nur ein Marketing Gag, denn wer hat sich hier schon für in Java entwickelter Software entschieden, nur weil es portabel sein sollte? Wo genau liegt der Vorteil, dass ich mir ein mehrere Megabyte schweres Betriebsystem-Kondom (Java-Runtime) zusätzlich zu meiner Software installieren muss?
    Für unterschiedliche Software brauche ich evtl. noch unterschiedliche Java-VMs. Die Firma, wo ich vorher war, lieferte die JavaVM gleich dazu, damit es nicht zu Problemen mit nicht ganz kompatiblen VMs kommt, die auf dem PC schon installiert sind. Was für ein Vorteil!

    In Embedded Systems wird Java dann auf C++ kaputtgebrochen (Garbagecollection aus, Speicher anfordern und brav von Hand wieder freigeben). Da könnte ich mir die Virtual Maschine auch direkt schenken, wenn ich stattdessen C/C++ genutzt hätte.

    Dann höre ich von Java-Entwicklern: Auf dem normalen PCs sind Resourcen (Prozessor und RAM) billiger als Entwicklungskosten. Programme wie OpenOffice oder Eclipse werden von Tausenden und Abertausenden verwendet. Das sind abertausende Gigabyte Festplatte, RAM und eine nicht einschätzbare Menge an Prozessorlast, die da verschwendet werden. Mein privates Laptop hab' ich gleich mit 2Gig ausgestattet - wegen Eclipse, solange ich Eclipse nicht benutze, aber KDE, Opera, Mailer, ICQ, MP3-Player und und und habe ich 1,7G Dateicache...

    Fazit: Java hat seine Existenzberechtigung - da wo es um schnelle und kurzzeitige Entwicklung geht oder wo eine einfache Möglichkeit gesucht wird, um einen komplexen Webservice anzubieten, wo PHP nicht mehr ausreicht. Da hat Java Stärken, da muss man in C++ mehr arbeiten, um das gleiche Ergebnis zu erziehlen (dafür belastet man dann aber evtl. auch den Server weniger). Bei großen Projekten (oder wenn man sich in C++ in die entsprechenden Libs eingearbeitet hat - obwohl man in Java ja auch nicht gleich alles wissen kann), ist C++ genauso schnell zu programmieren wie Java, aber kontrollierter und - bei einem fähigen Entwickler - resourcenschonender.

    Vielleicht noch passend am Rande: Meinen aktuellen Job hat man mir angeboten, weil man einen C++ Programmierer suchte. Ich portiere vorhandene Algorithmen nach C oder C++, weil die Originale zu langsam sind. Das aktuelle Projekt ist eine Neuentwicklung, weil die vorhandene Software zuviel Speicher verbraucht und die meisten Systeme hier noch 32Bitter sind, was bedeutet, dass selbst für die Neueren mehr als 3,5G nicht drin währen. (was für alle Rechner dann auch wieder was teuer wäre). Hier stehen noch genug 0,x und 1,x GHz Rechner mit 256/512M RAM...

    Manchmal ist der Entwickler doch billiger, als die Resourcen. Und wenn die Software nun auf C/C++ portiert wird, warum hat man sie dann nicht gleich in C++ geschrieben?
    Ob ich Java-Kenntnissen besitze, wollte keiner von mir wissen, als ich hier anfing.

    Soll jeder programmieren, was er für optimal für sein Problem einschätzt. Aber Java als die Lösung für alles zu propagieren und im gleichen Atemzug C/C++ schlecht zu machen, wirkt irgendwann lächerlich.

    Trotzdem propagiere ich inzwischen Java. Spätestens, wenn selbst Informatiker nicht mehr wissen, wie ein Computer arbeitet, werde ich mit guten C/C++ Kenntnissen und Erfahrungen sehr gut verdienen. Daher würde ich nie sagen, dass Java keine Vorteile mit sich bringt... 😎

    Bzgl. des Threadtitels: Alles eine Glaubensfrage - die Antwort findest Du in der Java-Bibel.


Anmelden zum Antworten