Rosige Zukunft für C++ Entwickler?!



  • Vieles wird heute in ASICs implementiert

    einiges - vor allem das was es schon als ASIC gibt sonst ist die
    Entwicklung viel zu teuer

    Bild-Manipulation, Spracherkennung, Sprachausgabe usw

    die wohl eher nicht

    es ist noch erstaunlich viel auf Software basierend - oder warum denkst du
    das die heutigen Handys Dualcores usw. mit GHz fahren? Weil alles so schön mit ASICs abgedeckt wird?



  • Asics sind außerdem so schlecht zu updaten ...



  • Asics sind außerdem so schlecht zu updaten ...

    danke für DAS Hauptargument

    sorry Artchi damit schrumpft der Anteil an ASICs und dein Erfahrungswisse
    noch weiter

    mehr als die Mobilkommunikation, GPS, Lagesensoren, Display-Steuerung usw. wird wohl nicht in Hardware erledigt



  • und so allgemeint - wir benutzen doch kaum Software die NICHT in C++ geschrieben ist

    Java/.Net-VMs
    SQL-Server und viele andere DBs
    VStudio
    Office
    so gut wie alle Spiele am Markt
    Windows und fast alle Default-Tools (ausser Kernel)
    Chrome
    Firefox
    Skype
    TeamViewer
    TeamSpeak

    und das sind nicht alles alte Tools oder welche die nicht weiter entwickelt werden sondern Bedarf an C++ Features haben



  • Es gibt aber auch FPGAs. Die sind konfigurierbar. Sie sind noch nicht so klein und schnell wie ASICS aber die Entwicklung geht immer weiter.

    Manche erwarten dass eine Art FPGA Technologie in Zukunft den Weg in die Prozessoren findet. Ein Prozessor soll dann bekannte Algorithmen oder häufige Aufgaben dann automatisch oder über Libs auf den FPGA Teil der CPU verlagern können.

    Aber noch sind leistungsfähige FPGAs teuer. Aber könnte sich ja ändern. Ich denke flexible nicht fix verbundene Transistoren werden in der Zukunft sicher noch eine große Rolle spielen. Auch im Bereich der KI Forschung und neuronalen Algorithmen.



  • klar gibt es FPGAs (und kleinere werden kommen)

    aber die sind wieder viel schwieriger zu programmieren - und von imperativ/functional/Software zu Hardware ist keine trivial Transformation

    deswegen machen das auch nur wenige in sehr speziellen Bereichen, vergleichbar mit GPU Programmierung - da bekommst du auch nicht mal eben Performanz mit eine bisschen Aufwand geschenkt (wenn dein Algorithmus nicht sowiso schon trivial parallelisierbar ist)

    ich glaube nicht das dort die Zukunft liegt - FPGAs sind ja auch nicht erst ein paar Jahre alt

    und die trotzdem werden die Software-Anforderungen weiter steigen - auch wenn dann kleinere FPGAs oder ASICs die ganz grossen Aufgaben machen, die Anforderungen steigen und steigen immer weiter bis das Handy dann ein Holodeck erschaffen kann - es gibt keine jetzt-reicht-es-Grenze nach oben

    solange keiner einen Super-Mini-Rechner baut der kaum Strom braucht und unberegrenzte Leistung wird es bedarf an Sprachen geben die schnellen/kleinen/Resourcen sparenden Code erzeugen können



  • @Gast3

    Da hast du nicht wirklich Unrecht. Trotzdem sind einzelne Recheneinheiten ob in Form von ASICS wie in Grafikchips oder FPGAs ein Faktor der die Leistungsfähigkeit von Rechenmaschinen beeinflussen wird.
    Die Zahl der CPU Kerne wächst immer weiter und Grafikchips können nicht nur Grafiken berechnen.

    Während die Anzahl von Recheneinheiten in CPU und GPU immer weiter ansteigt gibt es für einzelne Recheneinheiten nur noch begrenzte Steigerungsmöglichkeit in der Taktrate.

    Aber ich glaube auch nicht dass diese Form der Leistungssteigerungen dazu führen werden dass man keinen großen Wert mehr auf performanten Software legt.



  • Gast3 schrieb:

    solange keiner einen Super-Mini-Rechner baut der kaum Strom braucht und unberegrenzte Leistung wird es bedarf an Sprachen geben die schnellen/kleinen/Resourcen sparenden Code erzeugen können

    Eigentlich schon. Aber für Android war der Einsatz von Java für sämtliche Apps anscheinend kein Widerspruch mit den Anforderungen mobiler Geräte.
    Obwohl man meinen könnte dass solche Geräte besser mit C++ Anwendungen fahren würden. Weniger Akkuverbrauch und performanter.
    Aber vermutlich hat man sich für Java aufgrund der Verbreitung entschieden. Damit eine möglichst große Armee von Java Entwicklern massenweise Apps für Android entwickeln konnte.

    Man hat jedenfalls gesehen es geht und ging ohne C++. In großen Teilen jedenfalls.



  • Aber für Android war der Einsatz von Java für sämtliche Apps anscheinend kein Widerspruch mit den Anforderungen mobiler Geräte.

    Doch, ists trotzdem ...

    Android bringt halt als default Windows System was mit, was komplett auf xml und Java aufbaut. Reine native C/C++ Anwendungen sind halt einfach nur sch... zu implementieren, weil alles oberhalb vom primitiven Framebuffer server in java realisiert ist. Und auf Events die da laufen musst schon reagieren.

    Aber Performant gehen Dinge damit wirklich nicht.
    Mach mal ne eigene Sensorfusion mit nem gescheiten Filter latenzarm auf Java-basis 🙂
    simples Rendern mit JOGL als performanz nachweis zählt ned, weil Opengl ansteuern kann jede Sprache die C Support mitbringt 🙂 Aber sobald es komplexer wird, ab in ne eigene shared lib und brav die Systemevents von der java app in die lib weiterleiten.

    Allerdings gibts da grad für die Brücke zwischen den Welten (java -> c/c++) nen Tool Support, da träumt man fast als Desktop entwickler ^^
    Verheirate mal Java und ne native dll auf VS/NetBeans/Eclipse/IntelliJ aufm Desktop und zum Vergleich dazu aufm Android SDK
    (oder ich bin zu blöd zu bzw geh aufm Desktop von der falschen Seite ran)

    Dann schau dir mal die ganzen schoenen tollen Java Bibs an, die haben fast alle eine oder mehrere .so im Hintergrund laufen.



  • blubbi12 schrieb:

    Obwohl man meinen könnte dass solche Geräte besser mit C++ Anwendungen fahren würden. Weniger Akkuverbrauch und performanter.

    Ist auch so. Die Frage ist immer nur ob es nicht mit langsamer/weniger effizient auch immer noch gut genug ist.

    blubbi12 schrieb:

    Aber vermutlich hat man sich für Java aufgrund der Verbreitung entschieden. Damit eine möglichst große Armee von Java Entwicklern massenweise Apps für Android entwickeln konnte.

    Ich würde schätzen dass auch die bessere Sicherheit von Java ne Rolle spielt (mach mal nen Buffer-Overflow Exploit mit ner Java-Applikation) und auch dass Java angenehmer/einfacher/schneller zu schreiben ist => spart Entwicklungszeit.



  • "Meine Meinung zu dem Thema ist, dass die Zukunft für C++ (Entwickler) rosiger denn je ist. Denn dort wo Stückzahlen und die Kosten für Hardware ein Faktor sind, sehe ich aktuell enormes Wachstumspotenzial. Seien es die Bereiche autonomes fahren"

    --> wir auch suchen gerade Senior C++ Entwickler in Berlin. AAI testet die Software von selbst fahrenden Autos in einer 3D Simulationsumgebung.

    https://jobs.lever.co/automotive-ai



  • Gast12345 schrieb:

    "Meine Meinung zu dem Thema ist, dass die Zukunft für C++ (Entwickler) rosiger denn je ist. Denn dort wo Stückzahlen und die Kosten für Hardware ein Faktor sind, sehe ich aktuell enormes Wachstumspotenzial. Seien es die Bereiche autonomes fahren"

    --> wir auch suchen gerade Senior C++ Entwickler in Berlin. AAI testet die Software von selbst fahrenden Autos in einer 3D Simulationsumgebung.

    https://jobs.lever.co/automotive-ai

    darf man fragen wie die Bezahlung aussieht? Klar ist das individuell verschieden, aber nur mal um grob abschätzen zu können ob der Job in die Kategorie "nicht mal drüber nachdenken" oder in die Kategorie "möglicherweise interessant" fällt.
    Vielen Dank!


Anmelden zum Antworten