Geht eure Firma auch weg von C++ Desktopapplikationen?



  • Unsere Firma setzt jetzt voll auf JavaScript und Weboberflächen. Alter C++ Code wird portiert oder nur noch als minimaler Backend in Docker umfunktioniert. Es sollen keine neuen Desktopapplikationen mehr in C++ entwickelt werden.

    Ist bei euch eine ähnliche Entwicklung zu beobachten?



  • War das jemals eine gute Idee?



  • Mehr oder weniger... Die Hauptanwendung soll so langsam Richtung Web gehen. Eilt aber auch nicht so. Es werden aber auch ständig irgendwelche Tools entwickelt, das sind dann so gut wie nie Webanwendungen.



  • Bei uns sind neue Tools dann schon per AWS, Docker, Nodejs etc. in der Pipeline und die alte Große Monolith C++-Desktoapp wird wie gesagt nur der Kern als Backend in einem Docker überleben, der Kunde bekommt dann nur nur Weboberflächen mit Login etc. am Ende. Aber die Umstellung wird einiges an Zeit verschlingen, denn früher war ja oft alles ein Riesenklumpen C++-Code.



  • @servus_ sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    War das jemals eine gute Idee?

    Was? C++ Desktop oder Webapps? Erstere gab es ja schon, da waren Webapps echt keine Alternative. Heutzutage kann man überlegen. Wobei mit Webasm die Grenze fließend wird.

    In meiner letzten Firma gab es beides. Das Backend war in C++ und die Frontends per Rest API je nach Bedarf in Web oder C++ Desktop Form.



  • In meiner letzten Firma gab es beides. Das Backend war in C++ und die Frontends per Rest API je nach Bedarf in Web oder C++ Desktop Form.

    Genauso wird auch bei uns die Zukunft sein. Alles was mit GUI zu tun hat wird austauschbar und irgendwas mit C++ und GUI wird es nicht mehr geben, also kein Qt, wxWidgets oder sonst was.
    Selbst viele der Backendgeschichten werden jetzt von C++ so langsam auf Javascript portiert. Wer hätte gedacht dass JavaScript mal so wichtig werden wird.



  • Bei uns eher nicht,

    Wobei wir einen recht hohen Anteil an low level Zeugs haben (Rendering, Geräte zugriff) usw, und bei uns Hardware und Performance eine Rolle spielt
    (Aufm Arm A7 im einstelligen GB Bereich an RAM willst keine Frontend Backend Geschichten laufen lassen)

    Auch "Desktop" ist bei uns relativ (Tablets mit abgespeckten Intel CPUs weniger üppig RAM ...)

    "Cloud" gibts zwar, darf aber nicht vorrausgesetzt werden, weil Inet aufm Bau und in unwegsamen gelände nicht immer da ist .... besonders in Deutschland scheinbar ein Problem 🙂

    Ich denke das es technisch, wenn die Gegebenheiten da sind, es generell keine schlechte Idee ist. Standard Desktop Aps mit C++ ohne irgendeine Not ? Warum ?
    Auch Unser Zeugs würde man heutzutage, wenn man "neu" anfängt, sicher nicht zu 100% in C++ planen.
    Und auch meine Erfahrungen was Personal angeht -> ist einfacher Leute für modernere und komfortablere Dinge zu bekommen. Gute C++ Entwickler werden irgendwie selten(er).



  • Ja, Entwickler finden die gut C++ können ist sicher nicht einfach. Warum sollte man also das Risiko eingehen und alles in C++ machen? Node, React usw. erlauben zudem ja Cloud Apps, die auch gut offline funktionieren können.
    Für mich ist diese Umstellung jetzt hin zu WebApps auch neu, aber es macht einfach keinen Sinn mehr auf Qt, wxWidgets und sowas zu setzen. Und schnell sind die JavaScript Sachen auch, klar für einen Mikrocontroller oder wirklich sehr limitierte Hardware nicht, aber solche Apps entwickeln wir nicht und wenn man sich die portablen Smartphone- und Tablet-Hardware anschaut, dann langweilt sich auch eine Node Javascript App die meiste Zeit nur.

    Für mich ist jetzt die Zeit gekommen nie wieder was in Qt zu machen und mich endgültig auch dem Entwickeln von WebApps mit JavaScript usw. hinzugeben. C++ wird bleiben, aber nur noch für die alte Codebase, früher oder später soll alles bei uns nach JavaScript portiert werden. Es wird also auch der Tag kommen an dem ich meine letzte C++ Zeile schreiben werde.



  • @CppConst sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    aber solche Apps entwickeln wir nicht

    Wir aber schon.

    Mit ein wenig Glück darf ich bald Lidar Daten verarbeiten. Dann treffen über eine Million Punkte auf meine Algorithmen, und die sind stellenweise O(n^2), d.h. die Anzahl der Schritte beträgt über 1 Million * 1 Million. Selbst Programme wie BricsCAD oder Notepad++ gehen bei solchen Punktwolken stellenweise schon in die Knie.

    Von daher ist Javascript und Weboberflächen keine Option für uns.



  • @CppConst sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    Ja, Entwickler finden die gut C++ können ist sicher nicht einfach. Warum sollte man also das Risiko eingehen und alles in C++ machen? Node, React usw. erlauben zudem ja Cloud Apps, die auch gut offline funktionieren können.
    Für mich ist diese Umstellung jetzt hin zu WebApps auch neu, aber es macht einfach keinen Sinn mehr auf Qt, wxWidgets und sowas zu setzen.

    Also so pauschal kann man das jetzt nicht sagen. Multimonitoranwendungen zum Bleistift sind dann doch eher als Desktopapp machbar. Spiele gehen auch nur zu einem gewissen Level. Und dann gibt's noch das Zwischending WebASM. Das geht sogar mit C++.

    Für mich ist jetzt die Zeit gekommen nie wieder was in Qt zu machen und mich endgültig auch dem Entwickeln von WebApps mit JavaScript usw. hinzugeben. C++ wird bleiben, aber nur noch für die alte Codebase, früher oder später soll alles bei uns nach JavaScript portiert werden. Es wird also auch der Tag kommen an dem ich meine letzte C++ Zeile schreiben werde.

    Also ich bleibe lieber im Backend, also ganz ohne GUI. Da hoffe ich irgendwann auf Rust umsteigen zu können. Das kann denselben Bereich abdecken wie C++, hat aber aus dessen Fehlern gelernt.



  • @Tyrdal sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    In meiner letzten Firma gab es beides. Das Backend war in C++ und die Frontends per Rest API je nach Bedarf in Web oder C++ Desktop Form.

    Bei uns auch. Ich verantworte ausschließlich Backends, aber die Frontends werden inzwischen größtenteils nicht mehr in C++ gemacht. Zumindest nicht diejenigen, die keine großen Ansprüche an die Performance stellen.



  • Danke für eure Kommentare, ein paar Spezialfälle für C++ auch in GUI scheint es noch zu geben, die scheinen aber rar zu werden. OpenGL etc. geht ja auch mit Javascript, kommt halt immer drauf an wie viel Leistung man braucht.
    Eine andere Sache ist auch die Fehlersuche, ich brauch in der Regel bei C++ wesentlich länger um was zu fixen, erst recht wenn Templates mit im Spiel sind, deren Fehlermeldungen ich mehr als kryptisch finde. Dann findet man immer weniger Leute die an C++ Freude haben und sich damit dann auch auskennen.
    Rust wurde hier genannt, das ist sicherlich eine gute Alternative für Backend. Die Fehlermeldungen in Rust, bei meinen ersten Gehversuchen, fand ich sehr hilfreich.

    Heute war es dann soweit bei mir, ich habe meinen Arbeitsrechner neu installiert und diesmal kam kein Qt mehr mit rauf.

    Ruhe in Frieden Qt-Framework.



  • @CppConst sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    Danke für eure Kommentare, ein paar Spezialfälle für C++ auch in GUI scheint es noch zu geben, die scheinen aber rar zu werden. OpenGL etc. geht ja auch mit Javascript, kommt halt immer drauf an wie viel Leistung man braucht.
    Eine andere Sache ist auch die Fehlersuche, ich brauch in der Regel bei C++ wesentlich länger um was zu fixen, erst recht wenn Templates mit im Spiel sind, deren Fehlermeldungen ich mehr als kryptisch finde. Dann findet man immer weniger Leute die an C++ Freude haben und sich damit dann auch auskennen.
    Rust wurde hier genannt, das ist sicherlich eine gute Alternative für Backend. Die Fehlermeldungen in Rust, bei meinen ersten Gehversuchen, fand ich sehr hilfreich.

    Heute war es dann soweit bei mir, ich habe meinen Arbeitsrechner neu installiert und diesmal kam kein Qt mehr mit rauf.

    Ruhe in Frieden Qt-Framework.

    Diese Entwicklung mag ich überhaupt nicht. Dadurch wird der Browser zum OS im OS. Ist irgenwie doppelt gemoppelt.



  • Wo ich gerade JavaScript höre, hätte ich noch eine Frage.

    Als ich vor einiger Zeit mit JavaScript programmierte, funktionierte unter NetBeans das IntelliSense nicht so recht. Das Anzeigen aller Member einer Klasse funktionierte nicht, sondern es wurden nur die im Dokument verwendeten Aufrufe angezeigt.

    Ist dies inzwischen besser geworden?


    Übrigens gefällt mit das IntelliSense für Python mit Visual Studio Code + Python AddOn + Pylance AddOn sehr gut.



  • @Quiche-Lorraine sagte in [Geht eure Firma auch weg von C++ Desktopapplikationen?]

    Als ich vor einiger Zeit mit JavaScript programmierte, funktionierte unter NetBeans das IntelliSense nicht so recht. Das Anzeigen aller Member einer Klasse funktionierte nicht, sondern es wurden nur die im Dokument verwendeten Aufrufe angezeigt.

    Ist dir klar dass es in JavaScript keine Klasse gibt?



  • @hustbaer sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    Ist dir klar dass es in JavaScript keine Klasse gibt?

    Hmm, ok ich habe schon lange nichts mehr mit JavaScript gemacht. 🤔

    Ich habe aber mal nachgeschaut. Und zwar nutzte ich vor einiger Zeit HTML + three.js. Schaue ich mir die Doku von TrackballControls von three.js an, so habe ich etwas mit einem Konstruktor, Properties und Methods.

    TrackballControls von three.js

    Das sieht sehr nach einer Klasse aus. Und erst recht wenn ich den Source Code von TrackballControls.js anschaue (findest du im Link ganz unten).

    PS:
    Auch in der Dokumentation von SelfHTML werden Klassen beschrieben.

    JavaScript/Tutorials/OOP/Klassen und Vererbung



  • Ok, Leute, ich habe heute mit meinem Chef gesprochen und ich bin nun komplett raus aus C++. Soll heißen, meine Zukunft heißt nur noch JavaScript hauptberuflich. Damit hat sich leider auch das Forum hier erledigt. Der endgültige Wechsel war aber auch abzusehen und jetzt wo das meiste vom C++-Backend auch nach JavaScript portiert wurde und sehr gut läuft, hat sich C++ für unsere Projekte einfach erledigt.



  • Er hat sich aber auch direkt gelöscht 😃 ...



  • @hustbaer sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    Ist dir klar dass es in JavaScript keine Klasse gibt?

    Es gibt Prototyp Klassen in JavaScript. Warum man nun diese zwanghaft als Nichtklassen bezeichnen muss, ist mir schleierhaft. Leider wird in vielen Sprachen beständig neues Vokabular eingeführt, um sich von anderen Sprachen abzusetzen. Was leider die Verständigung erschwert.



  • @Ashtari sagte in Geht eure Firma auch weg von C++ Desktopapplikationen?:

    Er hat sich aber auch direkt gelöscht 😃 ...

    Da war wohl die Freude über die Neuigkeiten sehr groß.



  • @Quiche-Lorraine Klassen in JavaScript sind eine relativ neue Erweiterung die bloss syntactic sugar über die Prototype-Sache ist. Wurden in ECMAScript 2015 hinzugefügt.

    Der Knackpunkt ist aber dass Variablen in JavaScript nicht typisiert sind. Wenn du das möchtest, musst du sowas wie TypeScript verwenden.

    JavaScript IDEs versuchen natürlich trotzdem ne brauchbare auto-completion anzubieten. Wundert mich aber nicht dass die dann manchmal nicht so funktioniert wie sie sollte.


Anmelden zum Antworten