C++ - Neueinsteiger



  • <c++-anhänger>"Der Mainstream nicht, aber die Elite :)"</c++-anhänger>



  • Sind heute die Assemblerprogrammier die Elite? 😉



  • Hallo,

    das scheint ja mal wieder ein megainteressanter Flamewar zu werden. Was ich mich dabei immer frage ist, wieso so Aussagen wie

    Glamdrink schrieb:

    [offtopic]Außerdem mag ich Java nicht! Es lebe die Freihet![/offtopic]

    überhaupt getroffen werden müssen?! Wer kein Java mag, soll es eben lassen.... 🙄



  • interpreter schrieb:

    Wieso lese ich nur immer diese leichte Ignoranz aus C++ Anhängern raus, wenn sie über Sprachen wie Java, C# etc sprechen...

    weil sie nicht wissen dass die vm's zur laufzeit native code compilieren?



  • net schrieb:

    Glamdrink schrieb:

    [offtopic]Außerdem mag ich Java nicht! Es lebe die Freihet![/offtopic]

    deshalb coden auch viele c++ user 'c mit klassen'

    hat aber alles seine daseinsberechtigung.
    c -> maximale freiheit
    java -> maximale system-unabghängigkeit
    c++ -> von jedem etwas

    hö, bitte wie?



  • kingruedi schrieb:

    net schrieb:

    deshalb coden auch viele c++ user 'c mit klassen'

    hat aber alles seine daseinsberechtigung.
    c -> maximale freiheit
    java -> maximale system-unabghängigkeit
    c++ -> von jedem etwas

    hö, bitte wie?

    nicht? was meinst du denn?



  • Scheint hier wirklich etwas vom Topic abzudriften...



  • Hab mal was gelesen.

    Microsoft ist gegen Java und versucht das Windowsprogrammierung mit Java nich mehr möglich sein wird. Also Java einige Plattformen nur in Zukunft kein Windows mehr. Gerade anders rum C#. Ist speziell für die Windowsprogrammierung. C++ ist der lachende dritte da C++ glaub ich überall läuft.



  • @net
    Warum ist zum Beispiel C++ mehr Systemfreiheit als C? etc. ich versteh einfach nicht was du sagen willst



  • Facer schrieb:

    Hab mal was gelesen.

    Microsoft ist gegen Java und versucht das Windowsprogrammierung mit Java nich mehr möglich sein wird. Also Java einige Plattformen nur in Zukunft kein Windows mehr. Gerade anders rum C#. Ist speziell für die Windowsprogrammierung. C++ ist der lachende dritte da C++ glaub ich überall läuft.

    Das ist ja nicht nur OT sondern auch nocht Quatsch. 👎



  • Facer schrieb:

    Gerade anders rum C#. Ist speziell für die Windowsprogrammierung.

    theoretisch zwar nicht aber praktisch - ja

    Facer schrieb:

    C++ ist der lachende dritte da C++ glaub ich überall läuft.

    nee, c (ohne++) ist das schon immer gewesen. c gibt es für die schäbigsten controller



  • net schrieb:

    kingruedi schrieb:

    net schrieb:

    c -> maximale freiheit
    java -> maximale system-unabghängigkeit
    c++ -> von jedem etwas

    hö, bitte wie?

    nicht? was meinst du denn?

    Das Bild ist zu sehr vereinfacht. Klingt zwar logisch: C++ ist eine auf C basierende OOP-Sprache, muss also zwischen Java und C liegen. Ist aber nicht so. C++ ist genauso systemabhängig oder -unabhängig wie C (von exotischen Plattformen, µC usw. mal abgesehen). Was die Freiheit angeht, ist man in C++ theoretisch gegenüber C auch nicht eingeschränkt. Man schränkt sich IMO nur selbst ein, weil es in C++ sehr viel mehr Konventionen und Stilregeln gibt, an die man sich hält, weil man aufgrund der Komplexität der Sprache seine Entscheidungen und ihre Auswirkungen nicht in dem Maße überblicken kann wie in C.



  • kingruedi schrieb:

    @net
    Warum ist zum Beispiel C++ mehr Systemfreiheit als C? etc. ich versteh einfach nicht was du sagen willst

    c++ - von jedem etwas
    sollte heissen, oo aber auch prozedural wenn man will, nicht dass man in c weniger freiheiten hat als in c++.
    c++ verlangt halt mehr disziplin vom user um oo-paradigmen nicht auszuhebeln als andere oo-sprachen



  • Nicht gleich ausrasten wollte nur mal erwähnen was ich mal gelesen hab.



  • Bashar schrieb:

    C++ ist genauso systemabhängig oder -unabhängig wie C (von exotischen Plattformen, µC usw. mal abgesehen).

    klar, aber man kann mit c++ auch ein hohes mass an systemunabhängigleit erreichen, indem man libs einsetzt wie qt, sdl etc. man muss dann zwar für jede platform neu compilieren aber wenn man ausserdem keine exotischen compiler-features benutzt muss man wenig ändern.

    edit: ausserdem gibt's ja das gute #ifdef 🙂
    da hat java leider nix vergleichbares zu bieten (oder doch? das neue java 1.5 vielleicht?)



  • @net
    das kannst du in C auch ohne Probleme. Die SDL die du zB. ansprichst ist ja eine C Library.



  • Facer schrieb:
    Hab mal was gelesen.

    Microsoft ist gegen Java und versucht das Windowsprogrammierung mit Java nich mehr möglich sein wird. Also Java einige Plattformen nur in Zukunft kein Windows mehr. Gerade anders rum C#. Ist speziell für die Windowsprogrammierung. C++ ist der lachende dritte da C++ glaub ich überall läuft.

    Das ist ja nicht nur OT sondern auch nocht Quatsch.

    Sag nur nichts! Quatsch mit Sauce!

    Gut, abgsehen davon, mir wäre es recht, wenn M$ Java nicht mehr unterstützen würden. Dann würden sie ungemeinen Vorschub an Linux leisten, was ich äusserst begrüsssen würde. Ausserdem würden sie ihr eigenes Grab immer weiter ausheben, und, wer weiss, ob es noch viel braucht, bis sie dann mal reinfallen... :p

    - Adrian



  • kingruedi schrieb:

    @net
    das kannst du in C auch ohne Probleme. Die SDL die du zB. ansprichst ist ja eine C Library.

    ach? alles extern "C" oder wie?
    nix oo - schade.
    ist ja mit gtk genauso



  • net schrieb:

    [
    da hat java leider nix vergleichbares zu bieten (oder doch? das neue java 1.5 vielleicht?)

    Wieso auch? Bei entsprechendem Bytecode ist eine Java-Anwendung OHNE Neukompilierung sofort auf einem anderen OS ausführbar.



  • interpreter schrieb:

    Sind heute die Assemblerprogrammier die Elite? 😉

    Assembler ist eine völlig andere Welt. Schau mal in beliebige Statistiken die sich mit der Produktivität von Programmierern beschäftigen (Zeitaufwand, Fehlerrate...) dann wirst du feststellen, dass es nur marginale Unterschiede zwischen den einzelnen Hochsprachen gibt, aber diese haben einen RIESEN Vorsprung vor Assembler. Sprich: In Experimenten (z.B. in den "Coding War Games" von DeMarco und Lister) wurde nachgewiesen, dass ein guter Cobol-Programmierer in einer Liga spielt mit den Fortran, C, C++ usw. Programmierern dieser Welt (was Produktivität angeht). Ein Assembler-Programmierer hingegen hängt uneinholbar hinterher.

    Oder glaubt ihr ernsthaft, dass sich der Mainstream an Programmierern in 20 Jahren noch mit expliziten Pointern etc. rumplagen muss?

    Der Mainstream-Programmierer programmiert heute schon nicht mehr in C++.
    Der Mainstream-Programmierer hat, wenn man den Statistiken glaubt, nicht mal *ein einziges* Programmierbuch gelesen. Vergleicht man das mit der enormen Komplexität von C++ kann man nur hoffen, dass der Mainstream-Programmierer nie in die Verlegenheit kommt C++ programmieren zu müssen.

    C++ ist nach wie vor eine sehr wichtige Sprache wenn es um die Implementation von effizienten Bibliotheken geht. Bibliotheken die dann z.B. über C-Bindings in unendlich vielen verschiedenen Sprachen benutzt werden können (z.B. in Script-Sprachen). Der Einsatz von C++ nimmt im Embedded-Bereich langsam aber sicht zu. C++ ist derzeit und C++/CLI wird laut MS die Systemsprache der Windows-Platform.

    Fazit: Die Gerüchte vom Tod der Sprachen C und C++ sind furchtbar übertrieben. Es werden noch viele Jahre vergehen bis C++ von der Bildfläche verschwindet. Und bis dahin hat man Java wahrscheinlich so furchtbar aufgebläht, dass es sogar die Komplexität von C++ in den Schatten stellt 🙂


Anmelden zum Antworten