PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java vs. C++


Snevsied
19.08.2005, 16:54
Die Sicht auf Sprachen soll aus der Sicht der Anwendungen erfolgen, keine Spieleprogrammierung!

Welche Sprache ist für euch die beste, bzw. die bessere. Welche Vorteile udn Nachteile hat die andere Sprache gegenüber eurem Favoriten?

Ich finde Java ist eine bessere Sprache, da Java auf jeden Fall eine bessere Fehlerbehandlung hat als C++ und kann auch universell eingesetzt werden, welches auch gleichzeitig das Nachteil ist, da ohne JVM läuft Java nirgends, und die JVM ist zurzeit noch sehr lahm, besonders wenn es um Swing oder AWT geht. Die Alternative heißt zur Zeit SWT, aber um es voll nutzen zu können, braucht man mind. 6 MB an zusätzlichen Bibliotheken. So wird schnell aus einem 20 KB Programm schnell ein Monster.

Atomic
19.08.2005, 17:09
C++ ist was die Sprache an sich betrifft ein Krüppel, verglichen mit Java.
Java ist eine endlos lahme Ente verglichen mit C++.

Wie wäre es mit einem C# vs. Java?
Dank dem Mono Projekt kann man in C# auch unter Linux programmieren.
Sowohl Java als auch .NET/Mono laufen auf "Virtuellen Maschinen".
Hinzu kommt demnächst Parrot. http://www.parrotcode.org/
Auch immer interessanter wird Python. http://python.org

Dexter
19.08.2005, 17:12
Da Java nicht zu meinem Sprachschatz der Programmiersprachen gehört kann ich mich nur für C++ aussprechen. Ist zwar schwerer zu lernen als manch andere Sprache und hat wie jede andere auch Vor und Nach-teile.
Hab aber in einem anderen Forum durchweg, oder überwiegent gutes über Java gehört, so dass ich sicher irgent wann mal nen Blick drauf werfen werde.

Snevsied
19.08.2005, 17:18
C# ist ja praktisch C++ Nachfolger, und wurde stark an Java angelehnt. Jedoch wurden Java und C++ lange als Konkurrenten angesehen und C# ja im Moment denke ich mal außer Konkurrenz ist :)

Edit:
Auch wenn man meint, dass die oder die Sprache die beste Programmiersprache ist, ist es eigentlich nicht so, da es im Auge des Betrachters liegt.
Obwohl ich z.B. Java gut finde, finde ich immer einen Grund über die Sprache zu schimpfen. Meistens sind das Kleinigkeiten, die vielleicht auf die JVM zuzuschieben sind.

boonz
19.08.2005, 17:37
Ich glaube, dass man jaum sagen kann, dass eine Sprache besser als die andere ist. Das kommt ganz auf den Programmierer an.
Also, dass C ausser Konkurreny ist, ich weiss nicht, schliesslich wurde z.B. PHP in C geschrieben.
Ausserdem bin ich vom KlassenPrinzip von C++ ueberzeugt, da es die Uebersichtlichkeit deutlich steigert!

Snevsied
19.08.2005, 18:06
Bloß C++ ist eine Hybridsprache, du kannst entweder OO schreiben oder anders(habs vergessen :(). Java hingegen ist reine OO Sprache.

boonz
19.08.2005, 22:15
Java und C++ sind gar nicht mal soo unterschiedlich- schließlich wurde Java streng genommen von C++ "abgeleitet".

Es gibt zwar viele Unterschiede wie z.B.

-Geschwindigkeit
-Java verfügt nicht über einen "Preprocessor", folglich auch nicht über befehle wie #define oder #include
-Java hat keine Pointer in dem Sinne
-C++ unterstützt das VOLLE Programm der OOP einschließlich der drei Säulen der objektorientierten Entwicklung: Kapselung, Vererbung und Polymorphie- ich glaube Java fehlt da etwas :D

Und trotzdem sind sie nicht unbedingt gravierend!
Ich habe selber gemerkt, als ich nachdem ich C++ gelernt hatte langsam auf Java umstieg, die Syntax sich SEHR ähnlich ist- Spezialisten sind der Meinung, dass man mit Beherrschung einer Sprache die andere zu 80-90% syntaktisch ebenfalls beherrscht-
also kann man ein gut/besser nur an den Unterschieden festmachen, oder?
Tja, und ich denke da kommt es wieder auf den Programmierer an- aber wer sich wirklich damit beschäftigt, wird recht schnell merken, dass man ohnehin gezwungen ist, beides zu lernen :(

=> Für mich bleibt es Geschmackssache ;)

Gluehwurm
30.08.2005, 23:55
Auch mit 110% Verstaendniss von JAVA, C++, etc. wird man dann mit den Lisp-Dialekten ins kalte Wasser geschmissen (denn die haben ja auch so was wie OO...)! Funktionale Sprachen haben durchaus noch ihre Daseinesberechtigung :daumen:
Zurück zum Thema: Die Mischung aus C++ und C macht's halt aus. Pointer-Gefrickel kann man wirklich effizient einsetzen. Gibt's halt in JAVA nicht. Dafür besteht nun mal die Moeglichkeit mit den Pointern richtig Unfug zu bauen (private ist in JAVA "richtig" private!).
Thema Mehrfachvererbung: In OO-Entwurfsmustern kann das bei JAVA schnell zum Nachteil werden (und das Interface-Konzept von JAVA "befriedigt" mich in dieser Hinsicht zumindest nicht ;) ).
Thema Geschwindigkeit: Nur mal den ACM-Programming-Contest anschauen :lol: (http://acm.uva.es/problemset/statusjudge.php)

Ach ja, warum ich trotzdem JAVA bevorzuge: Portabilitaet
(Eine Primzahlfaktorisierung auf meinem "Handy" ist mir 10eX mal lieber als ein sch*** JAMB* Irgendwas...)