# Objektorientiert und deshalb langsamer?



## StarSeven (23. Apr 2004)

Hallo, in der Schule hat heute zu mir jemand gesagt das Objektorientierte Sprachen langsamer sind.
Ich konnte das eigentlich nicht glauben, den warum sind sonst Sprachen wie C++, Delphi, C# bestimmt auch, oder? und nichtzuvergessen Java objektorientiert.
Stimmt seine Aussage nun?


----------



## Beni (23. Apr 2004)

Ganz unrecht hat er jedenfalls nicht: Objektorientierte Sprachen sind etwas langsamer, da sie mehr "Verwaltungsaufwand" haben.

Allerdings sind die heutigen Compiler sehr gut, und ein c++ Programm wird tatsächlich in einen Code übersetzt, denn man auch bei einer "direkteren" Programmierung fast nicht überbieten kann.

Zusätzlich könnte man ohne OOP einige Progis schon gar nicht mehr schreiben (oder nur sehr mühsam).

Bei Java ist das Problem, dass es eine interpretierte Sprache ist: Die VM (virtual machine) führt ein Java-Progi aus. Und da alles über diese VM abgewickelt wird, gibt es doch noch einige Geschwindigkeitseinbussen. Hat aber nichts mit OOP zu tun!

mfg Beni


----------



## StarSeven (23. Apr 2004)

Danke für die Antwport, warum Java nicht extrem schnell ist wusste ich, bloß ich dachte bei der Aufzählung einiger Objektorinitertrer Sprachen wollte ich in einem Java-Forum die Programmiersprache Java nicht weglassen  :wink:


----------



## Tobias (23. Apr 2004)

Naja, aber der zusätzliche Verwaltungsaufwand einer objektorientierten Sprache steht in keinem Verhältnis zu ihren Vorteilen: Der Abstraktionsgrad ist geringer (ja, geringer), wodurch es viel leichter wird, komplexe Systeme zu programmieren. Ohne OOP würde ich nicht Programmierer werden wollen...

mpG
Tobias


----------



## Grizzly (25. Apr 2004)

Der Quellcode von OO-Programmen ist - vor allem bei graphischen Anwendungen - um einiges übersichtlicher. Und die Abstraktion ist besser. Beides kann (muss aber nicht :wink: ) dazu beitragen, dass der Quellcode modularer und fehlerfreier ist.

Aber natürlich zu dem Preis, dass die Programme etwas langsamer sind.


----------



## L-ectron-X (27. Apr 2004)

Die Compiler werden bei jeder neuen Java-Version in ihrer Performance verbessert.
In der c't habe ich mal über einen Vergleich gelesen, in dem Konsolenorientierte Java-Programme in puncto Geschwindigkeit den Konsolenorientierten C++/C#-Programmen in nichts nachstehen, ja sogar teilweise schneller sind.
Leider trifft das nicht unbedingt für Swing-Programme zu, die werden nämlich von ihren Konkurrenten abgehängt.


----------



## Grizzly (28. Apr 2004)

L-ectron-X hat gesagt.:
			
		

> [...]Leider trifft das nicht unbedingt für Swing-Programme zu, die werden nämlich von ihren Konkurrenten abgehängt.



Das könnte unter anderem mit dem hohen Abstraktionsgrad der Swing zusammenhängen. Borland Delphi's VCL hat bspw. nicht so einen hohen Abstraktionsgrad und ist auch etwas schneller.
Und ob der hohe A. der Swing positiv oder negativ ist, darüber kann man sich streiten. :wink:


----------

