Zukunft



  • Vielleicht hilft Dir dieses wohl durchdachte Statement (allerdings nicht mehr aktuell):
    http://www.haw-hamburg.de/rzbt/dankert/ccppjava.html/

    Ich würde Dir momentan zu C++/Qt4 raten.
    Buch: Jasmin Blanchette, Mark Summerfield "C++ GUI Programmierung mit Qt 4"



  • Will ja niemandem beleidigen, aber der Text ist 10 Jahre alt!!! 👎



  • Artchi schrieb:

    Will ja niemandem beleidigen, aber der Text ist 10 Jahre alt!!! 👎

    es steht aber nichts wesentlich falsches drin 👍



  • Im grunde kann man sagen, dass C++ in den nächsten 8 Jahren vollkommen vom Markt verschwinden wird und durch produktivere Sprachen ersetzt wird.



  • Remmbrant schrieb:

    Im grunde kann man sagen, dass C++ in den nächsten 8 Jahren vollkommen vom Markt verschwinden wird und durch produktivere Sprachen ersetzt wird.

    Ach was sind wir lustig 🙄



  • Remmbrant schrieb:

    Im grunde kann man sagen, dass C++ in den nächsten 8 Jahren vollkommen vom Markt verschwinden wird und durch produktivere Sprachen ersetzt wird.

    I doubt C# will ever replace C++ - these are just different tools for different types of tasks. For instance, I can barely imagine someone writing a driver in C#, and that sort of tasks



  • Hm ich könnte mir aber schon gut vorstellen, dass in den nächsten 15-20 Jahren, insbesondere C/C++ Programmierer sehr begehrt sein werden, da heutzutage ja sowieso die meisten nur noch C#/Java und Konsorten lernen. Die meisten existierenden Programme sind aber nach wie vor in C++ geschrieben, und die muss ja auch jemand warten oder migrieren, oder sonstwas...



  • Es gibt heutzutage nicht mehr die Sprache für alles, man kann aber für Neuentwicklungen sagen:

    Enterprise/Business Software: Java / C#
    Verteilte-Systeme: Java / C# / minimal C++
    System Software: C / C++
    Lowlevel: Assembler / C / C++
    Numerische Berechnungen: Fortran / C / C++
    Multimedia Desktop-Software: Alles
    Spieleprogrammierung: Kann ich nichts zu sagen, denke aber primär C++ vielleicht auch C#

    Bei Legacy-Systemen kommt alles zum Einsatz... 😉

    Den größten Markt an Arbeitsplätzen stellt derzeit ganz klar der Business-Software/Enterprise/verteilte Systeme Bereich dar.

    nep schrieb:

    Die meisten existierenden Programme sind aber nach wie vor in C++ geschrieben, und die muss ja auch jemand warten oder migrieren, oder sonstwas...

    Autsch! Ich würde eher sagen Assembler, C und COBOL.



  • mikk schrieb:

    Remmbrant schrieb:

    Im grunde kann man sagen, dass C++ in den nächsten 8 Jahren vollkommen vom Markt verschwinden wird und durch produktivere Sprachen ersetzt wird.

    I doubt C# will ever replace C++ - these are just different tools for different types of tasks. For instance, I can barely imagine someone writing a driver in C#, and that sort of tasks

    Ich kann mir vorstellen, einen Betriebssystem-Kernel in C# zu schreiben. Ist auch schon geschehen.



  • Ich kann mir nicht vorstellen, was richtig low-leveliges mit C# zu machen. Ist auch noch nie geschehen.



  • Optimizer schrieb:

    Ist auch schon geschehen.

    ja, zu native code compiliert und ganz unten mussten doch c und assembler dran.
    tolle sache... 👎
    ich glaub' ich mach mal'n os in qbasic 😃



  • TactX schrieb:

    Ich kann mir nicht vorstellen, was richtig low-leveliges mit C# zu machen. Ist auch noch nie geschehen.

    Führe doch bitte mal genau aus, was mit C# nicht möglich ist in Punkto low-level Programmierung im Vergleich mit C++.

    ten schrieb:

    Optimizer schrieb:

    Ist auch schon geschehen.

    ja, zu native code compiliert und ganz unten mussten doch c und assembler dran.
    tolle sache... 👎
    ich glaub' ich mach mal'n os in qbasic 😃

    Was ist denn das für ein Aussage? 😕 Überraschung, wenn man ein Betriebssystem schreibt benötigt man Assembler-Kenntnisse und Native Code. 😮 😮
    Und das ist natürlich genauso, wenn man C++ verwendet. Oder hast du schon mal ein Betriebssystem gesehen, dass zu 100% in einer Hochsprache geschrieben ist? Dass irgendwo C verwendet wurde, scheint mir eine Erfindung von dir zu sein.



  • Optimizer schrieb:

    TactX schrieb:

    Ich kann mir nicht vorstellen, was richtig low-leveliges mit C# zu machen. Ist auch noch nie geschehen.

    Führe doch bitte mal genau aus, was mit C# nicht möglich ist in Punkto low-level Programmierung im Vergleich mit C++.

    Z.B. einen kleinen Microcontroller effizient programmieren. Oder halt genau die Teile die bei Singularity eben auch nicht schön in der warmen VM rennen.



  • Hi,

    bei dem ganzen "Sprachenkrieg" sollte man nicht vergessen, dass das Hauptproblem in der IT heutzutage (war vllt. schon immer so) nicht ist, Code zu erstellen. Mindestens 90% der Codings ist recht einfaches Zeug, das mitnichten die Grenzen einer modernen Programmiersprache (egal welcher) ausloten...

    Und: 90% der Zeit verbringt man mit Nichtprogrammieraufgaben.
    Bei uns vergehen 90% der Projektzeit damit,

    • Mit dem Kunden zu klären, was seine Anforderungen eigentlich sind und seine konzeptionellen Schwächen auszubügeln (40%)
    • Sich ein geeignetes Design auszudenken (auf Basis einer bestehenden Infrastruktur) (25%)
    • geeignete Testverfahren zu definieren und durchzuführen (25%)

    Das mag für "fahrende Händler ähh Programmierer" anders sein, aber in meinem beruflichen Umfeld ist das so.

    Gruß,

    Simon2.

    P.S.: Wir haben zwar auch technische und fachliche "Architekten", die sich mehr mit reinen informatikthemen beschäftigen, aber das sind 15-20 auf 700 Programmierer.



  • Simon2 schrieb:

    • Mit dem Kunden zu klären, was seine Anforderungen eigentlich sind und seine konzeptionellen Schwächen auszubügeln (40%)
    • Sich ein geeignetes Design auszudenken (auf Basis einer bestehenden Infrastruktur) (25%)
    • geeignete Testverfahren zu definieren und durchzuführen (25%)

    Also zweiteres gehört ganz klar zur Programmierung dazu. Letzteres eigentlich auch.



  • TactX schrieb:

    Simon2 schrieb:

    • Mit dem Kunden zu klären, was seine Anforderungen eigentlich sind und seine konzeptionellen Schwächen auszubügeln (40%)
    • Sich ein geeignetes Design auszudenken (auf Basis einer bestehenden Infrastruktur) (25%)
    • geeignete Testverfahren zu definieren und durchzuführen (25%)

    Also zweiteres gehört ganz klar zur Programmierung dazu. Letzteres eigentlich auch.

    ... wenn ich mir hier (nicht nur in diesem Thread) aber ansehe, worüber der Großteil der Diskussionen geführt wird - und was "ich-will-Programmierer-werden"-Poster fragen/denken - , habe ich den Eindruck, dass diese Themen deutlich unterrepräsentiert sind. 😉

    Gerade junge Leute, die "Programmierer" werden wollen, wissen das einfach nicht und es sollte ihnen hier IMO deutlicher gesagt werden.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Gerade junge Leute, die "Programmierer" werden wollen, wissen das einfach nicht und es sollte ihnen hier IMO deutlicher gesagt werden.

    Ist auch vollkommen richtig 👍



  • TactX schrieb:

    Optimizer schrieb:

    TactX schrieb:

    Ich kann mir nicht vorstellen, was richtig low-leveliges mit C# zu machen. Ist auch noch nie geschehen.

    Führe doch bitte mal genau aus, was mit C# nicht möglich ist in Punkto low-level Programmierung im Vergleich mit C++.

    Z.B. einen kleinen Microcontroller effizient programmieren. Oder halt genau die Teile die bei Singularity eben auch nicht schön in der warmen VM rennen.

    Das hat mit VM überhaupt nichts zu tun. Vielleicht solltest du dich mal genauer über die Möglichkeiten von C# informieren. Es gibt Pointer, nicht-GC Heaps, alles was du in C++ auch hast. In C++ gibt es nix tolles lowleveliges, was es in C# nicht auch gibt. Einfach herkommen und sagen "mit C# kann man nicht effizient programmieren" ist eigentlich nicht haltbar. Wenn dir eine Laufzeitumgebung zu heavy ist, dann lass sie weg. C# ist nur ein Sprache und dass ein Betriebssystem wie Singularity nicht in einer VM läuft ist doch auch völlig klar. Der BS-Code an sich wurde natürlich zu native Code compiliert, was nichts anderes ist als was die VM ohnehin immer macht.

    Und um zum Thema zurückzukommen. Die Teile von Singularity, die normalerweise in C oder C++ geschrieben worden wären, sind in C# geschrieben worden. Wo ist das Problem? Da bekommt man dann einfach zu hören "geht nicht geht nicht ist scheiße", ohne dass irgendwelche Details genannt werden. Ist doch völlig arm, findest du nicht?



  • Und das selbe gilt für Treiber. Natürlich kann man einen Treiber in C# schreiben. Und wenn ein Betriebssystem von Treibern eine bestimmte Schnittstelle erwartet, muss man sie erfüllen, dazu kann dann auch gehören, dass er als Native Code vorliegt. Alles kein Problem. C# ist nur ne Sprache. Ich muss schon sagen, mir ist eigentlich am Ende egal, wie mein Betriebssystem zustande gekommen ist und wahrscheinlich sind größte Teile von Windows Vista in C++ geschrieben. Trotzdem verwundert mich diese ohne-C-oder-C++-geht-es-nicht Ansicht stark.



  • Um es kurz zu machen gestehe ich meinen Fehler: Ich lese bei C# immer gleich C#/.NET inklusive VM, managed Code usw...
    Dass das nicht korrekt ist ist mir klar. Aber eben dafür wurde C# entworfen. C# ohne VM, ohne .NET macht einfach wenig Sinn.

    Aber ja, mein Fehler. Mea maxima culpa.


Anmelden zum Antworten