Manuel Rodriguez <
a...@gmx.net> writes:
>Angeblich ist jede andere Sprache besser und einige würden
>sogar Forth nutzen bevor sie sich mit C++ anfreunden.
In manchen Fällen ist C++ besser geeignet, in anderen
weniger gut. Man kann wohl kaum pauschal sagen,
daß C++ immer die beste oder schlechteste Wahl ist.
>Angeblich ist C++ schwer zu lernen
"Wenn man es mit anderen Sprachen vergleicht,
ist C++ tatsächlich schwer gut zu erlernen."
Bjarne Stroustrup
www.heise.de/developer/artikel/Interview-mit-C-Schoepfer-Bjarne-Stroustrup-2300861.html?artikelseite=2
>und ist auch nicht viel schneller als Java.
C++ ist nicht schneller als Java, sondern C++ gibt dem
Programmierer die Mittel an die Hand, ein C++-Programm
schreiben zu können, das schneller als ein entsprechendes
Java-Programm ist.
>Warum also noch mit C++ herumprobieren wenn es doch viel
>bessere Sprachen wie z.B. Go oder Python gibt?
Und in welchen Sprachen sind die implementiert?
Das Oracle JDK ist wohl in C++ implementiert.
[Python]
>startet nur langsam, es ist nicht kompatibel mit Windows und
>Linux und die Thread Unterstützung ist mäßig.
Ich verwende hier unter Windows ein Programm, das man am
ehesten als eine Art von Systemprogramm bezeichnen könnte,
und es ist in Python geschrieben (nicht von mir). Ich kenne
kein anderes Programm, welches das von mir Benötigte tut
außer diesem Python-Programm. Und es arbeitet einwandfrei.
Und ich konnte - obwohl ich zu diesem Zeitpunkt kein Python
gelernt hatte - schon einige Änderungen am Programm vornehmen.
>Java eine wunderbare Sprache. Man kann damit super-business
>Anwendungen bauen die überall laufen und anders als bei C++
>muss man sich auch nicht mit Zeigern herumärger.
Laut Java Language Specification gibt es in Java "pointers".
>Aber wehe man will mit Java ein Spiel basteln. Dort rächt
>sich der Verzicht auf Pointer bitterlich, das Spiel wird bei
>30 fps immernoch ruckeln wie der Teufel.
Minecraft wurde ja ursprünglich in Java programmiert.
Aber für (professionelle) Computerspiele (in dem typischen
Stil) ist C++ tatsächlich die beliebteste Sprache.
>Letztlich wird man egal mit welcher Programmiersprache man
>startet am Ende wieder bei C++ landen. Nur C++ erzeugt
>saubere EXE oder ELF Dateien,
Bei TIOBE und anderen Stastiken liegt C immer noch
deutlich vor C++.
Python ist wohl beispielsweise in C implementiert.
>Bei der C++ Version hat man eine ausführbare Binärdatei, die
>man dem Betriebssystem übergibt und die wird dann ausgeführt.
>Da gibt es keine Rückfragen ob der Python Interpreter läuft
>oder ob die Java Runtime Edition die neueste ist. Da gibt es
>nur die Applikation und die CPU.
Manchmal wird dem Endanwender gesagt: "Bitte prüfen Sie, ob
'Microsoft Visual C++ 2013 Redistributable Package'
installiert ist und installieren Sie es gegebenenfalls,
bevor Sie unser Programm starten!".
Wahrscheinlich kann man Bibliotheken auch /statisch/ mit
einem C++-Programm verbinden, aber dann wird dieses
C++-Programm vergrößert und profitiert nicht von den
Vorteilen von Laufzeitbibliotheken. Beispielsweise
wirkt sich eine Sicherheitsaktualisierung in einer
Laufzeitbibliothek nur auf binäre Programm aus, welche
sich dynamisch mit dieser verbinden.