Ist es sinnvoll heute noch C++ anzufangen?



  • ----



  • _matze schrieb:

    dass man schon eher von einer neuen Sprache sprechen müsste (vielleicht "C+#"? oder "C++++"? 😉 )

    Für den erfahrenen C++ Programmierer kommt natürlich nur ++C als neuer Name in Frage.



  • Noch schlimmer sieht der stinkende Müllberg Namens Java aus. Immer neue Features und Funktionen obwohl die Bugs der alten noch nichtmal gefixt sind. Nichtmal grundlegende Dinge wie identisches Verhalten der JVM unter Windows und Linux, den beiden Mainstream-OS ist umgesetzt. Wenn man die Entwicklungszeit kurz halten will soll man sich ordentliche Leute besorgen die "ihre" Sprache _wirklich_ beherrschen, dann kommt am Ende auch ein gutes Produkt raus. Und möglichst auf irgendwelche Buzzword-Technologien wie Java, Corba, XML-RPC und wie sie alle heissen verzichten. Da ist die Code-Decke inzwischen so gigantisch, ich wage einfach mal zu behaupten dass das in den nächsten Jahren noch zu einem enormen Sicherheitsalbtraum wird weil schlichtweg kaum noch einer da durchblickt / durchblicken kann.



  • Ad aCTa schrieb:

    Das Geflame ist doch sinnlos. Windows Mobile kann auch .NET, mit C# kann man 10000mal leichter Win-GUIs erstellen als mit Visual C++, also nimm C#!

    damit gehts auch: http://www.smorgasbordet.com/pellesc/
    🙂



  • hier ist noch was zum thema C vs. C++: http://pizer.wordpress.com/2008/10/29/c-versus-c/



  • Artchi schrieb:

    +fricky schrieb:

    der effekt ist aber witzig. hier noch was lustiges:

    string a("c++ get off my ass");   // konstruktoraufruf mit parameter  
      string b();               // konstruktoraufruf ohne parameter (oder doch nicht?)
    

    🙂

    Wieder der beweis, über etwas zu urteilen, obwohl man es nicht kennt. Und es zeigt, das du nicht mal C kannst obwohl du dich C-Fanboy nennst, sonnst wäre dir aufgefallen, das string b(); ein Funktions-Prototyp ist (was auch der Compiler mit einem ERROR anmeckert). Das ist nun wirklich Basiswissen, oder?

    Du bist leider vollkommen am Punkt vorbeigeschrammt 😉 C++ hat inkonsistente Syntax, was dazu führt, daß das Parsen von C++ unbegrenztes Lookup erfordert (du kannst zuweilen erst beim Semikolon entscheiden, ob du eine Deklaration, eine Definition oder einfach eine Anweisung behandelst) und zuweilen ohne Workarounds ( typename ) gar nicht wunschgemäß funktioniert.

    IIRC gab es mal irgendeinen Vorschlag für ein alternatives Syntax-Binding, das das Parsing von C++ rapide vereinfachen und derartige Ambiguitäten beseitigen würde. Praktisch ist es natürlich nicht, da dann die C-Kompatibilität draufgeht.

    databecker schrieb:

    Mich würde mal interessieren was ihr alle von Delphi haltet.

    Sehr schöne, mittlerweile auch wieder recht moderne Sprache, die IDE ist für die Entwicklung von Windows-UIs unerreicht. Laß dir keinen Unfug erzählen von Leuten, die Delphi nur daher kennen, daß sie im Schulunterricht darin GUIs zusammenklicken mußten 😉

    databecker schrieb:

    Ich bin nämlich am überlegen auch auf C++ umzusteigen, weil ich evtl. Programme für Windows Mobile schreiben wollte und dies in Delphi nicht so einfach oder überhaupt nicht möglich ist. Vor allem fehlt mir da noch die Unterstützung von 64Bit.

    Ja, für beides brauchst du andere Werkzeuge; Delphi hat seinen Fokus eben im Win32-GUI-Bereich. The right tool for the job.

    databecker schrieb:

    Mich wundert auch das hier so viele Java toll finden und das in einem C++ Forum^^

    In einem der "Off-topic"-Bereiche des C++-Forums, wohlgemerkt. Was meinst du, wie es aussähe, wenn der Thread im C++-Subforum liegen geblieben wäre? 😉

    Ad aCTa schrieb:

    Das Geflame ist doch sinnlos. Windows Mobile kann auch .NET, mit C# kann man 10000mal leichter Win-GUIs erstellen als mit Visual C++, also nimm C#!

    +1.



  • audacia schrieb:

    Praktisch ist es natürlich nicht, da dann die C-Kompatibilität draufgeht.

    ich glaub, drüber würde keiner eine träne vergiessen.

    audacia schrieb:

    databecker schrieb:

    Mich wundert auch das hier so viele Java toll finden und das in einem C++ Forum^^

    In einem der "Off-topic"-Bereiche des C++-Forums, wohlgemerkt. Was meinst du, wie es aussähe, wenn der Thread im C++-Subforum liegen geblieben wäre?

    hier ist erst letztens so'n ähnlicher thread aus dem c++-forum rübergeschoben worden. solche diskussionen gibts also auch da. und das zeigt wohl, dass sogar im lager der knallharten, scheuklappenbehafteten c++ fans eine rückbildung ihrer sprache bemerkt wird.
    🙂



  • +fricky schrieb:

    audacia schrieb:

    Praktisch ist es natürlich nicht, da dann die C-Kompatibilität draufgeht.

    ich glaub, drüber würde keiner eine träne vergiessen.

    Doch, ich! 😃



  • Ich auch.



  • Ich ebenfalls. 😃



  • Die Sprache hat zu viele mächtige Features, die den Leuten zu viel Freiheit an die Hand geben.

    Ja, nennt man erwachsen. Ich moechte keine Programmiersprache, die mich als Kind behandelt.

    Das ist die bekannte Geisteshaltung, die massenweise Buffer Over-/Underflos produziert. Man verliert absolut nichts, wenn man eine Sprache ohne Zeigerarithmetik nutzt!

    Bei mir nicht. Auch ist es eher ein C als ein C++ Problem. Ich nutze recht selten Zeigerarithmetik, aber wenn, dann bin ich froh, dass sie da ist.

    netter Fallstrick in C++ ist IMHO auch noch dieser Klassiker

    Den man leicht vermeiden kann ... Das sieht ja ein Blinder.

    C++0x gibt's auch noch 'ne dynamic-typing-light version durch das mutierte 'auto' keyword

    Dynamische Typisierung und auto haben nichts miteinander zu tun. Auch sind viele Skriptsprachen in C/C++ realisiert, die dynamische Typisierung anbieten. Dabei wird nicht alles nach void* gecastet, da dadurch die strictness verloren geht.

    +fricky schrieb:

    audacia schrieb:

    Praktisch ist es natürlich nicht, da dann die C-Kompatibilität draufgeht.

    ich glaub, drüber würde keiner eine träne vergiessen.

    Ich schon, da es recht einfach ist, Systembibliotheken in C++ zu benutzen und zu schreiben.

    solche diskussionen gibts also auch da. und das zeigt wohl, dass sogar im lager der knallharten, scheuklappenbehafteten c++ fans eine rückbildung ihrer sprache bemerkt wird.

    Bullshit. So koennte man die meisten Beitraege hier kommentieren. Das gilt sowohl fuer Java, C oder andere Sprachen.



  • knivil schrieb:

    +fricky schrieb:

    audacia schrieb:

    Praktisch ist es natürlich nicht, da dann die C-Kompatibilität draufgeht.

    ich glaub, drüber würde keiner eine träne vergiessen.

    Ich schon, da es recht einfach ist, Systembibliotheken in C++ zu benutzen und zu schreiben.

    language bindings (gibts dafür ein deutsches wort?) haste doch in vielen sprachen, um auf system-APIs zuzugreifen. das könnte's doch auch in C++ geben. nebenbei gibt's hier öfter mal zu lesen, dass die (liebevoll so genannten) 'C-altlasten' eine ständige quelle des ärgers für c++-progger sind. auch die immer mehr werdende, grausame umdeutung von C-syntaxelementen (letztens hier in einem pdf von 'dravere' gelesen, wie im neuen standard geschweiften klammern eine weitere bedeutung zukommen soll), ist absolut unlustig. ich glaube daher, wenn man das C aus C++ verbannen würde, wäre langfristig viel geholfen. und wer C machen will, kann ja immer noch 'echtes C' nehmen.
    🙂



  • language bindings (gibts dafür ein deutsches wort?) haste doch in vielen sprachen, um auf system-APIs zuzugreifen. das könnte's doch auch in C++ geben.

    Gibt es doch, ist halt build in. Und die Altlasten sind kein Problem, man braucht sie schlich nicht verwenden.



  • knivil schrieb:

    man braucht sie schlich nicht verwenden.

    ja, das lese ich oft. das ist killerargument und oberstes designprinzip von C++ zugleich: wir packen einfach alles erdenkliche in die sprache rein, so dass sich jeder seinen subset selber zusammenstellen kann.
    🙂



  • Und wie soll die Sprache dann heißen, wenn man die C-Altlasten aus C++ entfernt hat?

    [b]++[/bf] ? 😃

    Nein, im Ernst: Sprachfeatures aus einer Sprachdefinition nachträglich zu entfernen ist ganz schlecht, weil es im Fall von C++ abermillionen Codezeilen inkompatibel zu zukünftigen Compilern machen würde. Man sieht das Problem ja an python.



  • Und wie soll die Sprache dann heißen, wenn man die C-Altlasten aus C++ entfernt hat?

    ++ ? 😃

    Nein, im Ernst: Sprachfeatures aus einer Sprachdefinition nachträglich zu entfernen ist ganz schlecht, weil es im Fall von C++ abermillionen Codezeilen inkompatibel zu zukünftigen Compilern machen würde. Man sieht das Problem ja an python.



  • u_ser-l schrieb:

    Nein, im Ernst: Sprachfeatures aus einer Sprachdefinition nachträglich zu entfernen ist ganz schlecht, weil es im Fall von C++ abermillionen Codezeilen inkompatibel zu zukünftigen Compilern machen würde. Man sieht das Problem ja an python.

    vorläufig drin lassen, aber der compiler sollte 'deprecated'-warnungen ausgeben. irgenwann, nach 10 jahren oder so, dann endgültig rausschmeissen.
    🙂



  • Denk' an Cobol - das feiertderzeit 50-jähriges Jubiläum. Da sollen hundert Milliarden (?) von Codezeilen existieren. Wenn man jetzt plötzlich eine Handvoll Sprach-Features herausnähme, die vorher seit 1959 erlaubt waren ... 😮



  • u_ser-l schrieb:

    Denk' an Cobol - das feiertderzeit 50-jähriges Jubiläum. Da sollen hundert Milliarden (?) von Codezeilen existieren. Wenn man jetzt plötzlich eine Handvoll Sprach-Features herausnähme, die vorher seit 1959 erlaubt waren

    cobol war doch nie so'n gestaltloses und wiederborstiges kuddelmuddel wie .... (ich sags lieber nicht, sonst werde ich wieder mal des trollens verdächtigt). gibt's überhaupt 'nen grund, irgendwas aus cobol hinauszuwerfen?
    🙂



  • Haha, nein es gibt kein Grund etwas hinaus zu werfen. Aber auch nur deshalb, weil heute keine Anwendungen damit geschrieben werden (hoechstens "gepflegt"). Auch bezweifle ich, dass du ernsthaft in COBOL Anwendungen geschrieben hast, so dass du dir einen Vergleich mit anderen Programmiersprachen wie C++ nicht erlauben kannst.


Anmelden zum Antworten