Diskussion:Java/Allgemein
Aus Scientia
Version vom 29. März 2010, 19:04 Uhr von Ankou (Diskussion | Beiträge)
>>Da aber die JVM in vielen Threads abläuft, gleicht es diese Geschwindigkeitsnachteil gleich wieder auf, es bedeutet, das Java Programme vorallem unter Multicore CPUs einen geschwindigkeitsschub bekommen.
- Ab hier wirds Zweifelhaft. Wieso? Sequentielle Programme werden trotzdem nur sequentiell abgearbeitet und dass etwaige Hintergrundaktionen ausgelagert werden gleicht im Vergleich zu C++ gar nichts aus, weil C++ keine Hintergrundaktionen hat.
- Viel wichtiger für die Geschwindigkeit sind doch die fehlenden Optimierungsmöglichkeiten von C++, wie statisch allokierte Variablen, inline Funktionen, Template-Metaprogrammierung, manuelles Speichermanagement und notfalls auch inline-asm.
- Und ausgeglichen wird auch sonst nichts, normale Programme laufen statistisch unter C++ schneller - ist halt so, ist unwichtig, aber ist so.
- Naja, inline Funktionen und statische Variablen gibt es in Java genauso. Ich würde nicht unbedingt sagen, dass C++ schneller als Java ist, es lässt sich einfach nur besser optimieren. In der Praxis ist dieser Unterschied für den Großteil aller Programme dennoch nicht relevant. Der Punkt "ist relativ langsam" hat imo in Nachteilen nichts verloren - das ist einfach nicht richtig so.
- Allerdings kann man sich generell überlegen ob diese Vorteile/Nachteile-Liste überhaupt Sinn macht. Warum ist Objektorientierung ein Vorteil? Und Einsteigerfreundlichkeit bringt letztlich auch nur Einsteigern etwas, während erfahrene Programmierer sich über die Einengung ihrer Möglichkeiten in Java ärgern. Plattformunabhängig ist theoretisch jede Sprache. In der Praxis ist das trotzdem eine Utopie. Ich bin dafür diese Liste ganz zu entfernen. Sinniger wäre eine Aufzählung von Sprachmerkmalen.
- --KaiD 19:40, 28. Mär. 2010 (UTC)
Wann oder wie allokiert Java denn Objekte statisch? Auch stell ich mir die Frage ob der Artikel hier überhaupt Sinn macht => Wikipedia.