Wofür wird C++ heute noch eingesetzt?



  • rapso schrieb:

    ich denke diese zukunftsunsicherheit ist es auch was viele neue sprachen fuer firmen riskant machen. sprachen sterben, entwickler sterben, software lebt unbekannt lange und wer weiss ob es in 10jahren C#, Rust, GO, Java etc. gibt. Das kann natuerlich niemand bei c++ garantieren, aber wenn ich auf etwas setzen sollte, waere es auf keinen fall D, E, F, Go, Rust,...

    Das ist ein 0 Argument.

    Beweis:

    Turbo Pascal und Borland sind tot, aber FreePascal lebt und wer will, der kriegt damit seine Software auch compiliert. Auch für neue Rechner.

    Daraus folgt:

    Sobald eine Sprache von der Community weitergepflegt wird und es einen freien Compiler gibt, wird sie nicht aussterben.

    Ich denke c++ alleine waere fuer alle ein vorteil.

    Jede Sprache hat ihre Vor- und Nachteile und Entwicklungszeit und Geld sind begrenzte Ressourcen.

    Wenn es mit Sprache XY schneller geht, dann entwickelt man sicherlich nicht in C++, es sei denn es gibt wirklich triftige Gründe, die für C++ sprechen.



  • Ich glaube, dass in C++ nur noch eine handvoll großer Programme geschrieben werden(OS-Teile, aufwändige Spiele, 3D-Software, VMs etc). Wie lange noch wird man sehen. Falls Rust erfolgreich ist, dann ist das aber auch über kurz oder lang Geschichte.

    Die meiste Software wird in anderen Sprachen geschrieben, wie Java, C#, PHP, Javascript, Python, Obj-C usw.. PHP-Software z.B. nutzen wir heute so oft wie C++-Programme, siehe dieses Forum hier.

    C++ wird nur noch eingesetzt wo es unbedingt nötig ist, aber dies wird nur solange funktionieren, solange es keine Konkurrenz dafür gibt.

    Wenn man sich in diesem Forum hier aufhält, dann ist das immer wie eine Zeitreise zu den ewig Gestrigen, was sich schon in der Forensoftware wieder spiegelt. Von Jahr zu Jahr ist hier aber auch immer weniger los. C++ wird immer mehr angeknappert und spielt bei vielen Entwicklern überhaupt keine Rolle mehr im Alltag.

    Wenn ich mir Fachzeitschriften anschauen, dann spiegelt sich die Nische, in der C++ noch existiert, auch dort wieder. Man findet kaum was zu C++ in den Fach-Zeitschriften, das ist auch immer ein guter Spiegel. So sehr RedMonk und Tiobe-Index auch schlecht sein mögen, auch hier ist ein Trend weg von C++ zu erkennen. Alles zusammen glaube ich nicht, dass C++ je von diesem langsamen Vergrauen noch zu retten ist.

    Auch wenn die Sicherheits-Löcher in C++ immer wieder geflickt werden, so sind sie immer noch da. Das kann man sich in Zeiten von NSA-Skandal einfach nicht mehr lange leisten. Dem Programmierer allein alle Sicherheit aufzubürden ist grob fahrlässig.

    Wenn man die Wahl hat, dann meidet man C++.



  • Ich bin auch der Meinung, man sollte die Sprache nehmen, die für den Einsatzzweck am besten geeignet ist. Ich glaube aber nicht, dass deswegen C++ aussterben wird.

    Ich halte des meist sehr einfach, bei Oberflächen Programmierung wird zu C# mit WPF gegriffen, sobald es aber um Dienste geht die auch mal länger als ein paar Stunden laufen dann wird C++ genommen.

    Das letzte Projekt mit C++ Dienst wurde vor einem Jahr angefangen, also auch nichts historisch gewachsenes.

    Und ja ich weis C# geht auch für Dienste, hatte dabei aber schon genug Schwierigkeiten.

    Mfg Marco

    PS: gehöre nicht zu den ewigen gestrigen.



  • Dass sich Microsoft eine "Rückkehr" zu C++ wünscht, denke ich nicht. Das ist ein Gerücht, was damals im Zuge der Windows 8/Metro Präsentation entstanden ist und selbst wenn die Windows 8/Metro Leute bei MS diese Schiene vertreten sollten, hat ihr enormer Miserfolg ihnen sicherlich den Wind aus den Segeln genommen. Die Wichtigkeit des .NET Frameworks und C# nehmen in Windows doch von Version zu Version eher zu.

    Natürlich hat man in C++ feinere Kontrolle über Speicher und Ressourcen, aber das spielt ja bei den meisten der Anwendungen keine Rolle, insbesondere bei all den Nachteilen die man mit C++ dafür auch in Kauf nehmen muss. Ausführungsgeschwindigkeit ist schon lange kein Argument mehr, weil .NET und Java genauso schnell sind. Und so eine richtig tragende Rolle im OS und Embedded Bereich, wie manch einer einem gerne glauben machen will, spielt C++ auch nicht. Dort ist C einfach meistens die bessere Wahl. Windows Treiber kann man z.B. gar nicht in C++ schreiben und im Linux Kernel ist C++ doch auch unerwünscht, soweit ich weiss.

    @Marc-O Dein Problem mit Diensten erschließt sich mir jetzt nicht. Wenn du da Schwierigkeiten hattest, liegt das doch wahrscheinlich eher an deiner Unvertrautheit (?) mit dem .NET Framework?



  • Phil_ schrieb:

    Und so eine richtig tragende Rolle im OS und Embedded Bereich, wie manch einer einem gerne glauben machen will, spielt C++ auch nicht. Dort ist C einfach meistens die bessere Wahl.

    Embedded Systeme sind unglaublich vielfälltig. Schwer zu sagen, was da am meisten eingesetzt wird. Je kleiner desto wohl mehr C als C++, aber auch das teilweise historisch bedingt. Aber auch bei den kleinen gibt es diverse C++ Anwendungen:

    - Arduino ist ja recht weit verbreitet. Die "Sketch" Sprache da ist leicht getarntes C++, verwendet wird der g++. Die IDE dagegen ist Java.

    - Etwas größer ist die mbed Plattform vom Prozessorhaus ARM. Die wird ja gerade zu Betriebssystem für "Dinge" im Internet der Dinge ausgebaut. Im Moment ist C++ da die einzige Programmiersprache für die Mikrocontroller. In den Tools wird viel Python verwendet.

    Gehen wir mal zu etwas größeren Embedded Systemen, Robotersteuerung. Da findet man sehr viel C++.

    - Da gibt es Open Source Projekte wie Orocos.org, da fällt mir nicht mal eine irgendwie geartete C Alternative ein. Kannst Du eine nennen ?

    - Die Point Clound Library (unter pointclouds.org) ist weit verbreitet in der Robotik. Auch da kenne ich keine C Alternative.

    - Bei beiden liegt das auch an der Mathematik. Für C++ gibt es Eigen, Armadillo, usw. Da gibt es in C nicht so viel entsprechendes.

    Gehen wir mal weg von Embedded. Der nächste Bereich wäre CAD. Die marktführenden Systeme (CATIA, Pro Engineer, usw.) sind alle in C++ geschrieben. Für Plugins wird meist eine spezielle Visual Studio Version gefordert. Viele kleinere Anbieter von CAD Systemen bauen auf dem ACIS-Kernel der Spatial Corporation auf. Der ist in C++ geschrieben.

    Ein Spezialgebiet beim CAD ist der Vergleich von Konstruktionsdaten mit Laserscans. Da gibt es eigentlich nur zwei Anbieter in der Industrie Polyworks und Geomagic (früher Rapidform). Beide in Visual C++ geschrieben.

    Kommen wir von den Robotern zu den SPSsen. Beckhoff ist ein deutscher Anbieter, der Visual Studio verwendet. Man kann da auch mit VC++ Code für die SPS schreiben, statt den SPS-Dialekten. Die Siemens Soft-SPSsen (die auf PC-Hardware laufen), haben ein Visual C++ SDK, sind wahrscheinlich selber damit geschrieben. Mitsubishi SPS (weltweit nach Siemens die Nummer 2) haben ein optinales C++ SDK.

    Alles in allem gibt es in der Industrie so viel C++ Software, dass die Sprache noch Jahrzente im Einsatz bleiben wird. Trotzdem sind neue Sprachen wichtig und nützlich. Aber bis die in diesen Anwendungsgebieten auftauchen, wird es etwas dauern.



  • [quote="nn"]

    Phil_ schrieb:

    Kommen wir von den Robotern zu den SPSsen. Beckhoff ist ein deutscher Anbieter, der Visual Studio verwendet. Man kann da auch mit VC++ Code für die SPS schreiben, statt den SPS-Dialekten. Die Siemens Soft-SPSsen (die auf PC-Hardware laufen), haben ein Visual C++ SDK, sind wahrscheinlich selber damit geschrieben. Mitsubishi SPS (weltweit nach Siemens die Nummer 2) haben ein optinales C++ SDK.

    Alles in allem gibt es in der Industrie so viel C++ Software, dass die Sprache noch Jahrzente im Einsatz bleiben wird. Trotzdem sind neue Sprachen wichtig und nützlich. Aber bis die in diesen Anwendungsgebieten auftauchen, wird es etwas dauern.

    Beckhoff benutzt TwinCAT, welches auf Codesys basiert. Beckhoff hat das nur in VS integriert.
    Ich für meinen Teil bin froh das man C++ benutzen kann und das auch wieder im kommen ist, da die SPS Programmiersprachen, außer ST, generell furchtbar sind.
    Roboter, egal ob Industrieroboter oder andere, werden auch zunehmend mit C++ programmiert. (ros.org)

    Für Anwendungsentwicklung war doch sowieso schon eher Java in Benutzung bzw. C#.



  • Ja, bei Industrie-Robotern wird sehr viel C++ eingesetzt.

    Nicht nur bei ros, auch bei den kommerziellen gibt es teilweise die Möglichkeit komplizierte Dinge in C++ zu machen. Dabei entdeckt man dann auch Indizien wie Dateinamen, dass zumindest Teile der Steuerung in C++ implementiert sind.



  • Automotive: Die Steuergeräte im Auto sind meist in C, das HMI meist in C++. Dann Mikro-Controller aller Art, für die Senorik im Auto, sind oft die Klasse RL78K von Renesas. Da gibt es eine C/C++ IDE aber da würde keiner was mit JAVA oder C# machen.



  • Für all diese industriellen Sachen wäre Rust super geeignet, denn da kann man sich noch weniger Fehler leisten. Ich drücke fest die Daumen, dass auch dort C++ immer weniger eine Rolle spielen wird in Zukunft. Nach den VM-Sprachen kommen jetzt endlich neue Systemsprachen auf den Markt...es wird auch Zeit.



  • Wenn solche Einsatzfelder einmal besetzt sind, ändert sich da nur langsam was. Da kann man in Jahrzehnten rechnen (eher mehr als eins).

    Wo Rust & Co früher auftauchen könnten sind kombinierte Ansätze, wie z.B. hier
    http://halcon.com/
    Im Innern C/C++/Assembler und GPU-Programmierung. Nach außen C/C++/.net . Wenn bei solchen Produkten mal Rust auftaucht, dann kann man darüber nachdenken es zu benutzen.

    Es hat einige Jahre nach dem Erscheinen von .net gedauert, bis C# in solchen Produkten auftauchte (und Delphi verschwandt). C++ war die ganze Zeit über da ...



  • Rustiger schrieb:

    Für all diese industriellen Sachen wäre Rust super geeignet, denn da kann man sich noch weniger Fehler leisten. Ich drücke fest die Daumen, dass auch dort C++ immer weniger eine Rolle spielen wird in Zukunft. Nach den VM-Sprachen kommen jetzt endlich neue Systemsprachen auf den Markt...es wird auch Zeit.

    Welche Vorteile hätte den Rust gegenüber C++?



  • Cybertec schrieb:

    Rustiger schrieb:

    Für all diese industriellen Sachen wäre Rust super geeignet, denn da kann man sich noch weniger Fehler leisten. Ich drücke fest die Daumen, dass auch dort C++ immer weniger eine Rolle spielen wird in Zukunft. Nach den VM-Sprachen kommen jetzt endlich neue Systemsprachen auf den Markt...es wird auch Zeit.

    Welche Vorteile hätte den Rust gegenüber C++?

    Für eine ausführliche Diskussion siehe diesen Thread.



  • Ja klar wird es Jahrzehnte dauern bis sich eine neue Systemsprache wirklich etabliert hat. Ich persönlich finde es auch schwer in Rust rein zu kommen, da man einfach anderes Denken lernen muss und mir fehlt auch noch GUI, IDE etc, obwohl Binding zu C-Libs wirklich da extrem schnell realisiert werden. SDL, GTK, OpenGL, GLGW und viele andere sind ja alle schon da.

    Interessant ist auch dass man mit Rust auch gut fürs Web programmieren kann. Da gibt es schon ein fertiges Projekt, mir fällt der Name nicht ein.

    Dazu ist der neue Paketmanager und Buildtool cargo echt toll. Keine Probleme mehr Libs zu nutzen, da werden Abhängigkeiten aufgelöst, fehlende Libs gleich runter geladen, ein Projekt mit Ordner-Struktur und XML-Build-Datei angelegt, usw.. Mit cargo run z.B. wird gebaut und gleich gestartet und so weiter und so fort...echt nett.

    Auf https://crates.io/ kann man sich so das werkeln an Libs anschauen. Da wird wirklich alles mögliche für Rust verfügbar gemacht.

    Und bald ist Rust auch endlich wirklich Final und dann werden auch die IDE-Unterstützung, Bücher etc. nicht lange auf sich warten lassen. Bevor eine Sprache nicht final ist macht ja so etwas keinen Sinn.



  • Diese Rust-Trollerei ist mittlerweile echt lästig.



  • Wenn dir Sicherheit lästig ist, dann tust du mir Leid. Mir gefällt nun einmal das Konzept hinter Rust und wenn eine Sprache allein schon für mehr Sicherheit in der IT-Welt sorgen kann, dann tue ich alles um diese auch zu verkaufen. Das ist mein Beitrag gegen NSA und Konsorten. Du kannst dies gern Trollerei nennen. Ich nenne es, eine neue Sprache bekannt machen und aufzeigen was sie besser als C++ macht.





  • @Offtopic Ethon:
    Kann es sein, dass du noch so ein Bubi von 25 bist?



  • Also ich muss doch jetzt mal klar sagen, Rustiger kennt sich nicht aus. D ist viel besser als Rust.



  • Ethon schrieb:

    Diese Rust-Trollerei ist mittlerweile echt lästig.

    👍



  • Ich habe nie gesagt, dass ich ich auskenne und D habe ich auch nocht nicht probiert. Sprachen in denen ich schon was geschrieben habe sind: C, C++, PHP, Java, Javascript, Python und jetzt halt Rust. Es ist ja auch nicht so dass ich jetzt nie wieder in den genannten Sprachen was machen werde. Aktiv arbeite ich am meisten mit Java, davor C++. Nebenbei schaue ich mir Rust Stück für Stück an bin halt total begeistert und schreibe darüber.

    Nein, ein Experte oder Profi bin ich nicht. Nur ein Programmierer mit einer Meinung zu den Sprachen die er schon ausprobiert hat.


Anmelden zum Antworten