Entwickelt überhaupt noch einer beruflich mit C++?



  • Es gibt noch sehr viele Projekte und Arbeitsplätze für C++.



  • DieEntwicklung schrieb:

    Re: Entwickelt überhaupt noch einer beruflich mit C++?

    Bei mir beruflich: C++, Haskell und Python.



  • 90% C++, Bereich: Optimierungs- und Steuerungssoftware



  • Ich behaupte, alles was wichtig ist und einen echten Mehrwert liefert, wird in C/C++ gemacht. D.h. im Klartext:

    Industriesteuerungen, Fahrerassistenzsysteme, Call of Duty usw. sind C/C++.

    Candy Crush, Facebook, Whatsapp sind mehrheitlich Produkte bestehend aus Kram wie Java, php, Flash usw.



  • DieEntwicklung schrieb:

    Wie hoch schätzt ihr den Anteil an C++ Software zum Rest ein? Ich denke mehr wie ein paar Prozent wird das nicht mehr sein.

    Die Frage ist: Ein paar Prozent von was uns was soll und das dann sagen? Praktisch die ganze Infrastruktur unserer heutigen Computerwelt ist aus C/C++ gebaut. Ohne C/C++ läuft nichts. Selbst wenn es nur "ein paar Prozent" sind, es sind die paar Prozent, die eine Rolle spielen, weil ohne sie alle restlichen Prozent bedeutungslos werden. Was hilft dir die tollste Webanwendung, wenn es weder Betriebssysteme noch Browser noch Webserver und vor allem: kein Internet gibt? Die Atmosphäre macht auch nur einen geringen Anteil der Gesamtmasse der Erde aus; sogar so gering, dass dieser Anteil selbst in Promille ausgedrückt noch eine unhandlich kleine Zahl wäre...so?



  • Ich mache beruflich sowas Ähnliches wie C++, ist allerdings von Borland/Codegear/Embarcadero. Wird von denen auch C++ genannt, ist aber nicht mal zu sich selbst kompatibel und treibt einen wöchentlich zur Weißglut.



  • Kenner der Szene123 schrieb:

    Ich behaupte, alles was wichtig ist und einen echten Mehrwert liefert, wird in C/C++ gemacht.....

    Industriesteuerungen, Fahrerassistenzsysteme, Call of Duty usw. sind C/C++....

    Wäre ich vorsichtig, mit C# bekommt man auch ganz ordentliche Programme hin. Beispiel: Zielvorgabe in Transportsteuerung -> Steuerung übergibt an C# Dienst Identifikationsmerkmal für das Produkt -> C# Dienst ermittelt Ziel und gibt es an die Steuerung. Funktioniert Prima. Das ist jetzt natürlich vereinfacht dargestellt.

    Was ich damit sagen will, man kann fast alles was man in C++ Abbilden kann auch in anderen Sprachen abbilden. Über Sinn und Unsinn kann man sich streiten.



  • Ich habe immerzu Sorgen, dass ich C++ im Berufsleben nicht anwenden können werde, weil es in Fünf Jahren einfach "out" ist. Das wäre wirklich schade, wenn ich nicht mehr die Chance dazu hätte.



  • Ich behaupte mal, modernes C++ ist tot.

    Klar, als C++ Legacy-Code-Pfleger findet man schon noch Jobs, aber schauen wir mal an, wo in 10 Jahren aktiv in C++ entwickelt wird:
    - Browser (ohne JavaScript-Interpreter): Wird künftig wohl in JavaScript gemacht
    - Serverseite: Facebook will von C++ auf D wechseln, Google auf Go, gibt weitere Sprachen (z.B. Rust); ist nur eine Frage der Zeit, bis C++ da abgelöst wird.
    - Oberflächen (Office, Videos, Schaltpläne, 3D-Modelle): Rendern kann die Grafikkarte, der Rest ist egal. Oberflächen gehen einfacher mit Reflection, C++ ist dafür jedenfalls nicht geeignet.
    - Backend (Office, Videos, Schaltpläne, 3D-Modelle): Ganz performance-wichtige Sachen wie Videorenderer werden in (Graka-)Assemblern geschrieben, für die anderen Algorithmen braucht es kein C++, da ist der konstante Faktor weniger wichtig als algorithmische Verbesserungen.
    - Skriptsprachen (z.B. JavaScript)/Virtual Machines: Kleiner Markt. Entwicklungsaufwand zählt weniger, C wäre für performancekritische Bereiche auch in Ordnung. Vielleicht auch C++, aber kein modernes.
    - Spiele: Das Bottleneck ist künftig die Netwerkanbindung, Sprache spielt keine Rolle, sofern eine gute Grafikbibliothek bereitsteht.
    - Rechenintensive Simulationen: Zuverlässiges und schnelles Multithreading (>64 Cores) in C++ ist praktisch unmöglich. Wird sich eine neue Sprache etablieren.
    - µC (Industriesteuerungen, Fahrerassistenzsysteme): Künftig mehr als genug Rechenpower, Sprache sollte Sicherheit vor Geschwindigkeit einstufen (d.h. kein UB).
    - Betriebssysteme, Treiber: Schon seit jeher C + Skriptsprache



  • dot schrieb:

    Die Frage ist: Ein paar Prozent von was uns was soll und das dann sagen? Praktisch die ganze Infrastruktur unserer heutigen Computerwelt ist aus C/C++ gebaut. Ohne C/C++ läuft nichts. Selbst wenn es nur "ein paar Prozent" sind, es sind die paar Prozent, die eine Rolle spielen, weil ohne sie alle restlichen Prozent bedeutungslos werden.

    Ja, ohne C läuft nichts. Du sprichst Bereiche an, wo Entwicklungsaufwand keine Rolle spielt, da macht man dann allerhässlichstes aber superschnelles C. Nirgendwo werden Templates verwendet.



  • DocShoe schrieb:

    Ich mache beruflich sowas Ähnliches wie C++, ist allerdings von Borland/Codegear/Embarcadero. Wird von denen auch C++ genannt

    😃

    Ja, sogesehen mach' ich auch nur "was ähnliches wie C++". MSVC 2005 halt 😉



  • thesenfilm schrieb:

    Ich behaupte mal, modernes C++ ist tot. ...

    ich hab zwar nur hobbymäßig mit C++ zu tun, aber ich neige dazu, solchen Glaskugel-Aussagen wenig Glauben zu schenken. Zu oft wurden schon Sachen totgesagt, die auch Jahrzehnte später noch aktuell sind (z.B. ABAP/4).
    Heute wird viel HTML5/JavaScript propagiert, obwohl man sich über die Schwächen von JavaScript durchaus im Klaren ist (ok, nicht immer). Wie sich das über die nächsten Jahre entwickeln wird, kann man nur schwer abschätzen. Auch für C++ kann man nicht abschließend beurteilen, wohin die Reise geht. Kann mich irren, aber kann man nicht auch schon mobile Apps mit C++ entwickeln bzw. gibt es nicht Pläne dazu?

    Was ich aber eigentlich sagen will: Erlerntes ist meist nicht vollkommen nutzlos. Selbst wenn du heute C++ lernst und in 10 Jahren niemand mehr was davon wissen will, erleichtert es dir ggfs. den Umstieg auf andere Sprachen. Und wirklich sichere Aussagen über die künftige Entwicklung in diesem Umfeld wirst du wohl auch nicht finden, auch wenn sicherlich zahlreiche "Experten" das zu wissen glauben.



  • @thesenfilm:
    Du bist für meinen Geschmack einem Hype erlegen.

    Browser (ohne JavaScript-Interpreter): Wird künftig wohl in JavaScript gemachst

    Glaub ich so nicht ganz. Eine Interpretersprache ist immer noch wesentlich langsamer als eine Compilersprache. Und wenn dann Späße wie 3D Unterstützung hinzukommen, würde ich definitiv nicht auf JavaScript bauen.

    Serverseite: Facebook will von C++ auf D wechseln, Google auf Go, gibt weitere Sprachen (z.B. Rust); ist nur eine Frage der Zeit, bis C++ da abgelöst wird.

    Ja, Hypefirmen setzen Hypeprogrammiersprache ein. Mal schauen wie lange es dauert bis sie wieder wechseln.

    Aber: Alte Besen kehren gut. Und so manche Firmen programmieren noch mit Cobol oder Fortan... Und so ein Projekt von Fortran auf D zu portieren kostete eine Menge Geld. Also warum sollte ich als Unternehmer auf eine neuen Sprache setzen, wenn es doch die alte noch tut. Die Sünden der Vergangenheit, rächen sich bis in alle Ewigkeit.

    - Oberflächen (Office, Videos, Schaltpläne, 3D-Modelle): Rendern kann die Grafikkarte, der Rest ist egal. Oberflächen gehen einfacher mit Reflection, C++ ist dafür jedenfalls nicht geeignet.

    Oberfläche mit Reflection? Ähh ja... Was hat denn Reflection mit Oberflächen zu tun? Und erkläre mir mal bitte wie das besser gehen soll als mit einer guten IDE, wo man die Oberfläche zusammenclickt, und per doppelclick auf den Eventcode kommt.

    ...



  • DieEntwicklung schrieb:

    $subject

    Ja. Hat aber bei mir nichts mit dem Web zu tun. Ich lasse Zeug berechnen. Einiges davon braucht viel RAM und/oder Zeit. Das Layout der Daten im Speicher ist da auch wichtig. Dafür ist mir C++ noch am liebsten von den Sprachen, mit denen ich Erfahrungen gesammelt habe.



  • DocShoe schrieb:

    Ich mache beruflich sowas Ähnliches wie C++, ist allerdings von Borland/Codegear/Embarcadero. Wird von denen auch C++ genannt, ist aber nicht mal zu sich selbst kompatibel und treibt einen wöchentlich zur Weißglut.

    Ah. Ein Leidensgenosse 🙂



  • thesenfilm schrieb:

    Ich behaupte mal, modernes C++ ist tot.

    Ich muss mich dem Grundtenor hier anschliessen. Ich vertrete die Meinung, "für jedes Problem die richtige Sprache". GUIs gehen einfacher mit C#. Debugging ist auch schöner mit C#. Allgemein ist man IMHO für BuntiKlicki eher bei C#. Bei Web eher bei Javascript. Und bei Algorithmen und allgemein überall wo es auf Performance ankommt bei C++ oder sogar noch tiefer (Assembler).

    z.B. ist es bei Steuergeräten für Massenprodukte (Autos, Kühlschränke, etc.) so, dass man erst mit einem "großen" Controller anfängt und wenn man sein Programm fertig hat und somit weiß welche Anforderungen an RAM, Flash, etc. wirklich nötig sind, exakt den Controller auswählt, der die Anforderungen gerade so erfüllt. Die wenigen Cent die sich pro Controller sparen lassen schlagen sich eben einfach über die große Anzahl der Produkte gehörig niedriger. Deswegen wird auch niemand, der bei Verstand ist, jetzt auf einmal dort Java oder so einsetzen, denn die "Grundanforderugen" sind einfach ein Vielfaches höher als von einem C++ Programm.

    Schon allein wegen solchen Anwendungen wird C/C++ auch auf lange Zeit nicht tot sein.



  • Morle schrieb:

    z.B. ist es bei Steuergeräten für Massenprodukte (Autos, Kühlschränke, etc.) so, dass man erst mit einem "großen" Controller anfängt und wenn man sein Programm fertig hat und somit weiß welche Anforderungen an RAM, Flash, etc. wirklich nötig sind, exakt den Controller auswählt, der die Anforderungen gerade so erfüllt. Die wenigen Cent die sich pro Controller sparen lassen schlagen sich eben einfach über die große Anzahl der Produkte gehörig niedriger. Deswegen wird auch niemand, der bei Verstand ist, jetzt auf einmal dort Java oder so einsetzen, denn die "Grundanforderugen" sind einfach ein Vielfaches höher als von einem C++ Programm.

    Und aus einem ähnlichen Grund laufen google, Facebook etc. alle auf einer C++ Basis. Wie Andrei Alexandrescu letztens mal gesagt hat: Wenn du es schaffst, bei Facebook 1% mehr Performance rauszuholen, hast du allein durch die damit gesparten Energiekosten eine Vielzahl an kompletten Jahresgehältern für dich und alle deine Kollegen reingeholt...



  • was wären denn die Alternativen, wenn es um die Programmierung von Libraries oder von hochperformanten großen Softwaresystemen geht?

    C++ hat mit C++11 gerade erst einen großen Sprung nach vorn gemacht, nicht nur, was den Programmierkomfort angeht.



  • Morle schrieb:

    z.B. ist es bei Steuergeräten für Massenprodukte (Autos, Kühlschränke, etc.) so, dass man erst mit einem "großen" Controller anfängt und wenn man sein Programm fertig hat und somit weiß welche Anforderungen an RAM, Flash, etc. wirklich nötig sind, exakt den Controller auswählt, der die Anforderungen gerade so erfüllt.

    Führt das nicht automatisch zu fettem Code?

    Wenn ich einen leistungsfähigen Chip habe, bei dem ich weiß, dass ich üppig Ressourcen zur Verfügung habe, dann programmiere ich doch sicher auch entsprechend, weil Zeit ja auch Geld kostet.
    Warum sollte man dann einen fertigen fetten dahingeschludderten Mockup noch optimieren, um einen noch viel kleineren Chip möglich zu machen?



  • großbuchstaben schrieb:

    was wären denn die Alternativen, wenn es um die Programmierung von Libraries oder von hochperformanten großen Softwaresystemen geht?

    Wenn es um Performance geht, dann wären die Alternativen alle Sprachen, die sich für die Systemprogrammierung eignen.

    Also C, C++, D, Pascal, Fortran, Ada usw..

    Bei großen Softwaresystemen würden dann von denen durch den Sieb fallen.
    D.h. einige Sprachen sind für Großprojekte nicht so gut geeignet.
    C gehört sicher dazu, obwohl es natürlich sehr viele Großprojekte gibt, die C aus historischen gewachsenen Gründen nutzen.


Anmelden zum Antworten