sind "Desktop-Programmiersprachen" tot?



  • Es muss ja nicht jeder Apps programmieren. Gibt noch genug andere Arbeit. Irgendwer muss auch das OS für die Handykisten bauen, die Server die die Handykisten mit Content befüttern, die Serveranwendungen die auf diesen Servern laufen, die ganzen Services die die Cloud am Himmel halten usw.
    Und das sind jetzt nur ein paar Beispiele.

    Lass die Kids den Handy-Kram machen, bzw. allgemein die Leute die sich für sowas interessieren.
    Wenn du schreibst dass du C, C++ und C# kannst, wäre vielleicht interessant das auszubauen. Bzw. noch gute SQL Kenntnisse dazu oder vielleicht Java lernen -- ist halt immer noch DIE Sprache in der Geschäftsanwendungen geschrieben werden (ausgenommen der Kunde ist MS-zentrisch).
    (Nicht dass ich Java toll fände, aber SO viel ekeliger als C# ist es auch nicht, und es wird halt viel verwendet.)

    Bzw. lern einfach irgendwas dazu was dich interessiert. Können kann man nie zuviel, und was einen interessiert lernt man schneller/besser. Nur stehn bleiben darf man nicht, sonst gehört man wirklich irgendwann zum Alteisen. (Das heisst nicht dass man nicht auch heute noch PROLOG oder FORTRAN Jobs bekommen kann. Aber SO viele sind es dann nicht, und ich persönlich hab' schon ganz gern die Auswahl.)



  • Ich habe beruflich seit 10 Jahren keinen mehr getroffen, der erstens C oder C++ programmieren kann und zweites Desktop-Apps entwickelt. In meinen Projekten geht es immer um Webapps, selbst der Backend wird da in Java oder PHP entwickelt. Erstens weil es eine Riesencommunity darum gibt, zweitens sich auch schnell wieder Entwickler finden, die man mit ins Boot holen kann oder die sogar allein weiter machen können.

    C/C++ ist jedenfalls in meinem Umfeld und den meiner Kollegen was fürs Hobby oder halt für die ganz Großen. Ansonsten sollte man heute als Entwickler so ziemlich jeden Kniff in Javascript, PHP, Java, CSS, HTML5 und natürlich die ganzen Frameworks (JQuery, Bootstrap, Zend, Smarty, etc.). Wer sich da erst groß einlesen muss, hat schon auf dem Arbeitsmarkt verloren. Ach ja bekannte Angriffe sollte man natürlich auch kennen und wissen wie man den Skriptkiddies nicht Tür und Tor öffnet.

    Das ist alles Wissen was man nicht mal so eben in einem halben Jahr inne hat, auch wenn man vorher schon C++ kann. Wer noch nie einen Front-Controller mit guten Autoloader implementiert hat oder erst mal googlen muss was das überhaupt ist, der ist kein Entwickler der heutigen Zeit mehr in meinen Augen.



  • Natürlich darf man sich heute auch kein Entwickler mehr nennen, wenn man nicht schon wenigtens für jedes Mobile Plattform eine App fertig bekommen hat. Web und Mobile sind DIE Zielplattformen der Entwicklung. Wer wissen will was gefragt und gebraucht wird muss sich nur in den Jobbörsen umschauen und ein Blick in die Entwickler-Zeitschriften gibt auch immer einen guten Überblick was gerade Stand der Technik ist. Der Weg geht nun man für 99% der Entwickler weg von Low-Level. Es wird immer Low-Level-Coder geben müssen, aber die große Mehrheit wird nie eine Zeile C oder C++ schreiben müssen.



  • MobileApps schrieb:

    aber die große Mehrheit wird nie eine Zeile C oder C++ schreiben müssen.

    Unser App Abteilung programmiert auch in C++.



  • Ich würde erwarten, dass C++ gerade in der ernsthaften App Entwicklung eine große Rolle spielt, da es so ziemlich die einzige Sprache ist, die zwischen allen großen Plattformen portierbar ist...



  • @dot
    Man kann auch WebKit + HTML5 + JavaScript nehmen.
    Oder andere Frameworks, die man in einer anderen Teletubby-Sprache skripted (wie z.B. Kivy/Python).
    Wobei da natürlich die Performance nicht so gut ist.

    D.h. WENN man mal ein Performance-Problem mit diesen Frameworks hat, dann kann man oft kaum was ausrichten.



  • Da hast du natürlich recht. Daher meine Ausnahmebehandlung für den Teletubbyfall:

    dot schrieb:

    [...] in der ernsthaften App Entwicklung [...]

    😉

    Aber gut, natürlich trifft das Attribut "portierbar" auf diese Sprachen auch zu...



  • Es gibt auch ernsthafte Apps, wo die Performance keine grosse Rolle spielt. Bzw. wo man alle performance-kritischen Sachen genau so gut in z.B. Python machen kann, weil Python dafür fertige Funktionen anbietet (die dann in recht gut optimiertem C implementiert sind).

    Und der Rendering-Teil selbst soll z.B. bei Kivy ziemlich gut optimiert sein. (Wie das bei WebKit aussieht weiss ich nicht, aber auch da würde ich annehmen dass das halbwegs gut optimiert ist. Muss ja auch in den Browsern flutschen trotz dem die Webseite aus 1 Mrd. Elementen besteht.)

    Mir ist speziell HTML5 + JavaScript auch ein Graus. Aber ich denke man kann damit ernsthafte Apps entwickeln. Die Frage ist eher ob man will.



  • Mechanics schrieb:

    MobileApps schrieb:

    aber die große Mehrheit wird nie eine Zeile C oder C++ schreiben müssen.

    Unser App Abteilung programmiert auch in C++.

    Darf ich fragen mit welchem Framework?
    Oder schreibt ihr den System- und GUI-Code doppelt/dreifach?



  • Mit Marmalade, und jetzt auch so ein bisschen mit der neuesten Qt Version.



  • Die Leute die Mobile-Apps in C++ schreiben sind wohl absolut in der Minderheit(vom Spielekram mal abgesehen), wenn man sich so die Stellenausschreibungen anschaut. Und ob einen HTML5 + CSS3 + Javascript nun gefällt oder nicht, hier werde die meisten Apps nun mal derzeit entwickelt. Entweder kann man da mitreden, oder bleibt halt außen vor.

    In der Software-Entwicklung macht ein Löwenanteil mit den "Teletubbi-Sprachen" rum. Warum auch nicht? Abstraktion gibt es immer und die wird nicht aufhören. Da wo man sich das Leben einfacher machen kann, macht man dies natürlich. Die ganzen Techniken der Software-Entwicklung bleiben dennoch bestehen. Das sind ja alles keine Spinner, die die ganzen Web- und Mobileapps programmieren.



  • kleinerZusatz schrieb:

    Das sind ja alles keine Spinner, die die ganzen Web- und Mobileapps programmieren.

    Ähm...
    Doch.



  • Mechanics schrieb:

    Mit Marmalade, und jetzt auch so ein bisschen mit der neuesten Qt Version.

    Cool, danke!
    Weisst du zufällig ob das Marmalade SDK auch für Apps geeignet ist die keine Spiele sind? Also so sachen wo man die ganzen üblichen GUI-Widgets braucht.



  • hustbaer schrieb:

    Mechanics schrieb:

    Mit Marmalade, und jetzt auch so ein bisschen mit der neuesten Qt Version.

    Cool, danke!
    Weisst du zufällig ob das Marmalade SDK auch für Apps geeignet ist die keine Spiele sind? Also so sachen wo man die ganzen üblichen GUI-Widgets braucht.

    Wir schreiben keine Spiele. Wir machen allerdings was im CAD/PDM Bereich, und da haben wir auch eine 3D Visualisierung von parametrischen Modellen, könnte man also auch als ein Spiel sehen 😉 Die Modelle kann man in der App aber eben auch konfigurieren, mit Schiebereglern, Eingabefeldern und so Zeugs. Genau kenn ich mich da aber nicht aus, ich mach da höchstens was an der Kommunikation und am Application Server dahinter.



  • naja soll auch Bereiche geben wo man sich für App Entwickler und Webentwickler lustig macht.
    Bringt aber relativ wenig sich da gegenseitig schlecht zu reden, schließlich hat wohl jeder sein Know How in seinem Gebiet.

    Also C++ hat vor allem einen Vorteil: die Sprache ist flexibel. Wir programmieren in der Firma die embedded software in C++. Gleichzeitig entwickeln wir mit C++, Delphi und C# die PC Software.
    Aus Interesse hab ich in der Freizeit mal ein Spiel für Android erstellt. Dank NDK komplett mit C++ und OpenGL programmiert. Verwendet habe ich STL und boost, was braucht man mehr...
    Mit meiner C++ App hätte ich wohl auch keine allzu großen Probleme, auf Apple iPhone zu portieren. Zumindest solange man gewisse Dinge kapselt.

    Ich kann mit C++ also Smartphones, embedded Hardware und PCs programmieren. Bin ich mit Javascript auch so flexibel? Spätestens bei embedded Software ist Schluss!

    Also ich würde mal sagen, solide Kenntnisse in einer "richtigen" Programmiersprache sind besser als in irgendeiner Skriptsprache.
    Aber das ist nur die Meinung eines C++ Entwicklers, ich denke ein Javascript Entwickler wird dir da was anderes erzählen 😉



  • WebApps schrieb:

    Ich habe beruflich seit 10 Jahren keinen mehr getroffen, der erstens C oder C++ programmieren kann und zweites Desktop-Apps entwickelt. In meinen Projekten geht es immer um Webapps, selbst der Backend wird da in Java oder PHP entwickelt. Erstens weil es eine Riesencommunity darum gibt, zweitens sich auch schnell wieder Entwickler finden, die man mit ins Boot holen kann oder die sogar allein weiter machen können.

    kommt halt auf die branche drauf an.
    ich kenne viele c++ entwickler, und auch viele arbeitgeber, die c++ entwickler suchen. hingegen kenne ich nur wenige webentwickler.
    auch um c++ gibt es eine riesen community, hab bis jetzt jede für mich unlösbare frage entweder hier oder per stackoverflow lösen können.

    du siehst: alles ist relativ.



  • Richtig. Ich treffe jeden Tag dutzende Entwickler, die in C++ Software für Desktoprechner entwickeln, in der Arbeit 😉 Und ich kenne ebenfalls keinen einzigen Webentwickler persönlich.



  • MobileApps schrieb:

    Natürlich darf man sich heute auch kein Entwickler mehr nennen, wenn man nicht schon wenigtens für jedes Mobile Plattform eine App fertig bekommen hat. Web und Mobile sind DIE Zielplattformen der Entwicklung. Wer wissen will was gefragt und gebraucht wird muss sich nur in den Jobbörsen umschauen und ein Blick in die Entwickler-Zeitschriften gibt auch immer einen guten Überblick was gerade Stand der Technik ist. Der Weg geht nun man für 99% der Entwickler weg von Low-Level. Es wird immer Low-Level-Coder geben müssen, aber die große Mehrheit wird nie eine Zeile C oder C++ schreiben müssen.

    wenns nach dem geht kenn ich keinen einzigen entwickler 😃

    auch die mir bekannten jobbörsen suchen eher java, c, c++,c# entwickler. und wenn ein mobile entwickler ausgeschrieben wird,liest man fast immer auch, das c++ kenntnisse erwünscht sinn. komplexe apps wie 3d spiele oder AR werden hauptsächlich mit c++ entwickelt.



  • megatron11 schrieb:

    bin aber mit einem Kollegen ziemlich hart aneinander weil der mir sagte dass ich keine Ahnung habe was Programmierung betrifft und stehen geblieben bin und wenn man keine Apps schreiben kann fürs Handy dann ist man sowieso bald beruflich erledigt.

    apps kann doch jede pfeiffe programmieren.
    aber an solchen sätzen erkennt man doch sofort die leute, die ein paar skriptsprachen, vielleicht noch java können, und glauben, sie habens voll drauf.

    du mit deinen c++ kenntnissen kannst locker eine app schreiben (android kann mit c++ programmiert werden!), während er bei "ernstzunehmender" softwareentwicklung wahrscheinlich ansteht.



  • Hier wird die Webentwicklung ja ganz schon arrogant diskreditiert. Begründet sich dies auf Fachwissen oder der totalen Unkenntnis?

    Was unterscheidet denn die Webentwicklung vom der C++-Entwicklung von Desktop/Mobiel/Embedded-Apps?

    Webentwicklung bedeutet in meiner Firma:

    - Fast nur studierte Leute.
    - Es wird in großen Projekten viel über Design-Pattern(PHP Front-Controller, MVC, Farbik, Command etc., Datenbank-Pattern wie MPTT etc.) gelöst, aber auch kleine Projekte sehr pragmatisch entwickelt(schlanke JSON-RPC etc).
    - Wenn es sich anbietet, wird auch viel auf Frameworks z.B. Zend aufgebaut.
    - Es sind Admins mit am Werk, die vom Rechenzentrum bis zum Webproxy, LDAP-Anbindungen, Nagios-Überwachung, IDS, Härtung alles gut im Griff haben.
    - Es wird nur mit Versionsverwaltung(SVN und neustens GIT) gearbeitet.
    - Bei komplexeren Projekten müssen automatisierte Tests her, ansonsten kann man viele Probleme mit Seiteneffekten bekommen.
    - Alles wird relativ einheitlich und für alle lesbar dokumentiert(Confluence)
    - Bugtracking und Projektverwaltung sind natürlich bei jedem Projekt auch mit dabei. ansonsten würde die Teamarbeit kaum so effizient lösbar sein.
    - Und ständig Weiterbildung steht natürlich auch auf dem Programm. Es gilt viele Sprachen/Frameworks/Techniken und deren Eigenheiten zu kennen.
    - Jede Woche Meetings.

    Das alles bedeutet heute Web-Apps auf die Beine zu stellen, denn es sind bei weitem nicht mehr einfach ohne Sinn und Verstand hingeklatschte PHP-Seiten. Da hat sich in den letzten Jahre eine Menge getan und tut sich immer noch. Da am Ball zu bleiben, ist bei weiten kein Zuckerschlecken. Und Sicherheit steht immer an erste Stelle.

    Jetzt würde mich aber schon einmal die Entwicklungsunterschiede interessieren, die müssen ja riesengroß sein, wenn hier so abwegig über die Webentwicklung geredet wird.


Anmelden zum Antworten