Referat: Java -> C++

Carndret

Erfahrenes Mitglied
Hallo zusammen!
Vielleicht kann mir einer von euch helfen.
Ich soll ein Referat bzw. einfach eine Einführung in C++ machen - für die Schule.
Bisher haben wir nur mit Java programmiert, durften aber jetzt endlich unser nächstes Thema selbst aussuchen. Da die Mehrheit für C++ war (und ich am längsten stur auf C++ geharrt habe :) ) "darf" ich nun die erste Stunde leiten, denn der Lehrer kennt sich selbst nicht so gut aus ... ich allerdings auch nicht so sehr :rolleyes: (sonst würde ich es ja nicht lernen wollen).

Nun bräuchte ich etwas Hilfe die Unterschiede von Java und C++ zu sammeln, sodass man einen Überblick hat, was C++ mehr kann/hat und was weniger.
Ich meine damit z.B die Zeiger, die es in Java nicht gibt und die anderen Dinge.
 
Nun der Hauptunterschied ist das C++ ein Hochassembler ist,
sprich C++ ist Maschienennah, Java ist eine höhere Sprache.

Diese Maschienennähe ist in Java nicht von vorteil weil
es ja eben plattformunabhängig sein sollte.

Ein weiterer Unterschied ist:
In Java wird streng OOP programmiert, mann wird förmlich dazu
gezwungen.
C++ sieht das anders aus. Du kannst OOP programmieren, musst dies
jedoch nicht, was leider oft unsauberer Code bedeutet.

Es gibt massenhafte Unterschiede in der Technik (hier Bytecode und Just in time Compiler dort Maschienencode)

Der Grundsätzliche unterschied ist, das einsatzspektrum.
C++ ist für schnelle Systemnahe Programmierung, aber hat
deutliche Schwächen bei Entwicklungsgeschwindigkeit und
Sicherheit (Buffer - Overflows) was durch vermurkste
Speicherverwaltung zu oft entsteht.

C++ bringt nicht von haus aus, ein den Java Klassen vergleichbares
Framework mit.

Wenn du es nicht bis morgen warten kannst,
werde ich dann meine "Ausführungen" erweitern :)
*keine Zeit mehr*
 
ich habe schon noch zeit (bis übernächste Woche Montag 17.)

Danke für deine Ausführung v1.0, so in etwa in diesem Rahmen wollte ich es auch wissen, aber nicht zu tiefgründig werden, sonst wird's komplex und irgendwann langweilig (für meine Klassenkameraden :) ).

Du kannst mitr natürlich auch ein paar Seiten angeben, wenn du nicht so viel schreiben willst ;) .
 
ich hab ja auch mal in java programmiert (lang ists her :rolleyes: )...

du könntest vielleicht auf die unterschiedlichen Einsatz-Gebiete eingehen.

bei java : geschäfts-und unternehmenssoftware meist für netzwerke
bei c++: oft grafische dinge wie 2D/3D-Anwendungen bei Unis zur Simulation oder halt bei Spielen
 
ich hab ja auch mal in java programmiert (lang ists her :rolleyes: )...
Ist das nicht eigentlich schon ein Widerspruch in sich? ;)

Java ist unter anderem entwickelt worden, mit besonderem Augenmerk darauf, dass die Vorteile von C++ übernommen werden ohne, dass die Nachteile weiter drin bleiben. Also sprich: Alles etwas sicherer machen, indem man Pointer rauswirft (Danke, Gott!) und wie gesagt die OOP aufzwingt. Allerdings geht es auch da noch etwas objektorientierter, wenn man sich Smalltalk dagegen mal ansieht - aber darum geht es hier ja nicht...

Ausserdem ist Java gut für Web-Anwendungen geeignet, da kann man mit C++ meistens schon wieder nach Hause gehen, bevor man angefangen hat.
 
jo, die java-zeit war ne schöne zeit :)

aber jetzt mach ich grafische sachen und da is mir das zu lahm.

außerdem hatt ich immer nur so nen 0/8-15 compiler bei dem man noch nen interpreter brauchte , sprich man hatte keine exe datei. :(

aber ich hatte mal ne test-version von VCafe ausprobiert. HERRLICH :)
 
außerdem hatt ich immer nur so nen 0/8-15 compiler bei dem man noch nen interpreter brauchte , sprich man hatte keine exe datei.
Ja, natürlich brauchst Du das bei Java immer. Das ist ja Sinn der Plattformunabhängigkeit. Beim compilieren wird nicht direkt schon Maschinencode erzeugt, sondern Bytecode. Und der wird dann nicht von der realen CPU verarbeitet, sondern von einer virtuellen Maschine (dem Interpreter). Das hat eben den Vorteil, dass diese virtuelle Maschine für alle möglichen Systeme vorhanden ist und deswegen jedes Java-Programm auf jedem Rechner läuft, auf dem auch diese VM installiert ist.
Nachteil ist, dass Java-Programme immer etwas langsamer laufen, weil sie erst zur Laufzeit selber von der VM interpretiert werden und die VM die Anweisungen dann an die reale CPU weitergibt.

Ausserdem hat sich Microsoft mit VJ++ (bzw. JDirect) da auch etwas quer gestellt, als in Java plötzlich die Möglichkeit bestand, direkt auf das Win32-API zuzugreifen - was ja überhaupt nicht im Sinne vom JDK und der Plattformunabhängigkeit ist... Microsoft eben. :rolleyes:
 
Vielleicht ist es noch interessant in deinem Referat über den Prozess gegen Microsoft zu sprechen.

Microsoft wurde dort ja fast zerschlagen. Aber eben nur fast. Jedoch wurde unter anderem bewirkt, das Microsoft ab jetzt Java in Windows INTEGRIEREN muss. Also wird Java noch mehr verbreitet.
 
Original geschrieben von KAY
jo, die java-zeit war ne schöne zeit :)

aber jetzt mach ich grafische sachen und da is mir das zu lahm.

außerdem hatt ich immer nur so nen 0/8-15 compiler bei dem man noch nen interpreter brauchte , sprich man hatte keine exe datei. :(

aber ich hatte mal ne test-version von VCafe ausprobiert. HERRLICH :)

Was will ich mit einer Exe datei auf unix?
exe ist eine Windows Krankheit.


jar Dateien lassen sich genauso per Mausklick ausführen wie Exe und das nicht nur auf Windows.

Das argument ist quatsch.

Für 3D Graphik ist Java nicht die lösung sondern wie du schon richtig gesagt hast:
für Business Applications.

@ Terrance & ..:
Ja das ist schon richtig, nur tut dies keinen Unterschied zu C++ herausarbeiten,
ausser das sie jetzt versuchen durch
"Managed C++" C++ so zu mutantieren (ähh verändern) das es eine schlechte Java /C# Kopie wird (C++ mit Garbage Collector usw) um ins .net Framework zu passen.
C++ Programmierer laufen Sturm weil Microsoft wieder versucht der Sprache ihren MS Stempel aufzudrücken.
Die MS - Propaganda Abteilung hat es ja schon geschaft das Anfänger schon von der Programmiersprache Visual C++ sprechen und er später darüber aufgeklärt werden müssen das Visual C++ nicht mehr als eine IDE ist und MFC eine Library und das C++ nicht von Microsoft erfunden wurde sondern wie fast alles den Ursprung auf Unix hatte (C wurde in verbindung mit Unix (er)gefunden)
Ein sehr interressantes Thema aber dennoch: Thema verfehlt.
 

Neue Beiträge

Zurück