Umstieg von C auf C++ wirklich so schwer?



  • Wie du willst. Die einen sagen, es ist besser, zuerst C zu können, die anderen meinen, man soll gleich mit C++ beginnen. C ist viel leichter zu verstehen, und da ich ein Mensch bin, der sehr penibel jede Kleinigkeit verstehen will, finde ich es besser, mit C anzufangen. Wenn man das verstanden hat, kann man immer noch den großen Schritt nach oben machen und C++ zu verstehen versuchen...



  • Ich habe zuerst C gelernt und habe dann mit C++ weitergemacht. Es ist in meinen Augen kein Fehler C ohne C++ zu beherrschen. Manchmal muss man eben Low-level ran. Kommt immer darauf an was man machen will.

    enno-tyrant schrieb:

    zu empfehlen wäre in meinen augen gleich c++ (warum erst c und dann nochmal einen umstieg hinterher? das verwirrt doch nur)

    Findest du? Also eigentlich baut C++ auf C auf, und was in C gilt, das gilt meistens auch in C++. Sehe da weniger Probleme.



  • Ich denke mir in Mathematik folgende. Wenn ich gleich mit dem schweren Anfange (C++), verstehe ich das leichte bzw. das nicht so schwere (C) gleich. Dann wäre es doch sinnvoll gleich mit C++ anzufangen ... naja, ich werd mir das ganze noch überlegen.

    Bzw. soll ich mir ein Buch kaufen? Welches könnt ihr mir empfehlen? Oder reicht es, wenn ich nur eine Internethilfe habe? Doch eigentlich bin ich ein Mensch, der lieber was in der Hand hat zum lernen ... Vielleicht kann mir ja einer was empfehlen.

    Lg Matthias



  • GPC schrieb:

    ...

    enno-tyrant schrieb:

    zu empfehlen wäre in meinen augen gleich c++ (warum erst c und dann nochmal einen umstieg hinterher? das verwirrt doch nur)

    Findest du? Also eigentlich baut C++ auf C auf, und was in C gilt, das gilt meistens auch in C++. Sehe da weniger Probleme.

    is ja richtig, aber viele dinge haben sich geändert, ein paar beispiele:

    iostream.h
    scanf
    printf
    void main
    usw.

    dann auf einmal zu erfahren das es alles veraltet und nicht mehr standardgemäß wär (nachdem man es gerade eben so gelernt hat) könnte verwirren



  • wie sagte mal ein berühmter c++ freak:

    "c++ ist ein octopus. entstanden indem man einem hund (c) zusätzliche beine angenagelt hat"



  • Matthias.Z schrieb:

    ...soll ich mir ein Buch kaufen? Welches könnt ihr mir empfehlen? Oder reicht es, wenn ich nur eine Internethilfe habe? Doch eigentlich bin ich ein Mensch, der lieber was in der Hand hat zum lernen ... Vielleicht kann mir ja einer was empfehlen....

    sorry, dafür kannst du die forensuche nutzen -> dieses thema wurde schon lang und breit diskutiert (gar nicht so lange her)



  • Ok, die Umbenennung der Header war echt ein bisschen blöd. Vor allem die string Header machten einen suspekten Eindruck 😃 ,

    scanf und printf ist ja easy zu benutzen, und cout und cin noch viel einfacher.
    (Was hat sich bei scanf und printf geändert, hab da wohl was verpasst)
    War void main mal Ansi Standard? Es hieß doch schon immer int main, oder täusch ich mich da?
    Ich hab jedenfalls schon immer int main geschrieben.



  • GPC schrieb:

    Ok, die Umbenennung der Header war echt ein bisschen blöd. Vor allem die string Header machten einen suspekten Eindruck 😃 ,

    scanf und printf ist ja easy zu benutzen, und cout und cin noch viel einfacher.
    (Was hat sich bei scanf und printf geändert, hab da wohl was verpasst)
    War void main mal Ansi Standard? Es hieß doch schon immer int main, oder täusch ich mich da?
    Ich hab jedenfalls schon immer int main geschrieben.

    Nein, void main gab es nie.

    mfg
    v R



  • Naja was heißt das schon, es gab ja auch nicht immer einen Standard ... in den 80ern, also vor dem Standard, gab es sicher schon Compiler, die void main zugelassen haben.



  • Bashar schrieb:

    Naja was heißt das schon, es gab ja auch nicht immer einen Standard ... in den 80ern, also vor dem Standard, gab es sicher schon Compiler, die void main zugelassen haben.

    viele embedded-compiler lassen 'void main()' zu. ist auch garnicht so verkehrt weil die main in 99% aller fälle sowieso nicht verlassen wird



  • net schrieb:

    wie sagte mal ein berühmter c++ freak:

    "c++ ist ein octopus. entstanden indem man einem hund (c) zusätzliche beine angenagelt hat"

    Hab da auch noch einen:

    In C we had to code our own bugs. In C++ we can inherit them.
    C gives you enough rope to hang yourself. C++ also gives you the tree
    object to tie it to.
    With C you can shoot yourself in the leg. With C++ you can reuse the
    bullet.



  • C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.



  • TactX schrieb:

    net schrieb:

    wie sagte mal ein berühmter c++ freak:

    "c++ ist ein octopus. entstanden indem man einem hund (c) zusätzliche beine angenagelt hat"

    Hab da auch noch einen:

    In C we had to code our own bugs. In C++ we can inherit them.
    C gives you enough rope to hang yourself. C++ also gives you the tree
    object to tie it to.
    With C you can shoot yourself in the leg. With C++ you can reuse the
    bullet.

    😃 😃 😃 LOL

    Ich bin froh gleich mit c++ angefangen zu haben. Allerdings ist es schwieriger von C++ zu C umzusteigen wenn man schon ein bisschen erfahrung hat. Als Beispiel nenne ich da clrscr() mit der man unter C++ den Bildschrim löschen kann. Unter C geht das nicht.



  • Chris++ schrieb:

    Als Beispiel nenne ich da clrscr() mit der man unter C++ den Bildschrim löschen kann. Unter C geht das nicht.

    😕 😕

    Ich würde sagen, du hast nicht sehr viel über den Unterschied zwischen C und C++ verstanden...



  • TactX schrieb:

    Hab da auch noch einen...

    hallo tactx, freut mich dich zu lesen.
    hier ist es doch viel gemütlicher als auf dem blöden netpanther-board 😉



  • net schrieb:

    hallo tactx, freut mich dich zu lesen.
    hier ist es doch viel gemütlicher als auf dem blöden netpanther-board 😉

    Psssst, ich fahr doch zweigleisig 😉



  • Der Grund warum ich grundsätzlich den direkten Einstieg in C++ ohne Umweg über C
    empfehle ist nicht technischer Natur (neue Header, o.ä).
    Das Problem das ich aus eigener Praxis kenne ist der grundsätzliche andere
    Ansatz bei der Problemlösung. Der Umstieg von der "konventionellen" strukturierten
    Denkweise zur objektorientierten Analyse/Design ist ausgesprochen mühsam wenn
    man mal auf ein Gleis "eingefahren" ist. In diesem Sinn halte ich den Umweg über C
    einfach für doppelten und damit auch unnötigen Aufwand.



  • GPC schrieb:

    Also eigentlich baut C++ auf C auf, und was in C gilt, das gilt meistens auch in C++.

    Das ist ein mißverständnis.
    Sehr wenig was in C gilt, gilt auch in C++. Es ist nur verführerisch, weil es auch in c++ _geht_ - sinn machen tut es aber idr nicht.

    Nimm zB mal so sachen Single Entry / Single Exit -> sinnlos in c++
    oder der ganz ansatz: caller stellt speicher bereit.
    etc.

    macht man in c++ alles anders. man hat andere idiom und eine ganz andere denkweise.



  • Also ehrlich gesagt lange kann ich noch nicht C/C++ programmieren (wenn man da von "können" reden kann, aber ich hab mit Java angefangen und dabei ist mir die Objektorientierung beim Programmieren relativ gut klar geworden. Also soll heißen, die Art ein Problem anzugehen. Leider rutsche ich aus Bequemlichkeitsgründen immer noch bei C++ in die einfache C-zurecht-popel-Variante, quasi Bandwurm programmieren.
    Und das ist dann auch der Nachteil, den ich sehe, wenn man nur mit C anfängt, anstatt gleich mit C++. Die Herangehensweise an Probleme wird durch C++ besser trainiert und notfalls kann man auch in C++ einfacher (c-ähnlicher) programmieren, wenn man mal nicht weiterkommt.

    Für mich persönlich wäre allerdings mal ein Buch über die Unterschiede wichtig...der Vorteil von C++ kommt dann auch gleich deutlicher zum Tragen.



  • Lern die Sprache die du lernen willst. Alles andere wird deine Zeit verschwenden und dich Dinge lehren die du nachher wieder mühseelig verlernen musst. Du wirst später nur hässlichen Code schreiben und C und C++ ständig vermischen.


Anmelden zum Antworten