Erst C oder gleich C++ ???



  • volkard schrieb:

    C++ net arg Möger schrieb:

    Für hardwarenahe programmierung reicht C imho völlig aus.

    aber wenns null zusatzkosten verursacht, warum nicht c++? (c++ bringt null laufzeitoverhead gegenüber c)

    Ich habe mich bei der Entscheidung C vs C++ nicht auf die Performance bezogen.
    Nur finde ich, dass OOP nicht ganz so toll in C++ implementiert ist. Ist jetzt subjektiv. Aber so wie OOP in C++ verwirklicht wurde gefällt mir nicht - zumindest gefällt es mir nicht mehr, seit ich mir paar höhere Sprachen angeschaut hab.

    Bei den meisten Anwendungen reichen (langsame) highlevel Sprachen nunmal aus.
    (Vor allem wenn man sich die neue hardware anschaut, Quardcore CPUs & 4gb ram & terrabyteweise festplattenspeicher)
    Und falls man an der einen oder anderen Stelle mal etwas performancekritisches hat, dann kann man diesen codeabschnitt immer noch in C "auslagern". Klar, in C++ geht es auch, nur bin ich davon ausgegangen, dass der "cpu-lastige & ausgelagerte" Code sich auf einige funktionen (algorithmen) begrenzt. Naja, und ob ich bei ein paar mehr oder weniger aufwendigen mathematischen Berechnungen jetzt Kapselung, Metaprogrammierung, etc benötige ist fraglich.
    Gut, wenn man jetzt eine 3D engine oder einen RayTracer von Grund auf schreiben will, ist es eine andere Sache. Aber in den meisten Fällen wird mans doch net brauchen. Da greift man halt auf eine vorhandene 3D engine zu, welche bindings zu python/java/ruby & co bietet. Gut, die Performance wird jetzt nicht sehr optimal sein. Aber andererseits fällt der overhead auch nicht so schwer ins gewicht, da das meiste cpulastige zeug ja in der 3D engine implementiert wurde und zwar in C bzw in C++.

    volkard schrieb:

    mal angenommen, ruby sei die beste sprache auf der welt.

    mit welcher sprache soll man anfangen? und genau dann, wenn ruby die beste wäre, würde ich davon abraten, in ruby anzufangen.

    😃 Am besten mit C anfangen und sich den Fuss mit Zeigern wegschiessen, danach auf C++ umsteigen um das restliche Bein loszuwerden und am Ende auf ruby umsteigen, um die Vorzüge einer highlevel-sprache zu begreifen



  • C++ net arg Möger schrieb:

    😃 Am besten mit C anfangen und sich den Fuss mit Zeigern wegschiessen, danach auf C++ umsteigen um das restliche Bein loszuwerden und am Ende auf ruby umsteigen, um die Vorzüge einer highlevel-sprache zu begreifen

    wenn man bei ruby landen will, ist das ein guter weg. insbesondere halte ich es dabei für wichtig, sich mit c einen fuß wegzuschießen und sich mit c++ ein bein wegzuschießen. wann man sich offenlassen will, vielleicht auch bei c++ zu landen, angeblich wird zur zeit recht viel software in c++ programmiert, halte ich eine andere reihenfolge für sinnvoll, zum beispiel basic -> c++ -> ruby -> c.



  • Alles schön und gut,
    aber was ist denn jetzt die richtige Wahl??

    C oder C++ ?

    Wie gesagt C++-Erfahrung hab ich, wenn auch nicht sehr viel.
    C überhaupt nicht!

    Und eine Buchempfehlung für Anfänger bitte auch.



  • Da du eh schon mit C++ angefangen hast,
    denke ich solltest du da auch weitermachen.
    Thinking in C++ wäre da ein Kandidat, gibts auch kostenlos Online.
    Oder z.B. der C++ Primer.

    mfg Branleb



  • Xerses schrieb:

    Alles schön und gut,
    aber was ist denn jetzt die richtige Wahl??

    Du willst C++ lernen, oder? Und dann fragst du, ob du eine andere Sprache lernen willst? Was nun? Stell dir diese Frage doch einfach selber.



  • Xerses schrieb:

    Alles schön und gut,
    aber was ist denn jetzt die richtige Wahl??

    C oder C++ ?

    Wie gesagt C++-Erfahrung hab ich, wenn auch nicht sehr viel.
    C überhaupt nicht!

    Also, ich will Bäcker werden. Soll ich jetzt vorher Gärtner lernen? Backen kann ich aber schon ein wenig.



  • Bulli schrieb:

    Xerses schrieb:

    Alles schön und gut,
    aber was ist denn jetzt die richtige Wahl??

    C oder C++ ?

    Wie gesagt C++-Erfahrung hab ich, wenn auch nicht sehr viel.
    C überhaupt nicht!

    Also, ich will Bäcker werden. Soll ich jetzt vorher Gärtner lernen? Backen kann ich aber schon ein wenig.

    Klar ist es sinnvoll vorher Gärtner zu werden. Da kannst du dir mit der hacke ein Bein abhacken um festzustellen, dass der Beruf eines Bäckers dir mehr liegt. Danach wirst du aber entdecken, dass Bäcker sich öftersmal verbrennen und immer früh aufstehen müssen, was dich am Ende doch zu einem highlevel-job führen wird, wo du weniger Verletzungen davontragen wirst.



  • C++ net arg Möger schrieb:

    ~Ich glaube kaum, dass es hier viele gibt, die meine Meinung teilen~

    ich bin jedenfalls ganz deiner meinung.
    🙂



  • "Danke" 👍 für eure Antworten



  • Ich möchte mich hiermit für das was ich geschrieben habe entschuldigen.
    Es war sehr dumm von mir und wird nicht wieder vorkommen.
    Dies ist ernst gemeint.

    MfG,
    der gebannte mit anonymouse.org..



  • Also ich finde da gibt es eigentlich nicht viel zu diskutieren.
    C ist in CPP enthalten, jedoch sollte man natürlich keine C Funktionen wie printf und so Kram mehr lernen wenn man sowieso vor hat CPP zu lernen; dann gleich mit den CPP Funktionen.

    Grüße



  • Ja es wurde jetzt alles gesagt, wir sind kein Modulo, also musst du jetzt nicht von vorne anfangen Hermann.

    C -> wichtige Kernel und Systemprogrammierung
    C++ -> Highlevel Applikationen, Useranwendungen

    bitte closen.



  • Kingston1212 schrieb:

    Ja es wurde jetzt alles gesagt, wir sind kein Modulo, also musst du jetzt nicht von vorne anfangen Hermann.

    C -> wichtige Kernel und Systemprogrammierung
    C++ -> Highlevel Applikationen, Useranwendungen

    bitte closen.

    Oder doch lieber effizienter:

    C -> Kernel, Treiber, systemprogrammierung, libs + bindings für höhere Sprachen
    C++ -> Für den fall dass man unbedingt OOP braucht und lowlvl bleiben will, 3D engines (natürlich auch in C möglich), libs + bindigns für höhere Sprachen
    <high-level-sprachen> -> highlevel Applikationen, Useranwendungen etc



  • C++ net arg Möger schrieb:

    C++ -> Für den fall dass man unbedingt OOP braucht und lowlvl bleiben will, 3D engines (natürlich auch in C möglich)

    stimmt irgendwie, das 'natürliche' anwendungsfeld von c++ ist sehr, sehr klein.
    🙂



  • stimmt irgendwie, das 'natürliche' anwendungsfeld von c++ ist sehr, sehr klein.

    Dein unqualifiziertes geflame geht mir langsam auf den Keks!



  • C++ net arg Möger schrieb:

    Nur finde ich, dass OOP nicht ganz so toll in C++ implementiert ist. Ist jetzt subjektiv. Aber so wie OOP in C++ verwirklicht wurde gefällt mir nicht - zumindest gefällt es mir nicht mehr, seit ich mir paar höhere Sprachen angeschaut hab.

    Nur aus allgemeinem Interesse: Magst du evtl kurz ausführen, was genau dir persönlich an der C++-OOP nicht gefällt?



  • Die gesamte Diskussion hier ist "blablaba". C ist eine echte Untermenge von C++ und niemand kommt mit C++ zurecht, der nicht auch diese Untermenge beherrscht. Lernt man bei C++ gleich mit!



  • berniebutt schrieb:

    C ist eine echte Untermenge von C++

    falsch.



  • berniebutt schrieb:

    Lernt man bei C++ gleich mit!

    Ebenfalls falsch.



  • berniebutt schrieb:

    Die gesamte Diskussion hier ist "blablaba".

    aber das ist richtig.
    🙂


Anmelden zum Antworten