Java Ja/Nein?

Und das mit Plattforumunabhängigkeit stimmt doch auch nicht ganz... Ich weiß, dass es möglich ist, einfache Programme in C++ so zu schreiben, dass sie auf Linux kompiliert auch laufen... Aber andere Betriebssysteme... und Außerdem, mit den einfachen Grundelementen lässt sich nie und nimmer eine plattformunabhängige GUI-Anwendung programmieren.

AFAIK.
 
In C++ gibt es mehr Möglichkeiten auf Betriebssystem spezifische Dinge einzugehen:
z.B. DirectX, GUI Forms

Der Sourcecode von C++ kann auch platformunabhängig sein(weitesgehend), wenn man sich an gewisse Regeln hält und z.B. noch wxWidgets oder OpenGL benutzt. Und wenn man platformunabhänig programmieren will, sollte man sich am gcc Compiler halten.
Die Binary kann nicht platformunabhängig sein.

Bei Java gibt es auch ein paar OS spezifische Dinge, die man beachten muss bei der Programmierung, aber die kann man an einer Hand abzählen.

ansi C/C++ (nicht C#) ist immer noch eine der Grundlagen der Programmiersprachen, in dem heutzutage immer noch das meiste programmiert wird.

ansi C ist hauptsächlich in Linux/Unix sehr verbreitet. C++ hauptsächlich unter Windows, aber auch immer mehr unter Linux/Unix.(KDE ist komplett C++, Gnome in C).

C# (aus der .Net Platform) nimmt leider auch eine immer größere Stelle bei den Firmen ein. Vorallem bei der GUI Programmierung.
 
@Billie
Und das mit Plattforumunabhängigkeit stimmt doch auch nicht ganz... Ich weiß, dass es möglich ist, einfache Programme in C++ so zu schreiben, dass sie auf Linux kompiliert auch laufen.

Und wo ist da die Plattformunabhängigkeit wenn man das Programm erst noch kompilieren muss, das macht ja erst die Plattformabhängigkeit.
Man kann zwar ein C++ Programm in Ansi schreiben das heisst aber nicht das es plattformunabhängig ist.

Java ist ein sehr schöne Sprache wie ich finde, es gibt sehr viele Möglichkeiten.
Nachteilig sind mir bisher die Druckfunktion aufgefallen. Und für Echtzeitanwendungen ist die Sprache aufgrund des GrabageCollectors auch nicht geeignet. (Aber dafür gibt es auch schon Lösungen).

viele Grüsse munuel
 
Hallo,

Und das mit Plattforumunabhängigkeit stimmt doch auch nicht ganz... Ich weiß, dass es möglich ist, einfache Programme in C++ so zu schreiben, dass sie auf Linux kompiliert auch laufen.
Damit C++ Programme unter Linux laufen müssen sie aber speziell für für Linux kompiliert sein. Will man das selbe Programm dann unter Windows laufen lassen muss es auch hierfür speziell kompiliert werden. Es gibt (AFAIK) Compiler die sowohl Windows als auch Linux binaries erzeugen können, was natürlich in viel größeren Binaries resultiert, da dort dann u.U. ziemlich viel doppelt vorkommt.

Der Vorteil von Java ist hier ganz klar, das Java Programme (sofern sie keine großartigen Betriebssystemspezifischen Features verwenden) eben nicht für jede Platform neu kompiliert werden müssen. Eine einmal kompilierte Java Anwendung läuft nach dem Prinzip "Write Once Run Anywhere" automatisch auf jeder Platform für die es die entsprechende JVM Version gibt. (Okay das mit dem WORA hat natürlich Grenzen (Öfters gilt hier WODA Write Once Debug Anywhere) ;-)

Gruß Tom
 
Und das mit Plattforumunabhängigkeit stimmt doch auch nicht ganz... Ich weiß, dass es möglich ist, einfache Programme in C++ so zu schreiben, dass sie auf Linux kompiliert auch laufen... Aber andere Betriebssysteme... und Außerdem, mit den einfachen Grundelementen lässt sich nie und nimmer eine plattformunabhängige GUI-Anwendung programmieren.

AFAIK.

genau das hab ich doch geschrieben. ?
 
Naja, dass Java mehr Leistung braucht, das kann wirklich niemand bestreiten -.- ...
C++ kenn ich mich nicht so sehr aus, aber ich denk das braucht ein wenig eingewöhnung und dann ist nicht schwerer als Java, allerdings ist Java sicher nicht schwer zu erlernen... allerdings von büchern lernen hat mir nie sehr geholfen.


Programmieren in Java ist fein, allerdings eine schöne Benutzeroberfläche zu machen ist afaik nicht sehr einfach.
Java-Programme meide ich eigentlich wegen zusätzlichen RAM-Verbrauch

(und ich bin immer noch der Meinung C++ braucht weniger Resourcen)
 
Hust, das hab ich jetzt mal überhört. Erwiesener Maßen schlägt Java mittlerweile C++ um längen ;-) ...

Java hat etwas aufgeholt. Mehr aber nicht

C++ ist erste Wahl wenn man zeitkritisch programmiert. Ich habe früher bei einem Ingenieurbüro gearbeitet wo zeitkritische Steuerungssysteme auf Realtime-OS programmiert wurden. Da ist C++ (und teilweise sogar inline Assembler) absolut Pflicht.

Auch wenn man hier mit Swing sich Oberflächen zusammenbastelt ist man mit C++ idR deutlich schneller. Inzwischen arbeite ich bei einer Firma, die grafische Frontends für Großrechnerapplikationen baut. Wir haben sowohl Java-Applications als Runtimes als auch eine Win32-C++ Anwendung. Java ist deutlich langsamer.

Dennoch hat es sich bei unseren Kunden durchgesetzt, da die Vorteile überwiegen und bei geeignetem Rechner der Geschwindigkeitsunterschied keine Rolle spielt.

Aber die obige Aussage ist auch heute noch unpassend. Nur eines scheint sich abzuzeichnen, Java macht immer mehr Boden gut. Aber gerade wenn es um Kernel, Treiber, oder Spezialanwendungen (Echtzeitsteuerung) geht, dann kommt man an C++ nicht vorbei.
 
Zurück