C++ besser als C?



  • Sprechst ihr von dem Toaster der Toast toastet??

    Wird der geproggt?



  • Gast schrieb:

    Wird der geproggt?

    Das Wort "proggen" benutzen nur lamer und kleine Hosenscheißer... 😡



  • Phillip schrieb:

    Gast schrieb:

    Wird der geproggt?

    Das Wort "proggen" benutzen nur lamer und kleine Hosenscheißer... 😡

    Dann hab ich es ja richtig benutzt. 🙂

    ciao



  • Wie gesagt - kommt auf den Toaster an. Meiner hat ne schön mechanische Zeitschaltuhr, da ist noch nix mit proggen ( :p ).
    Ein Grund für den schmalen Sprachkernel von C ist ja, das es zur programmierung von Microcontrollern einsetzbar sein soll, d.h. viel Funktionalität ist in die Standardbibliothek ausgewandert.



  • Also ich kenne keinen Toaster der programmiert ist. Ich denke das mit dem programmieren von Haushaltsgeräten fängt bei komplexeren Sachen wie einer Espressomaschine an 😉 .



  • Mein Toaster ist glaub ich auch eher auf mechanischer Basis 😉
    Ich fands als erstes etwas merkwürdig, als du da mit c & toastern angekommen bist, aber die Tatsache (auf die ich leider alleine nicht gekommen bin 👎 ), dass gr. Funktionsumfang in die STL gewandert ist, macht das ganze natürlich logischer. Trotzdem könnt ich mir vorstellen, dass doch assembler am angebrachtesten für solche sachen ist, oder täusch ich mich da etwa gewaltig ?? 😕
    Gruß
    E-the-Real



  • Jaja, der Toaster war ein extremes Beispiel 🙄
    Ich würd' ja den marketingfritzen auch nicht vertrauen, aber möglich ist alles. Hab einfach mal nach "Toaster Microchip" gegooglet. Der erste Link listet u.a. folgenden Toaster: http://www.dynadirect.com/ha-22495.html

    Assembler ist immer noch sehr gängig, das ist wahr. Und für einen 0-8-15 Toaster lohnt es sich sicher auch nicht. Aber prinzipiell geht der Trend zu C-Programmierung. Die entsprechenden C-Compiler haben halt nicht so ausgeklügelte Optimizer, un Platz hat man eben meistens doch viel weniger. 4KB für Code, 4KB für Daten ist keine Seltenheit, damit muß man halt zurechtkommen. Die Rechenlesitung hat aber mitgehalten (und die Rechenlesitung pro $ allemal), und die Portabilität von C gegenüber Assembler macht die Probleme wieder wett. Wenn dir ein Controller "wegstirbt", fängst du mit ASM nochmal von vorne an.



  • Was heisst denn besser? Es gab kürzlich noch nen Thread, warum die WinAPI in C statt in C++ geschrieben wurde. Natürlich gibts in C++ viele Features, die C fehlen, aber für bestimmt Dinge ist C auf jeden Fall noch zu gebrauchen (z. B. Netzwerkprogrammierung). Sollte ich mich irren, belehrt mich bitte eines besseren.



  • Klar ist C noch zu gebrauchen, wird aber halt nicht mehr so viel eingesetzt wie früher. Besen kann man auch noch gebrauchen. Aber wer nen Staubsauger hat benutzt den Besen nur noch für die Einfahrt 😃 .



  • CarstenJ schrieb:

    aber für bestimmt Dinge ist C auf jeden Fall noch zu gebrauchen (z. B. Netzwerkprogrammierung). Sollte ich mich irren, belehrt mich bitte eines besseren.

    C hat den Vorteil dass die Sprache so klein ist, und ein Compiler ohne groessere Probleme geschrieben werden kann. In C++ ist das ganze komplexer.

    Deshalb wird C auf Microprozessoren verwendet, denn da hat niemand Zeit und Lust einen C++ Compiler fuer die ganzen Prozessoren zu schreiben. Und Embedded C++ ist wirklich nur ein 'C mit Klassen' - da lohnt sich der Umstieg auch kaum.

    Aber sonst hat C keine Vorteile.

    Wo siehst du denn bei Netzwerkprogrammierung einen Vorteil von C?



  • Möglicherweise gibt es keine konkreten Vorteile gegenüber C++, aber mir sind die Vorteile von C++ gegenüber C auch nicht klar (in Sachen Netzwerkprogrammierung). ACE beispielsweise ist ja im Grunde nur nen Wrapper für die ganzen C-APIs, und ich denke, dass er dadurch auch etwas langsamer ist als wenn ich direkt in C programmieren würden.

    Ich denke, dass es nicht um C oder C++ geht, sondern um Objektorientierung oder nicht.



  • nene. Ihr mit euren High-End Toastern.
    solange meiner richtig toastet, kann da von mir aus auch n Hamster im Rad drinsitzen, der für strom sorgt. hauptsache es funzt 😉



  • Ich weiß nicht weshalb sich viele hier überhaupt mit dieser für mich schwachsinnigen
    Frage beschäftigen, für mich ist klar, dass C++ mit OOP etwas sehr praktisches
    darstellt, aber auch C einfach Klasse ist.
    Ich programmiere bis jetzt nur C und werd C++ in nächster Zeit lernen, aber für
    mich steht deshalb trotzdem fest, dass C keineswegs überflüssig ist, ich mag
    C so wie es ist und um ehrlich zu sein sogar noch mehr als C++, weil es einfach
    schlankeren und schöneren Code hat, aber das ist einfach meine Meinung.
    Assembler wird heutzutage ja auch nicht als überflüssig angesehen, es gibt einfach
    Dinge bei denen OOP und alles was unnötigen Overhead erzeugt, total fehl am Platz
    ist.



  • Um nochmal zum eigentlichen Thema vom Thread zurückzukommen, ob C++ "besser" ist als C

    C alleine unterstützt keine OOP, wie schon im vorigen Post erwähnt wurde. Sicher ist es möglich, ohne die OOP zu programmieren, jedoch kann es sein, dass man an einigen Stellen auf Probleme stösst, die man nur sehr schwer umsetzen kann, wo es mit der OOP wesentlich einfacher geht.
    C++ basiert auf C. Ohne C gäbe es kein C++. C++ ist eine Erweiterung der Sprache C um die Objektorientierung. Dieses Feature kann man nutzen, muss man aber nicht. C und C++ sollten im Geiste eines Programmierers eine Einheit bilden, die mit einer Vielzahl von Möglichkeiten zur Problemlösung beiträgt.
    Also kloppt euch nicht, was denn "besser" sei, reines C oder C++. Ihr solltet beides können, damit ihr für eure Programmieraufgaben/-probleme die passenden Lösungen zusammensuchen könnt.

    MFG
    #C



  • @SirLant und CarstenJ:
    C++ muss nicht langsamer sein als C - aber man kann recht schoen schneller sein 😉

    Nur weil die C APIs gekapselt werden, heisst es nicht, dass sie deswegen langsamer sind.

    und schlankeren Code in C schreiben finde ich recht schwer. Denn in C sind meine Funktionen immer laenger als die in C++ (allein die Fehlerabfragen).

    dh allerdings nicht, dass ich C nicht mag - C finde ich Super, aber C++ superer 🙂



  • SirLant schrieb:

    ... dass C++ mit OOP etwas sehr praktisches
    darstellt, aber auch C einfach Klasse ist.
    ist.

    Eben nicht ! 😉
    Gruß
    E-the-Real



  • Wo wir grad bei C - C++ sind. Was hat sich außer OOP von C nach C++ noch geändert?



  • @Order: An Sprachmitteln exceptions, templates und Kleinkram (wie striktere Typkontrolle).

    Und natürlich die ganze OO-Denkweise, aber die kann man zu OO dazurechnen (oder auch nicht)



  • Order schrieb:

    Wo wir grad bei C - C++ sind. Was hat sich außer OOP von C nach C++ noch geändert?

    Och, eigentlich alles.
    Du kannst ein Problem in C++ total anders als in C loesen. Du kannst andere Techniken, Konstrukte und Praktiken verwenden.

    Och, eigentlich nichts.
    Du kannst ein Problem in C++ identisch loesen wie in C. Du kannst die gleichen Techniken, Konstrukte und Praktiken verwenden.

    🤡



  • 🕶


Anmelden zum Antworten