Wofür wird C++ heute noch eingesetzt?
-
Old Europe schrieb:
Rustiger schrieb:
Man will keine Speicherfehler mehr. Sie sind aber in der Lage Aufgaben die C++ zugesprochen wurden zu meistern. Das ist neu und macht den ewig Gestrigen natürlich Angst, weil ihre Sprachwahl wohl möglich nicht mehr die beste sein wird.
Du erteilst deinen Argumenten mehr Gewicht, wenn du uns beleidigst und uns als ewig gestrige abstempelst. Weiter so!
Ich kenn zwar Rust nicht, aber ich denke auch, man muss mit der Zeit gehen, sonst muss man irgendwann mit der Zeit gehen. Die Zeit von C++ (wenn es denn jemals eine gab?) waren die 90'er. Sicher gibt es noch genug Legacy Produkte, die gepflegt werden wollen, genauso wie es ja auch noch COBOL Anwendungen in der Wildnis gibt, aber wenn einige hier schreiben, C++ macht bald ein Comeback, dann ist das doch wohl eher das Wunschdenken eines ewig Gestrigen...
-
Das rumhacken der Rust-Fanboys auf angeblichen Speicherzugriffsfehlern ist ebenso doof wie damals das Rumhacken der Java-Fanboys auf angeblichen Speicherlöchern, sie es damals ebensowenig gab.
-
Aber mit Rust gibts doch noch weniger
-
Swordfish schrieb:
Aber mit Rust gibts doch noch weniger
Ja, typisch. Die wollen einem weniger für mehr verkaufen. Ganz schlechtes Preis/Leistungsverhältnis.
-
volkard schrieb:
Das rumhacken der Rust-Fanboys auf angeblichen Speicherzugriffsfehlern ist ebenso doof wie damals das Rumhacken der Java-Fanboys auf angeblichen Speicherlöchern, sie es damals ebensowenig gab.
Es ist dennoch bei grossen Projekten, insbesondere historisch gewachsenen das Problem, dass man an vielen Stellen nicht genau weiss, wann man den Speicher nun freigeben soll und dadurch in seltenen Faellen Use-After-Free bekommt. Als Beispiel hat einer von Rust-Team ne Audiolibrary von Firefox gebracht, in der es 18 sicherheitskritische Luecken gab und alles Buffer overflow oer Use-After-Free. Keine davon haette der Rustcompiler zugelassen, solange man keinen Murks mit unsafe-Bloecken macht.
-
Reden wir jetzt von C?
-
Warum muss alles immer zu einer Rust Diskussion ausarten? Warten wir doch einfach paar Jahre ab, dann ist Rust endgültig in die Vergessenheit geraten und es gibt keinen Grund mehr, das bei jeder passenden und unpassenden Gelegenheit zu erwähnen.
Ich glaube, grad die komplexen Fälle in C++, wo es tatsächlich noch Speicherprobleme geben kann, wären in Rust genauso problematisch. Natürlich kann man mit dem Borrow System paar einfache Fälle abfangen. Aber bei allem, was etwas komplexer ist, wird der Programmierer sagen, ähm nein, das will ich aber so haben und es ist auch richtig so, und unsafe davor schreiben.
-
Ich kann mich an viele Threads hier erinnern, wo bei Probleme mit C-Programmen geraten wurde doch lieber C++ einzusetzen. Nun ist ein neuer Mitspieler der Systemsprachen an Bord und für Firmen wie Mozilla lautet dann der Rat bei C++-Problemen lieber Rust zu verwenden. Nur durch die Unzulänglichkeiten von C++ ist Rust erst geboren worden.
-
Das spielt keine Rolle. Kaum jemand hier ist ein blinder C++ Jünger. Es ist einfach sehr sehr unwahrscheinlich, dass sich Rust durchsetzt, von dem her ist es einfach nur nervig, ständig damit konfrontiert zu werden. Wenn das in zehn Jahren gewisse Marktanteile hat, können wir wieder drüber reden. Wenn das in zwei Jahren komplett vergessen ist, wäre es Zeitverschwendung, jetzt ständig darauf eingehen zu müssen.
Und mittlerweile empfinde ich das in der Tat als lästig. Mir war Rust egal, hat mich persönlich nicht interessiert, hat mich aber auch nicht gestört und ich habs eher wohlwollend beobachtet. Mittlerweile bin ich davon aber einfach nur entnervt und sollte es irgendwann zur Diskussion stehen, werde ich mich sicher dagegen aussprechen.
-
Es kann nur einen Nachfolger von C++ geben und das ist (C++)++.
-
Erst mal muss ++C kommen.
-
RustvsCpp schrieb:
Nun ist ein neuer Mitspieler der Systemsprachen an Bord und für Firmen wie Mozilla lautet dann der Rat bei C++-Problemen lieber Rust zu verwenden. Nur durch die Unzulänglichkeiten von C++ ist Rust erst geboren worden.
Nun ist ein neuer Mitspieler der Sprachen an Bord und für Firmen wie Mozilla lautet dann der Rat bei C++-Problemen lieber Java zu verwenden. Nur durch die Unzulänglichkeiten von C++ ist Java erst geboren worden.
-
Klar kann man C++ immer weiter mir Flicken versehen, macht die Sache im Kern aber nicht sicherer, es hängt dann immer noch vom menschlichen(fehlerhaften) Faktoren ab, wie sicher das Produkt wird. Je mehr eine Sprache zur Compilezeit schon raus filtert, desto besser und das kann Rust weitaus geschickter als C++. Durch mehr Ausdrucksweisen kann auch der Compiler besser optimieren, was wiederum der Performance gut tut.
Klar kann man sich erst mit Rust auseinandersetzen wenn es wirklich erfolgreich wird. Ob das je der Fall sein wird, weiß ich auch nicht. Die Sprache wirkt auf mich halt ziemlich genial, wie eine Befreiung aus den C++ Fesseln. Große und performante Projekte ist nun nicht mehr C++ vorbehalten und das finde ich gut.
Ich nehme mir halt die Zeit von Anfang an dabei zu sein. Selbst wenn ich auf das falsche Pferd gesetzt habe, so wird das Gelernte einen anderen Herangehensweise(OOP ohne Klassen, Traits, Slices, Pattern Matching, Ownership, Borrowing usw) beim Entwickeln mir sicherlich so einiges an Verständnis und neuen Sichtweisen bringen.
Viele der Sicherheitsempfehlungen, die hier immer den C++-Anfänger gezeigt werden, ist in Rust einfach Teil der Sprache und kann damit gar nicht verbockt werden...Ich finde das toll.
-
Troll.
-
volkard schrieb:
Troll.
-
Rustiger schrieb:
Ich nehme mir halt die Zeit von Anfang an dabei zu sein. Selbst wenn ich auf das falsche Pferd gesetzt habe, so wird das Gelernte einen anderen Herangehensweise(OOP ohne Klassen, Traits, Slices, Pattern Matching, Ownership, Borrowing usw) beim Entwickeln mir sicherlich so einiges an Verständnis und neuen Sichtweisen bringen.
Wenn du dein Verstaendnis foerdern willst, lern Haskell und C++. Rust ist einfach nur eine Mischung daraus und wenn du beides lernst, gehst du an beiden Seiten ueber das hinaus, was Rust dir bieten kann.
OOP ohne Vererbung (das meinst du doch mit "Ohne Klassen") hat C++ im Grunde auch. Traits kannst du auch schriftlich im Programmdesign formulieren, statt Slices verwendet man Random-Access-Iteratoren, Ownership ist das gleiche wie in C++ und Borrowing wird nicht statisch validiert, macht man im Prinzip aber auch so wie in Rust, wobei Clang auch ein sehr gutes Tool fuer die statische Fehlersuche hat.
Lediglich Pattern matching zur Laufzeit fehlt, dafuer hat man aber welches in den Templates, was Rust leider (noch) fehlt.
-
Jakob70 schrieb:
Hi,
wofür wird C++ heute noch eingesetzt? Ist es nicht in einer unbequemen Position zwischen C auf der einen und Sprachen wie C# oder Java auf der anderen Seite? Treiber und Betriebssysteme werden größtenteils in C programmiert. Das meiste Embedded auch. Windows Anwendungen und dergleichen werden in .NET/C# oder Java entwickelt. Wofür also noch C++ außer vielleicht für Computerspiele, wo ein managed Garbage Collector manchmal stört. Aber sonst gibt es doch kaum Gründe, die heutzutage noch für C++ sprechen, oder?
Viele embedded Projekte werden mit C++ gemacht, .NET und Java hingegen sind in dieser riesigen Sparte quasi nicht existent.
In C++ werden viele für Wissenschaft und Industrie wichtige Bibliotheken implementiert. Kaum jemand käme auf die Idee, Dinge wie OpenCV direkt in .NET oder Java zu implementieren.
Rust finde ich grundsätzlich eine interessante Entwicklung, mal was anderes nach der gefühlt 1000. GC+VM Interpretersprache. So nett die Sprache aber auch ist, solange nicht alle relevanten Bibliotheken portiert bzw. gewrappt sind sehe ich keinen Anlass von C++ nach Rust zu wechseln.
Nach einigen Jahren in der IT kann ich empfehlen, nicht jeden noch so tollen Hype ernst zu nehmen. Ich hab schon so oft gehört, dass C oder C++ tot seien. Trotzdem baut im Prinzip die gesamte IT Welt darauf auf. Der Python Interpreter ist sicher nicht in .NET geschrieben, und die .NET VM sicher nicht in Java. Nein, das baut dann eher auf C und/oder C++ auf.
-
Es hat doch auch keiner geschrieben, dass morgen C++ vom Acker ist. Nur ist Rust seit vielen Jahren ein Kandidat der, in zehn Jahren oder so, schon einige typische C++-Projekte übernehmen koennte.
Libs sind kein grosses Thema, da sogar die Objektdateien von C-Libs direkt gelinkt werden koennen. Die Wrapper sind wirklich ein Witz. Die 100 beliebtesten Libs zu wrappen ist locker in einem Jahr drin, viele sind ja schon in der Mache.
Ich rechne in zwei Jahren damit, das Rust schon um einiges bekannter sein wird. C++ wird dann irgendwann so wie das heutige C sein. Es wird es geben, aber nicht weil es so toll ist damit zu entwickeln, sondern wegen der Altlasten.
-
GutDing schrieb:
Ich rechne in zwei Jahren damit, das Rust schon um einiges bekannter sein wird.
So wie D?
-
Gregor schrieb:
GutDing schrieb:
Ich rechne in zwei Jahren damit, das Rust schon um einiges bekannter sein wird.
So wie D?
D hat mich nie interessiert.