Wofür wird C++ heute noch eingesetzt?



  • Falls du mich meinst, ja, das weiß ich. Deswegen sag ich ja, dass es sehr sehr unwahrscheinlich ist, dass es sich durchsetzt. Grad bei großen Projekten wird es keine Chance bekommen.



  • Gibt es denn überhaupt auch nur EIN großes und bekanntes C++Projekt, was nicht mit Speicherfehlern zu kämpfen hat? Das man theoretische sicher programmieren kann ist doch irrelevant in der Praxis, denn den 100% C++-Programmierer gibt es nur auf dem Papier und hier im Forum.



  • Zu kämpfen haben wohl die meisten nicht gerade, auch die Alten.
    Zb Spiele sind fast immer in C++ geschrieben und crashen sehr selten aufgrund von Speicherfehlern.



  • Ich meine mit kämpfen auch nicht, dass die Fehler gleich ersichtlich sind. Speicherfehler, die zum Absturz führen, sind ja auch leicht zu finden. Schwer sind die, die zu undefinierten Verhalten hervorrufen.



  • NewHope schrieb:

    Gibt es denn überhaupt auch nur EIN großes und bekanntes C++Projekt, was nicht mit Speicherfehlern zu kämpfen hat? Das man theoretische sicher programmieren kann ist doch irrelevant in der Praxis, denn den 100% C++-Programmierer gibt es nur auf dem Papier und hier im Forum.

    Gibt es denn überhaupt auch nur EIN großes und bekanntes Projekt, welches mit einer beliebigen Programmiersprache implementiert wurde, und nicht mit Bugs zu kämpfen hat?

    Es ist unrealistisch anzunehmen, dass Programme, die mit (...hier eine beliebige Programmiersprache einfügen...) implementiert wurden, fehlerfrei sind.



  • Es geht hier nicht um Bugs im Allgemeinen, sondern um spezielle Bugs. Und ja der Ausschluss der angesprochenen speziellen Memory-Bugs kann allein durch die Sprachwahl Rust garantiert werden, dass ist 100% und drei Fehlerarten davon kosten KEINEN Overhead.

    Lese dich doch bitte in das Thema ein, oder schau ein paar YT-Videos dazu an, dann weißt du auch warum es diese Fehler in Rust gar nicht geben kann. Das wird schon zur Compilezeit ausgeschlossen.



  • Heartbleed hätte es mit Rust gar nicht geben können, denn das war wohl eine ganz kleine Stelle an der ein Speicherfehler provoziert wurde und die halt übersehen wurde.



  • NewHope schrieb:

    Heartbleed hätte es mit Rust gar nicht geben können, denn das war wohl eine ganz kleine Stelle an der ein Speicherfehler provoziert wurde und die halt übersehen wurde.

    OpenSSL ist in C geschrieben also kein gutes Beispiel für Speicherfehler in C++ Projekten.



  • OpenSSL ist ja auch in C programmiert worden.



  • Hallo NewHope!
    Nur rein aus Interesse:
    Unter wievielen Namen hast Du eigentlich in den letzten zwei Monaten hier gepostet? Und wie oft hast Du gesagt, dass Dir die C und C++ Fanboys von c-plusplus.net (sic!) so auf den Sack gingen, dass Du nicht mehr posten würdest?



  • @Offtopic:
    Ich bin hier seit 2006 aktiv und wie viele Aliase und vor allem welche ich verwende werde ich dir nicht erzählen. Ich kann dir nur eines sagen, die meisten Posts von Unregistrierten hier sind nicht von mir.



  • NewHope schrieb:

    @Offtopic:
    Ich bin hier seit 2006 aktiv und wie viele Aliase und vor allem welche ich verwende werde ich dir nicht erzählen. Ich kann dir nur eines sagen, die meisten Posts von Unregistrierten hier sind nicht von mir.

    Dann ist das eine Verwechslung.
    Und natürlich gehen mich Deine Aliasnamen nix an.

    Nach 60 Tagen Dauergetrolle gegen C und C++, kann ich es nicht mehr hören und hab zielsicher den falschen angeraunzt...
    Mea culpa.



  • Ich gebe nur das wieder, was ich aus den Rust-Beiträgen, den Videos und dem Ausprobieren kennen gelernt habe. Das ist aber kein Getrolle, denn Rust ist wegen der Unzulänglichkeiten von C und C++ entwickelt worden und will in dessen Teichen auch fischen. Es will sogar ins Web, wenn man sich Rust-Projekte wie https://www.skylight.io/ anschaut. Ob davon was gelingt weiß ich auch nicht.

    Wenn alles, was die Schwächen von C++ aufzeigt und die Stärken der anderen Sprachen erklärt, Getrolle ist, dann soll man das gleich in der Forenüberschrift so schreiben und verbieten. Das wäre dann zwar Zensur vom feinsten, aber das kennt man ja aus anderen Bereichen, wie der Politik, auch so. Wenn dort keine Gegenargumente zustanden kommen, dann wird versucht zu diskreditieren. So ein Muster lässt sich hier auch bei einigen erkennen.

    Ich persönlich habe mich für Rust begeistern können und bin der Meinung dass es genau das ist was die IT ein Stück weit sicherer machen kann. Ich setzte da derzeit alle Energie rein. Aufspringen wenn sich was etabliert hat, kann ja jeder. Das ist wie Bayern-Fan sein. Es muss aber auch Leute gebe die eine Technologie ausprobieren und auch an den Mann bringen, wenn noch keiner sie für voll nimmt. Ohne solche Leute würde es nie was Neues geben was Erfolg hat.



  • Funktionale Programmiersprachen machen die IT noch sicherer. Akzeptiere mal die Unzulänglichkeiten von Rust.



  • NewHope schrieb:

    blablabla

    Ahh. 🙂
    Hab' ich mich doch nicht geirrt.

    Um also auf mein ursprüngliches Anliegen zurückzukommen: Bleib bitte bei einem Thema bei einem Alias. Das irritiert sonst.



  • Ethon schrieb:

    Funktionale Programmiersprachen machen die IT noch sicherer. Akzeptiere mal die Unzulänglichkeiten von Rust.

    Ich habe nie geschrieben, dass Rust keine Unzulänglichkeiten hat. Es kann nur Sachen garantieren die C und C++ nicht kann und die für die Sicherheit extrem wichtig sind. Und ja, funktionale Programmiersprache bringen einem praktische frei Haus die Korrektheit einer Funktion, das ist auch eine feine Sache.



  • Nur eine Anmerkung:
    Funktionale Programmiersprachen bringen nicht 100% sicherheit:
    Was ist mit Fehlern im Compiler?
    Und selbst wenn das nicht:
    Sie haben nur den Vorteil das man sie mathematisch beweisen kann (die korrektheit), aber das kostet einiges! Ich würde sogar mutmaßen das die Prüfung genau so viel kostet wie die Entwicklung.

    C/++ ist auch korrekt, solange die Compiler Implementierung ok ist und der Programmierer keinen Müll baut.

    (Kleines Beispiel zu oberen: Die Haskel IDE Leksah ist in Haskell geschrieben -> Müsste ja fehlerfrei sein.
    Aber ich habe selten eine IDE gesehen die so häufig abschmiert).

    Also alles eine Frage des Programmierers.
    Aber das ist auch alles OT...



  • Es geht und ging hier nie um 100% Vermeidung von allen Fehlern. Es geht um die 100% Vermeidung von bestimmten SPEICHERFEHLERN! Man kann die auch in C und C++ vermeiden, aber das hängt vom Können des Programmierers ab. Bei Rust hängt es NIE vom Können des Programmierers ab, der Compiler macht das. Genau wie der Compiler bei C++ bestimmte Fehler zur Typensicherheit einem abnimmt, die in C durch viel void* Gedöns auftreten KÖNNEN.

    Nun ist es so, dass mit komplexeren Projekten die Wahrscheinlichkeit steigt, in C oder auch C++ Speicherfehlern zu verursachen. In Rust ist es egal wie komplex das Projekt wird oder wie viele Leute daran arbeiten und es ist auch egal wie gut die sind. Es kann KEINE Speicherfehler dieser Art geben, die Sprache wurde extra so konstruiert dass das nicht geht. Und der Hammer ist ja, dass das alles keinen Overhead hat. Ich glaube sogar, es wird so weniger Overhead erzeugt als bei Smartpointern in C++.

    Viele verstehen hier nicht einmal die Grundlagen von Rust und warum Sachen da so funktionieren wie sie funktionieren. Dabei ist die Speichersicherheit nur eins der tollen Features. Darauf aufbauend ist die Sprache wie gemacht für Multithreading, was auch wieder Teil der Sprache ist und auch hier kann ein KEINE Data Races geben, so wie in C++.

    Schaut euch den Webcast von OReilly an, da wird auch einiges zu Speichersicherheit erzählt. Jim Blandy erklärt da viele Seiten von Rust mit Beispielen.
    http://www.oreilly.com/pub/e/3291

    Jim Blandy works for Mozilla on Firefox's tools for web developers. He is a committer to the SpiderMonkey JavaScript engine, and has been a maintainer of GNU Emacs, GNU Guile, and GDB. He is one of the original designers of the Subversion version control system

    Hier ein Video wo es nur um die Speichersicherheit geht:
    https://www.youtube.com/watch?v=9wOzjbgRoNU

    Hier eins über C++, D, Rust und Go diskutiert wird, mit dabei Bjarne Stroustrup und Andrei Alexandrescu:
    https://www.youtube.com/watch?v=BBbv1ej0fFo

    Es ist sehr mühsam eine alternative Sprache vorzustellen, wenn selbst die bewiesenen Grundlagen dieser Sprache nicht akzeptiert werden. Leider ist das Forum hier das einzige deutsche, was sich auch intensiv mit der Systemprogrammierung beschäftigt. Leider ist es sehr C++ lastig, was ja klar ist, da bis jetzt ja auch C++ die einzige Systemsprache war für größere Projekte. Tja, das ist jetzt vorbei. Selbst hier wird C++ in Zukunft was vom Kuchen abgeben müssen, wenn nicht bei Rust oder Go dann bei einem der Nachfolger. Der Stein der modernen Systemsprachen ist ins Rollen gekommen und nimmt fahrt auf.



  • NewHope schrieb:

    Es ist sehr mühsam eine alternative Sprache vorzustellen, wenn selbst die bewiesenen Grundlagen dieser Sprache nicht akzeptiert werden.

    Niemand behauptet, dass Rust schlecht sei aber dieses ständige generve hier im Forum, dass es das Maß aller Dinge wäre und jeder sofort umsteigen müsste, verringert mMn das Interesse extrem. Rust hat schöne neue Sachen aber es ist weder ausgereift, noch gibt es ausreichend Bibliotheken. Momentan kann man Rust eher beobachten und sich das ganze etwas genauer angucken aber effektiv damit arbeiten und große Projekte erstellen ist momentan eher kontraproduktiv.

    NewHope schrieb:

    Leider ist das Forum hier das einzige deutsche, was sich auch intensiv mit der Systemprogrammierung beschäftigt. Leider ist es sehr C++ lastig,

    Es ist auch ein C++ Forum - wie kann man sich darüber wundern, dass es C++ lastig ist?



  • SLx64 schrieb:

    Es ist auch ein C++ Forum - wie kann man sich darüber wundern, dass es C++ lastig ist?

    👍


Anmelden zum Antworten