C/C++ wieder im kommen?



  • Hi Knivel,

    Dein Posting sagt leider nicht aus, auf wessen Aussagen sich Deine Zitate beziehen. Außerdem ist es ein durchgehender Block Text, den ich nicht auseinander klamüsern will, deswegen nur ein allgemeiner Comment:

    knivil schrieb:

    Auch deswegen rate ich jedem ernsthaften Entwickler C++ zu lernen.

    Ich rate zu Lisp. Dann gibt es auch noch ML. Haskell ist vielleicht zu "theoretisch". Forth bzw. Factor sah auch sehr interessant aus.

    Hier ging es vorrangig um C++ und relativ dazu Sprachen, die in der Welt interessieren, in der mit Programmierung Geld gemacht wird: "Beruf und Ausbildung" heißt das Forum. Das ist im Ausnahmefall auch mit Lisp, ML, Haskell Forth und Factor sicher auch der Fall. Aber auch einen Diplom-Museumspädagogen findest Du vermutlich eher bei Aldi an der Kasse als in einem Museum.

    Wer Scala/Lisp/... im Job braucht, lernt Scala/Lisp/... im Job. Wer Entwickler werden möchte, um in den Job zu kommen, lernt etwas, was zu (halbwegs) guten Chancen für einen Job führt, wo also entsprechend Bedarf existiert. Solche Kenntnisse werden häufig als 'Aha... machen wir hier nicht...' abgetan.

    C++ habe ich bisher überall programmiert. Ich war allerdings bisher nur ein einziges Mal als C++-Entwickler eingestellt. List, ML, Haskell, Forth, Factor oder Scala habe ich noch nirgendwo gesehen und auch nie die Überlegung gehört, etwas in der Richtung einzuführen.
    Wenn es darum geht Chancen auf einen Job zu haben, würde ich eher noch zu Fortran raten, das konkurriert aber auch nicht mit C++.



  • Gregor schrieb:

    Verstehe ich nicht. Java "gehört" zum Beispiel einer Firma und ist trotzdem unglaublich erfolgreich. Auch auf lange Sicht.

    Ja, Java ist sehr erfolgreich, ist aber auch ein Beispiel für das, was ich meine. So ein Erfolg provoziert eine Gegenbewegung, siehe .net.

    Einen wirklich industrieübergreifenden Standard kann man so nicht schaffen. So was geht nur mit Dingen wie Html und XML, die man nicht gleich mit einem Firmennamen assoziert.

    Schau Dir IBM und HP an, die hatten sich von C++ weitgehend verabschiedet. Jetzt kommen sie wieder ins ISO Kommitee und starten diese Foundation mit. Es ist unwahrscheinlich, dass Firmen dieser Größe in so einer Weise heute noch bei Java einsteigen würden.

    Was neue Sprachen angeht, gut hinter D steht niemand großes. Das ist schon mal ein Problem. Aber selbst wenn sich einer D annehmen würde, würde wohl eher etwas passieren, wie bei Google Go. Der Rest der IT-Welt würde es mehr oder weniger ignorieren.

    C++ ist gewissermaßen neutral, so dass Firmen wie Intel und ARM, oder MS und Google, gemeinsam drüber reden können, ohne dass im Hintergrund die Messer gewetzt werden.

    Übrigens noch zu den Membern dieser C++ Foundation: Hinter dem Mitglied "HSA Foundation" stehen auch wieder ARM und unter anderem AMD und Samsung. Also wirklich eine beeindruckende Mitgliedsliste, dagegen wirkt Boost wie ein Kleingärtnerverein.

    Schätze mal die werden in den nächsten Jahren einiges auf den Weg bringen.



  • Xin schrieb:

    Wenn es darum geht Chancen auf einen Job zu haben, würde ich eher noch zu Fortran raten, das konkurriert aber auch nicht mit C++.

    Fortran hat genau ein Einsatzgebiet, in dem es groß ist und auch noch lange groß sein wird. Das ist das wissenschaftliche Rechnen, vor allem auf Supercomputern. Es gibt einige Gründe, warum Fortran da groß ist:

    1. Fortran ist leicht zu lernen und die Programmierer kommen nicht aus einem Informatikhintergrund. Die Einstiegshürde ist also gering.

    2. Fortran hat eine große Vergangenheit in diesem Bereich. Das heißt, dass jede Menge Fortran Code in dem Zusammenhang existiert und, dass vorhandene Entwicklungen auch von Leuten mit Fortran Know-How durchgeführt werden. In dem Bereich existiert also auch eine Menge Wissen zu Fortran.

    3. Fortran Compiler sind sehr gut und produzieren sehr schnellen Code. ...auch von Leuten, die nicht die allerfeinsten Sprachnuancen kennen. Letztendlich liegt das auch daran, dass die Sprache relativ unkompliziert ist. Wenn man Supercomputer nutzt, um seinen Code laufen zu lassen, dann ist es natürlich klar, dass man in jeder Hinsicht das letzte bisschen Performace herausholen möchte.

    4. ...vermutlich noch ein paar weitere Gründe.

    Es gibt auch eine Sprache, mit der Fortran in diesem Bereich konkurriert. Und das ist C++. Es gibt in dem Bereich eine ganz langsame Verschiebung hin zu C++.



  • nn schrieb:

    Einen wirklich industrieübergreifenden Standard kann man so nicht schaffen. So was geht nur mit Dingen wie Html und XML, die man nicht gleich mit einem Firmennamen assoziert.

    Schau Dir IBM und HP an, die hatten sich von C++ weitgehend verabschiedet. Jetzt kommen sie wieder ins ISO Kommitee und starten diese Foundation mit. Es ist unwahrscheinlich, dass Firmen dieser Größe in so einer Weise heute noch bei Java einsteigen würden.

    Auch wenn Java einem speziellen Unternehmen "gehört", sind an der Entwicklung dieser Sprache doch eine ganze Menge Firmen beteiligt. Es gibt den Java Community Process, durch den die grundsätzlichen Entscheidungen bezüglich der Entwicklung dieser Sprache getroffen werden. Dort geht es dann um demokratische Entscheidungen. Und jetzt guck mal, wer da drin ist:

    http://www.jcp.org/en/participation/committee

    ...jede Menge große Firmen, um es zusammenzufassen. Das geht von Twitter über Google und IBM hin zu Intel, ARM oder auch Credit Suisse oder SAP.



  • Wir arbeiten auch noch mit Fortran, allerdings gegen meinen Willen...

    Gregor schrieb:

    1. Fortran ist leicht zu lernen und die Programmierer kommen nicht aus einem Informatikhintergrund. Die Einstiegshürde ist also gering.

    Treffer.

    Gregor schrieb:

    2. Fortran hat eine große Vergangenheit in diesem Bereich. Das heißt, dass jede Menge Fortran Code in dem Zusammenhang existiert und, dass vorhandene Entwicklungen auch von Leuten mit Fortran Know-How durchgeführt werden. In dem Bereich existiert also auch eine Menge Wissen zu Fortran.

    Hier ist das Problem. Scala und C# zeigen allerdings, dass man Java gut ablösen kann, Anwendungen kommen und gehen, nur wenige bleiben dauerhaft.

    Gregor schrieb:

    3. Fortran Compiler sind sehr gut und produzieren sehr schnellen Code. ...auch von Leuten, die nicht die allerfeinsten Sprachnuancen kennen. Letztendlich liegt das auch daran, dass die Sprache relativ unkompliziert ist. Wenn man Supercomputer nutzt, um seinen Code laufen zu lassen, dann ist es natürlich klar, dass man in jeder Hinsicht das letzte bisschen Performace herausholen möchte.

    Das wird durch grausame Dinge erkauft und die Parameterübergabe erfordert laufend Dereferenzierungen... will man Speed, sollte man darauf (Fortran) verzichten.

    Gregor schrieb:

    Es gibt auch eine Sprache, mit der Fortran in diesem Bereich konkurriert. Und das ist C++. Es gibt in dem Bereich eine ganz langsame Verschiebung hin zu C++.

    2. ist das Problem... und die Leute machen ihren Job seit Jahren und haben einfach keine große Lust, sich umzuorientieren.
    Diese Leute gehen aber auch gerne in Rente, es wird also ein entsprechender Bedarf an Fortranentwicklern entstehen und sei es nur, um Fortranroutinen zu portieren.

    Fortran hat keine Zukunft, aber eben eine bedeutende Vergangenheit.



  • Xin schrieb:

    Fortran hat keine Zukunft, aber eben eine bedeutende Vergangenheit.

    Wenn Du mit "keine Zukunft" meinst, dass die Einsatzgebiete von Fortran nicht mehr ausgebaut werden, dann hast Du Recht. Allerdings gibt es in diesen Einsatzgebieten auch weiterhin Neuentwicklungen mit Fortran. Die Geschwindigkeit, mit der Fortran in diesen Gebieten an Relevanz verliert, ist unglaublich langsam. In 10 Jahren wird man Fortran für diese Anwendungen immer noch fast genauso viel nutzen. Insofern hat Fortran durchaus noch eine lange Zukunft. Das ist keine Frage von 5-10 Jahren. In 30 Jahren wird das vielleicht anders aussehen. Aber in kürzeren Zeitspannen kann man da nicht denken.



  • Gregor schrieb:

    Und jetzt guck mal, wer da drin ist:
    http://www.jcp.org/en/participation/committee

    Und ?

    Wie würde man die heute noch mal so zusammenkriegen ? Für D oder Google Go ?

    Fakt ist, C++ hatte so etwas bisher nicht. Das es plötzlich dazu kommt, ist ein starkes Indiz dafür, dass sich etwas tut.

    Nicht dafür das Java oder .net verschwinden. Aber offensichtlich gibt es da einen Bedarf, den diese nicht decken können.



  • Mit fold, map, filter verbinde ich ich meist Lisp bzw. Scheme.

    fold -> std::accumulate
    map -> std::transform
    filter -> std::copy_if

    Hinzu kommen noch lambda-Expressions und viele andere Algorithmen, die einfach nur unterschiedliche Geschmacksrichtungen von map, filter und fold sind. Von Templates mal ganz zu schweigen.

    Hier ging es vorrangig um C++ und relativ dazu Sprachen, die in der Welt interessieren, in der mit Programmierung Geld gemacht wird

    Schau mal unter die Oberflaeche. Ein Stueck Fleisch ernaehrt einen, aber wenn es weder gebraten noch gewuerzt ist, schmeckt es trotzdem nicht. Wenn ich die Wahl habe, entscheide ich mich fuer Geschmack.



  • nn schrieb:

    Fakt ist, C++ hatte so etwas bisher nicht. Das es plötzlich dazu kommt, ist ein starkes Indiz dafür, dass sich etwas tut.

    Ok, das mag sein. Da kenne ich mich nicht aus. Ich hatte bisher das Gefühl, dass die Entwicklung bei C++ durch den sehr trägen Standardisierungsprozess relativ langsam verläuft. Es kann sein, dass sich da jetzt einiges getan hat. Ich persönlich kenne mich da aber nicht aus.

    Ich denke aber, dass es durchaus auch bei Programmiersprachen, die einer Firma "gehören", zu derartigen Kollaborationen kommen kann. Java ist ein Beispiel dafür. Die Frage ist halt, inwiefern die jeweiligen Unternehmen Interesse an derartigen Kollaborationen haben. Ich kann mir derartiges auch bei neuen Entwicklungen vorstellen. Kann sein, dass es das für Google Go nicht gibt. ...aber vielleicht ist Google Go auch einfach nur eine Lösung für ein Google Problem und keine Lösung für ein Problem, das einen breiten Querschnitt der Industrie betrifft.



  • Gregor schrieb:

    Ich hatte bisher das Gefühl, dass die Entwicklung bei C++ durch den sehr trägen Standardisierungsprozess relativ langsam verläuft.

    Ja da scheint sich in der Tat etwas zu tun. Sutter hat in seinem Vortrag am Freitag eine Grafik gezeigt, wie sich die Teilnehmerzahl an den ISO Meetings entwickelt hat, nämlich in den letzten Monaten fast verdoppelt. Man kann jetzt mehr Arbeitsgruppen parallel arbeiten lassen.

    Eine ganze Reihe von Firmen fahren neuerdings ihr Engagement im C++ Bereich hoch, in soweit ist das keine Kehrtwende bei MS, sondern die folgen lediglich einem Trend. Möglicherweise ist ja IBM in Sachen Java zu ganz ähnlichen Erkenntnissen gekommen, wie MS bei .net.

    Wo das hinführen wird, kann man im Moment nicht sagen. Man spürt lediglich, dass der Wind sich dreht.

    Gregor schrieb:

    Ich denke aber, dass es durchaus auch bei Programmiersprachen, die einer Firma "gehören", zu derartigen Kollaborationen kommen kann.

    Sicher. Aber dann muss wie bei Java der Zeitpunkt günstig sein und etwas neues geboten werden. Ich denke aber nicht, dass im Moment jemand in der Lage ist, einen C++ Nachfolger in den Markt zu drücken. Nur darauf bezog sich meine Argumentation.



  • Java ist einer der Sprachen für die neue Computer-Ära der Mobiledevices, warum sollte gerade die langsam aussterben? Das macht überhaupt keinen Sinn. Baut SAP nicht auch auf Java und diverse Großwebprojekte wie eBay?

    Ich glaube einen wirklichen Untergang von C,C++,Java,Javascript und PHP werden wir nicht mehr erleben.



  • Lichtweite schrieb:

    Ich glaube einen wirklichen Untergang von C,C++,Java,Javascript und PHP werden wir nicht mehr erleben.

    Ehrlich gesagt bin ich aber dafür, weil diese imperativen Sprachen einfach nicht für Multicore optimiert/geeignet sind. Außerdem sind sie ziemlich verbose/gesprächig.



  • Bei PHP würde Multicore auch wenig Sinn machen, da eh per Zugriff eigene Threads starten, die dann verteilt werden. Jedenfalls glaube ich mal so etwas gelesen zu haben.

    Ganz viel wird wohl auch in Javascript in Zukunft gemacht werden. Der Browser wird ja immer mehr, neben den Apps für mobile Geräte, zum Ziel der Spielindustrie.

    Ich persönliche mag weder PHP noch Javascript, aber an einen Untergang zu Lebzeiten glaube ich nicht. Es werden doch heute schon viel mehr Webanwendungen und Webspiele genutzt als deren Desktop-Pendants, vermute ich allerdings nur. Allein HTML5 mit seinem Canvas/WebGL/Audio/Video sorgt schon für den Weiterbestand von Javascript.

    C++ bleibt für mich die Königssprache, aber sie ist wohl vielen Programmierern einfach zu schwer und warum sollte sie die sehr flache Lernkurve auch in Kauf nehmen, wenn sie mit einen anderen Werkzeug viel entspannter und kostengünstiger zum Ziel kommen?

    Also, ich denke die Sprachen bleiben soweit alle erhalten nur deren Präsenz wird immer mal schwanken.

    Mal schauen wer in 10 Jahren Recht behält^^



  • Lichtweite schrieb:

    Java ist einer der Sprachen für die neue Computer-Ära der Mobiledevices, warum sollte gerade die langsam aussterben? Das macht überhaupt keinen Sinn. Baut SAP nicht auch auf Java und diverse Großwebprojekte wie eBay?

    Da ich vorrangig die Theorie vertrete, dass Java eine sterbende Sprache ist: Mobile-Devices sind aktuell iOS (ObjectiveC), Windows 8 wird vermutlich nicht aufzuhalten sein (was vermutlich alles frisst was sich durch Visual Studio ziehen lässt - also kein Java) und natürlich Android (die eine VM haben, die über, aber nicht mit Java gefüttert wird). Java ist der Teil, der am leichtesten auszutauschen ist, weil er nur Zulieferer ist. Liefern können auch andere.

    Die neue Computer-Ära ist jetzt etwa 5 Jahre alt. Für eine "Ära" vielleicht etwas kurz. Alleine die Tatsache, dass vor 5 Jahren keiner Smartphones hatte, zeigt wie schnell sich in dem Bereich alles ändern kann. Davor war es noch die Symbian-Ära... Kennt noch wer Palm? 😉
    Android ist dabei das beliebteste, aber irgendwo auch nur eine Kompromisslösung. Windows 8 hat die Chance einfach so zu verschwinden, wie auch ein großer Erfolg zu werden. Ich schätze, dass Android am ehesten die Chance hat, sich selbst in Konkurrenz aufzuspalten, denn die Update-Fähigkeit ist hier ja eher bescheiden. Amazon bietet bereits einen Fork an - und wenn man ehrlich ist, bedeutet jedes Händi-Modell quasi einen eigenen Fork. Da wird sich was ändern müssen, oder es fällt früher oder später aus der Rechnung raus.

    Dass Java eine Luftnummer ist, sagte ich bereits während des Hypes, also so um die 2001. Und zwar während man mir Java beibrachte. Aber SAP arbeitet damit, hört man immer noch. Vor zwei oder drei Jahren fragte ich einen befreundeten SAP-Programmierer zu Java bei SAP. Er grinste und meinte, dass wichtige Javaprojekte neu implementiert werden und Kleinst-Projekte in Java nur noch von Leuten angefangen werden, die frisch bei SAP und noch nicht geimpft sind.
    Klingt für mich nach einer großen Vergangenheit, nicht nach einer großen Zukunft.

    Lichtweite schrieb:

    C++ bleibt für mich die Königssprache, aber sie ist wohl vielen Programmierern einfach zu schwer und warum sollte sie die sehr flache Lernkurve auch in Kauf nehmen, wenn sie mit einen anderen Werkzeug viel entspannter und kostengünstiger zum Ziel kommen?

    Erfahrungsgemäß hat die Lernkurve in C# und besonders in Java quasi einen Absacker, wenn man aus dem gewohnten Environment raus muss, um Dinge zu erledigen, die man in C# oder Java nicht kann. Dann muss man umdenken - meistens zu C/C++ und kann erstmal gar nix. Java-Programmierer sehen mit JNI überhaupt nicht entspannt aus und auch für C++-Entwickler sieht das nicht schön aus.
    Wir machen das ganze mit C#, bzw. .NET, da werden komplette Datenstrukturen zwischen .NET und nativem Code hin und hergeschoben. Der selbstgeschriebene Codegenerator dafür funktioniert inzwischen wahrscheinlich zuverlässig. 😉
    Die C#-Entwickler werden diesen aber nicht reparieren, falls der Autor mal ausfällt. Ist der Autor in Urlaub, dann bin ich das hoffentlich auch. ^^

    Es gibt da nämlich auch eine Kurve, die die Herausforderung beschreibt. Diese ist bei C++ am Anfang vergleichsweise steil, sie flacht auch nie wirklich ab, aber so lernt man auch, dass man auch größere Herausforderung leisten kann. Ich mache Compilerbau, 3D-Konstruktion und -Visualisierung, Web- und Netzwerkprogrammierung und Datenbanken - alles in C++. Flache Lernkurven wären Fließbandarbeit - dafür braucht man Java/C# ja letztendlich auch. In Java und C# sind ist die Herausforderung am Anfang flacher, entspannter und vor allem - darum geht es schließlich - kostengünstiger. Eine kostengünstigere Ausbildung bedeutet auch ein kostengünstigeres Gehalt für den Arbeitgeber.

    Dann kommt aber der Moment, wo das Projekt die Größe erreicht, wo es beginnt unüberschaubar zu werden, einem Exceptions aus ganz anderen Teilen des Programms um die Ohren fliegen, die man hier eigentlich gar nicht erwartet hat. Und plötzlich steht eine oder zwei Woche Debugging in der Tür für ein Problem, das kaum einer begreifen kann, geschweige den reproduzieren kann. Gleichzeitig kommt das Feature, das eigentlich entwickelt werden soll, nicht weiter und ein anderes Team, das auf das Feature wartet läuft aus der Planung. Das Meeting, in dem das ganze mit allen besprochen wird, ist nun der kleinste Kostenfaktor.
    Wie reproduziert man überhaupt das Szenario, damit man es überhaupt debuggen kann, wenn die Exception nur alle paar Stunden mal fliegt?
    Im Idealfall kommt es zu einem Exception-Ping-Pong: Die Exception, die mir um die Ohren fliegt, kommt aus einem Teil des Programms, das gar keinen Fehler enthält. Die Exception fliegt nur, weil denen halt eine andere Exception um die Ohren fliegt und wo kommt die jetzt wieder her?
    Alles schon live gesehen... ist lustig, vor allem kurz vor Deadlines.
    Auf einmal wird ein abstürzendes Programm zu einer echt coolen Sache: den das Programm hält da an, wo der Fehler auffällt. Das hätte die Sache deutlich vereinfacht.

    Das ganze hat schon länger nichts mehr mit entspannt oder kostengünstig zu tun. Die Herausforderung, die zu Beginn so entspannt und flach war, ist auf einmal ein Steilanstieg mit Überhang ohne Sicherungsseil, denn die Kosten laufen ja stündlich weiter, inkl. für die Entwickler, die jetzt mit irgendwas anderem beschäftigt werden müssen und den Projektleiter, der sich erstmal was aus den Fingern saugen muss, weil sich seine Planung gerade auflöst.

    Das alles ist mit etwas Kenntnis der Sprachen absehbar, es ist im Javadesign regelrecht festgeschrieben, sofern man sich in einem Hype nicht dem allgemeinen Optimismus hingibt, dass jetzt alles möglich ist und alles viel einfacher und vor allem k o s t e n g ü n s t i g e r. ^^

    Wer glaubt, dass Java eine Folge von Weiterentwicklung in der Informatik ist, der sollte mal einen BWL-Kurs machen und dort lernen, welche Buzzwords man wo braucht. 😉

    C++98 hat auch keine Zukunft, mit C++11 und der Aussicht auf C++14 wird die Sache hier wieder interessanter. ^^
    Nicht weil C++14 hammergeile Features haben würde, sondern einfach nur, weil die Sprache nach 11 Jahren Winterschlaf auf einmal in Bewegung kommt.

    Lichtweite schrieb:

    Mal schauen wer in 10 Jahren Recht behält^^

    Dann interessiert es eh keinen mehr, was heute geschrieben wurde 😃



  • Die Geschichte mit den Exceptions ist ja mal echt geil und dass ein Programm, das einfach mal abstürzt, da eher ein Fortschritt darstellt steigert es nochmal. 😃

    Ich dachte immer, die meisten Android-Apps werden in Java programmiert? Wie das nun Intern funktioniert, da habe ich keine Ahnung?

    Du magst ja in vielem Recht habe, aber letztendlich kann man nicht in die Zukunft schauen. Ich bleibe dabei und lerne weiter C++ in der Hoffnung, ich habe lange was von. Das mache ich aber nur noch aus Fun, beruflich möchte ich nix mehr mit IT zu tun haben.



  • Lichtweite schrieb:

    Ich dachte immer, die meisten Android-Apps werden in Java programmiert?

    Ja werden sie auch und anschließend für die Dalvik VM compiliert.



  • Lichtweite schrieb:

    Die Geschichte mit den Exceptions ist ja mal echt geil und dass ein Programm, das einfach mal abstürzt, da eher ein Fortschritt darstellt steigert es nochmal. 😃

    In den besten Java-Hype-Zeiten gab es native Programme "Diese Anwendung musste beendet werden - [Ok]". Das meldet das OS und das war scheiße.
    Und es gab Java-Programme, die selbst erkannten, dass "Eine nicht behandelte Exception ist aufgetreten. Wenn sie das Programm beenden, sind alle Daten verloren. Drücken Sie Ok um das Programm zu beenden. [Ok]".
    Mich hat das eher aufgeregt, dass ich gesagt bekomme, dass meine Daten noch da sind und ich soll das jetzt mit O.K. bestätigen, sie zu killen.... das ist nicht "Ok" und ich bin da definitiv nicht "Ohne Kommentar", denn wenn man schon Exceptions gefangen hat, dann könnte man an der Stelle auf einen solch blöden Hinweis verzichten mit dem ich meine Daten selbst zerstöre darf.

    Lichtweite schrieb:

    Ich dachte immer, die meisten Android-Apps werden in Java programmiert? Wie das nun Intern funktioniert, da habe ich keine Ahnung?

    Man programmiert in Java, erhält .class'es für die JVM und konvertiert sie für die Android-VM. .class-Files könnte man auch ohne Java erzeugen.

    Lichtweite schrieb:

    Du magst ja in vielem Recht habe, aber letztendlich kann man nicht in die Zukunft schauen. Ich bleibe dabei und lerne weiter C++ in der Hoffnung, ich habe lange was von. Das mache ich aber nur noch aus Fun, beruflich möchte ich nix mehr mit IT zu tun haben.

    Man stelle sich das Gebiet der Informatik wie eine Stadt vor. In Deinem Haus hast Du Wasser und Strom und alles ist sauber: Hallo Java. Aber wenn das Klo verstopft ist, bist Du aufgeschmissen und es wird mit JNI dreckig. Mit .NET hast Du schonmal Nachbarschaft. Mit PHP stapfst Du mit Gummistiefeln im Garten durch die Blumenbeete. Weder darfst Du ins saubere Haus, noch kommst Du über den Gartenzaun.
    Und dann gibt's da noch die Lonerider. Die haben die Straßen gebaut, das Haus, den Garten. Und sie haben das Werkzeug dabei, aus der Wüste drumherum etwas aufzubauen. Das sind die maschinennahen Sprachen, wie Fortran, C/C++, Pascal.

    Wenn Du also mal raus in die freie Natur willst, da wo am Abgrund kein Sicherheitsgitter steht und ein Stream auch mal Stromschnellen hat, dann solltest Du wissen, was Du da tust. Und da bist Du mit C++ gut beraten. Wenn Du gut in C++ bist, dann baust Du Dir halt Dein Domizil außerhalb der Stadt. Etwas abgelegen, fließend Wasser und Strom musst Du Dir selbst bauen, aber es ist genauso so, wie Du es Dir vorstellst und brauchst.
    Viel Arbeit am Anfang. Aber man weiß genau, was wie funktioniert.



  • Oh Gott, soviel Text. Das ist entweder Politik oder Religion. Beides ist kacke!



  • Gibt es auch eine kritische Einschätzung? Das klingt alles so positiv...



  • Jede Sprache wird wohl mal ihr Ende finden, über den Zeitpunkt kann man trefflich streiten.

    Wer allerdings nur die Sprachen betrachtet, hat den Schuss nicht gehört.
    Es geht hier mittlerweile nur noch um Infrastrukturen, um Umgebungen, und gerade dort sind Sprachen wie Java extrem stark.
    Z.B. JBoss Application Server (J2EE) in Verbindung mit Eclipse RichClients und allem damit verbundenen Brimborium ist keine "Sprache".
    Es spielt keine Rolle, ob ich meine relativ kleinen Implementierungen in Java oder C++ oder irgendwas code, ich programmiere eh nur noch spezifische Teile für eine "Umgebung". Hier ist Java stärker denn je, eben weil diese Umgebungen unglaublich mächtig sind, und allein deshalb wird sich dessen Ende noch lange hinauszögern. Wenn ich mir hier auf der Firma das Java Magazin durchlese, kenne ich vielleicht 2 Prozent der ganzen Kürzel und Technologien.

    Außerdem stößt mir diese Behauptung auf, C++ sein "schwer" oder "elitär", nur weil die Sprache 100 tolle Wege bietet, sein Programm ins Nirwana zu fegen. Wenn ein Programmierer erstmal 5 Jahre "Overhead" aufbringen muss, um eine Sprache "richtg zu benutzen", ist das garantiert kein Merkmal für Qualität. Es ist uninteressant, dass aus einer ergebnisorierntierten Sicht zu betrachten, denn beim Kosten/Nutzen Aufwand wirst du eh den Kürzeren ziehen. Es ist also nur eine Frage der Anforderungen.
    Das C++ auch einfach historisch bedingt für systemnahe Programmierung stark ist, wo eben keine Highlevel Infrastruktur zur Verfügung steht, bedeutet nicht unbedingt, dass die Sprache genial ist, sondern dass die Konkurrenz entweder schlechter war oder einfach zu spät kam. Daher wird sich auch in Zukunft in diesem Bereich nicht viel ändern, weil du nun mal irgendwo anfangen musst. Von einem erneuten C++ Boom zu sprechen halte ich aber für... wagemutig.

    The right tool for the right job gilt natürlich nach wie vor, nur hat sich der Begriff "Tool" geändert. Und gerade im Bereich Cloud Cpomputing und Parallelisierung werden die Karten gerade neu gemischt.


Anmelden zum Antworten