Popularität



  • Hallo

    Wenn ich bei Google suche nach
    programming language popularity
    und dann auf den ersten Treffer gehe, kann ich sehen,
    daß
    1. Java die populärste Sprache
    2. C die zweitpopulärste
    3. Visu*lBasi* die drittpopulärste ist.

    Und dabei sind Java und C sogar noch auf dem aufsteigenden Ast,
    C,C++ und Perl auf dem absteigenden.

    Wie kann man diese Trends eigentlich erklären?
    Daß C trotz C++ so beliebt ist, ist sicher mitbeeinflußt dadurch, daß
    bei Embedd. Systems und Microcontrollern C sehr häufig verwendet wird und es
    auf der Welt vielleicht 10 bis 100-mal mehr Microcontroller als PCs gibt.

    Auf 5-Jahressicht hat C++ 30% verloren (15 -> 10), Basic dagegen 40% gewonnen
    (8 -> 11).

    Wieso ein Basic-Dialekt als Skiptsprache auf Platz 3 ist (und nicht etwa Perl
    oder Python) und VB sogar noch den deutlichsten Aufwärtstrend zeigt,
    verstehe ich nicht: In dem Maße, wie VB zulegt, geht Perl zurück.

    Funktionale Sprachen kommen praktisch gar nicht vor, die Liste teilt sich
    50:50 in prodzedurales und objektorientiertes. Irgendwie auch kein so ungeheuer
    motivierendes Signal für das Lernen anderer Sprachen. Da muß ich doch noch
    mal mein "Core Java"-Referenzbuch aus dem Regal holen.

    Grüße



  • Hobbyprogrammierer schrieb:

    Und dabei sind Java und C sogar noch auf dem aufsteigenden Ast,
    C,C++ und Perl auf dem absteigenden.

    Wow, dieses C ist ja wirklich omnipotent. Sowohl auf dem austeigendem als auch auf dem absteigendem Ast. 👍

    Meine einzige Erklärung dafür sind globale Variablen 😃

    Hobbyprogrammierer schrieb:

    Daß C trotz C++ so beliebt ist, ist sicher mitbeeinflußt dadurch, daß
    bei Embedd. Systems und Microcontrollern C sehr häufig verwendet wird und es
    auf der Welt vielleicht 10 bis 100-mal mehr Microcontroller als PCs gibt.

    Sehe ich genauso. Ausser die den Faktor 10-100. Ich denke da liegt noch mehr dazwischen.



  • c++ ist auch verdammt komplex und die programmierung in c++ ist sehr fehleranfällig im vergleich zu java, vb usw. ausserdem ist c++ ziemlich archaisch und deshalb ist es wohl nicht mehr so beliebt wie vor einigen jahren...



  • Aha? Und Google ist eine verlässliche Quelle? Halte es für sehr gewagt, in einer beliebigen Suchmaschine Suchbegriffe einzugeben, und dann daraus die Popularität einer Sprache zu bewerten.

    Mein freiberuflicher Projektkollege hat mir letzte Woche die Statistik bei GULP gezeigt, die angibt, welche Sprachen in den Projekten gefragt sind: 1. Java (gleichbleibend) 2. C++ (gleichbleibend!) 3. Visual Basic (absteigend)

    Hem, und jetzt? Ist nicht so ganz übereinstimmend, was du über google gefunden hast.

    So, dann schau ich mir mal Bjarne Stroustrups Informationen an: er meinte vor ein oder zwei Jahren, das IDC heraus gefunden hat, das C++ auf dem AUFsteigenden Ast ist. Und sie haben weiterhin heraus gefunden, das selbst an Unis wieder mehr C++ gelehrt wird.

    Dann schauen wir mal in die aktuelle iX-Ausgaben, in der Scott Meyers ein Interview zur C++ Zukunft gegeben hat. Seiner Meinung und Beobachtung nach, verlagert sich der Einsatz von C++ hin zu anderen Gebieten, die Performance und Leistung benötigen, z.B. Finanzsoftware (ganz bestimmt nicht Steuererklärung mit gemeint), Simulationen aller Art usw. Und vorallem sieht er auch, das C++ langsam aber sicher Embedded-C Konkurrenz macht. Was auch logisch ist, da auch Embeddedsysteme immer mehr Hauptspeicher und CPU-Power bekommen.

    Was gibts noch? Achja, Singularity (Betriebssystem von Microsoft Research Labs) hat die Basis in C++ entwickelt. Aha?!

    So, was sagst du jetzt? 😃



  • net schrieb:

    c++ ist auch verdammt komplex und die programmierung in c++ ist sehr fehleranfällig im vergleich zu java, vb usw. ausserdem ist c++ ziemlich archaisch und deshalb ist es wohl nicht mehr so beliebt wie vor einigen jahren...

    Ja, das C++ eine altmodische Sprache ist, sagt auch Scott Meyers. Aber auch, das Java/C# trotzdem die Vorteile von C++ einfach nicht wett machen können. C++ ist für Performance u.ä. einfach besser, Java/C# sind laut ihm (berechtigterweise) einfach nur für die Produktivität während der Entwicklung besser. Aber mehr auch nicht.

    Ich selbst merke es: in Java kann ich locker flockig neue Features in unsere Java-Systeme implementieren. D.h. der Kunde sieht ratz fatz Ergebnisse. Aber das waren auch schon die Vorteile! Wartung, Performance u.ä. sind in Java/C# einfach schlechter. In C++ sitze ich länger an meinem Codeeditor, aber ich habe _längerfristig_ mehr Benefit.



  • Artchi schrieb:

    Seiner Meinung und Beobachtung nach, verlagert sich der Einsatz von C++ hin zu anderen Gebieten, die Performance und Leistung benötigen....

    leistung erzielt man durch passende verfahren und algorithmen. weniger durch den einsatz einer bestimmten programmiersprache.

    Artchi schrieb:

    ...das C++ langsam aber sicher Embedded-C Konkurrenz macht. Was auch logisch ist, da auch Embeddedsysteme immer mehr Hauptspeicher und CPU-Power bekommen.

    das bedeutet aber nicht, dass die kleinen systeme aussterben. sie werden nur immer billiger und das macht sie weiterhin attraktiv für geräte, die in grossen stückzahlen produziert werden.

    btw: ausserdem vermittelst du mit dieser aussage, dass c++ viel speicher und rechenleistung braucht 😃 nana, und sowas will ein c++ fan sein 🙄



  • C++ selbst verursacht tatsächlich nicht mehr Speicherverbraucht. Hast du Recht. Aber design-bedingt macht das aber die STL... wenn ich von C++ spreche, beziehe ich auch die Std-Lib mit ein, und somit auch den STL-Teil. Dafür hab ich aber andere Vorteile, durch das Design der STL.



  • Artchi schrieb:

    Und vorallem sieht er auch, das C++ langsam aber sicher Embedded-C Konkurrenz macht. Was auch logisch ist, da auch Embeddedsysteme immer mehr Hauptspeicher und CPU-Power bekommen.

    Sehr gewagte Behauptung. Und was Bjarne Stroustrup und Scott Meyers "sehen" wundert mich überhaupt nicht.



  • net schrieb:

    leistung erzielt man durch passende verfahren und algorithmen. weniger durch den einsatz einer bestimmten programmiersprache.

    Aha? D.h. ich kann mit BASIC V2 (C64) durch geschickte Algos einen 6510-Assembler-Code überholen? 😮 Sorry, aber das ist humbuck. Die Sprache ist sehr wohl mitentscheidend. Und wenn ich in C++ einen guten Algo habe, schlage ich einen guten Java/C#-Algo.



  • Hallo

    @TactX: Hab' mich verschrieben. Ich wollte schreiben ".. und dabei sind
    Java und VB noch auf dem aufsteigenden .."

    @Artchi:
    Es geht mir gar nicht um die Qualität der Sprachen,
    sondern ich fragte nach den Gründen, wieso die genannten Sprachen an
    Popularität im betrachteten 1- bis 5-Jahrenzeitraum abnehmen oder zunehmen.
    Daß C++ in 5 Jahren laut Tabelle um 30% abgenommen hat, heißt ja *nicht*,
    daß C++ um 30% schlechter geworden ist. Und VB ist sicher nicht 40% besser
    geworden.

    Abgesehen davon ist mir C++ auch tausendmal lieber als Java oder Vi*ualBas*c.

    Grüße



  • Artchi schrieb:

    Die Sprache ist sehr wohl mitentscheidend.

    natürlich, aber oft weniger als man glaubt...



  • sondern ich fragte nach den Gründen, wieso die genannten Sprachen an
    Popularität im betrachteten 1- bis 5-Jahrenzeitraum abnehmen oder zunehmen.

    Warum sie an Popularität gewinnen, hab ich ja schon geschrieben: man kommt schneller zu Ergebnissen. Schon alleine die IDEs (Eclipse und NetBeans) lassen mich beim Coden mit ihrer intelligenten Codecomplition sehr schnell Features in meine Software einbauen. Aber das liegt auch daran, das die Sprachen nicht so komplex sind. Aber hier will ja MS mit ihrem VisualC++ auch aufholen, wie man in den VC++-Team-Blog lesen kann.

    Die Manager interessiert nur eines (ein Spruch der bei uns hier einfach bekannt ist): "Kann man schon was sehen?" 😃 Ja,das ist der Spruch der von den älteren Managern kommt, wenn sie ihren täglichen Rundgang in den Entwicklerbüros machen. Hauptsache es gibt von einem Tag auf den anderen neue Features zu sehen. Entsprechend sieht dann auch der Java-Code aus. 😉 Aber der interessiert die Manager nicht.

    Da wundert es mich nicht, das dieses Marketingfeature bei den Managern gut ankommt. Aber sie werden die Quittung später erhalten, wenn Java/C# längerfristig gesehn, ihre Nachteile offenbaren und C++-Software sich dagegen besser macht.



  • Artchi schrieb:

    net schrieb:

    leistung erzielt man durch passende verfahren und algorithmen. weniger durch den einsatz einer bestimmten programmiersprache.

    Aha? D.h. ich kann mit BASIC V2 (C64) durch geschickte Algos einen 6510-Assembler-Code überholen? 😮 Sorry, aber das ist humbuck.

    Stimmt, das ist ganz großer Humbug. Selbstverständlich kann man durch Wahl eines geschicktere Algos mit BASIC (egal welcher Dialekt) den Assembler-Code überholen (auc wieder egal welcher Dialekt).

    Das mag nicht bei jeder Aufgabe so sein, weil oft einer der besten Algorithmen offensichtlich ist. Aber manchmal gibt's eben doch Tricks, die man ausnutzen kann um nen deutlich schnelleren Algorithmus zu finden.



  • Offenbar kommen manche nicht ganz damit klar, dass nun mal C/C++ auf dem absteigenden Ast ist und Sprachen a la Java/C# immer wichtiger werden^^



  • nüchtern betrachtet schrieb:

    Offenbar kommen manche nicht ganz damit klar, dass nun mal C/C++ auf dem absteigenden Ast ist und Sprachen a la Java/C# immer wichtiger werden^^

    Ich habe nicht den Eindruck, dass sich C++ auf einem absteigenden Ast befindet. Aber vielleicht verschieben sich die Einsatzgebiete etwas. ...und wenn erstmal der neue Standard da ist, wird C++ seine Stellung sicherlich wieder ein bischen stärken können.



  • Artchi schrieb:

    Da wundert es mich nicht, das dieses Marketingfeature bei den Managern gut ankommt. Aber sie werden die Quittung später erhalten, wenn Java/C# längerfristig gesehn, ihre Nachteile offenbaren und C++-Software sich dagegen besser macht.

    Unsinn. Der Manager ist dann längst wo anders. 🤡

    Aber um mal auf Dein Argument zurückzukommen... ich sehe keinen Grund, warum C++-Code grundsätzlich wartbarer sein sollte als Java-Code oder C#-Code. Kannst Du mir das nochmal darlegen?



  • nüchtern betrachtet schrieb:

    Offenbar kommen manche nicht ganz damit klar, dass nun mal C/C++ auf dem absteigenden Ast ist und Sprachen a la Java/C# immer wichtiger werden^^

    Don't feed this troll.



  • Gregor schrieb:

    Artchi schrieb:

    Da wundert es mich nicht, das dieses Marketingfeature bei den Managern gut ankommt. Aber sie werden die Quittung später erhalten, wenn Java/C# längerfristig gesehn, ihre Nachteile offenbaren und C++-Software sich dagegen besser macht.

    Unsinn. Der Manager ist dann längst wo anders. 🤡

    Aber um mal auf Dein Argument zurückzukommen... ich sehe keinen Grund, warum C++-Code grundsätzlich wartbarer sein sollte als Java-Code oder C#-Code. Kannst Du mir das nochmal darlegen?

    Find ich auch komischer das C++ wartbarer sein soll als Java/C#

    Hauptsache es gibt von einem Tag auf den anderen neue Features zu sehen. Entsprechend sieht dann auch der Java-Code aus. Aber der interessiert die Manager nicht.

    Dann würde ich mal anfangen sauber zu programmieren. Was kann die Sprache dafür wenn man sowas nicht kann ?

    Ausserdem verwechselt ihr immernoch Sprache und Compiler. Also den theoretische Teil und den Teil der dann auf dem PC läuft.
    Wenn ihr sagt C++ ist doppelt so schnell wie Java, dann liegt das einfach nur daran das der C++ Compiler einen schnelleren Code generiert als der aktuelle Java-Compiler.



  • DEvent schrieb:

    Find ich auch komischer das C++ wartbarer sein soll als Java/C#

    heul, schluchz, damit ist jetzt auch der letzte vorteil von c++ dahin...



  • DEvent schrieb:

    Wenn ihr sagt C++ ist doppelt so schnell wie Java, dann liegt das einfach nur daran das der C++ Compiler einen schnelleren Code generiert als der aktuelle Java-Compiler.

    ... und daran, dass Java nicht "ordentlich" kompiliert wird, der Compiler also keinen echten Maschinencode ausgibt. Oder täusche ich mich und es gibt eine Möglichkeit einen VM-losen Java-Compiler zu schreiben?!


Anmelden zum Antworten