Warum programmiert ihr in C?



  • Die stl bietet sicher was 😃 😉



  • Bald kommt der neue C++ Standard und dann wird wieder was reingefrickelt. Wann raffen die endlich das eine Sprache um so hässlicher wird desto mehr sie versucht alles mögliche zu unterstützen. Ein fast undurchschaubarer Brei auch Paradigmen, einfach nur schrecklich besonders für die heranwachsenden Programmierer.



  • Ich programmiere kein reines C++, sondern eine Mischung aus C++ und C.
    Ich nutze teilweise STL, wo es Sinn macht, aber auch viel C-string, memcpy, memset, zeiger, arrays, und viele andere Dinge, die Performance bringen.

    Man kann durchaus den Mittelweg gehen, auch wenn man dafür hier im Forum teilweise skeptisch beäugt wird.
    Bei uns in der Firma ist alles erlaubt, was Performance bringt, sofern es natürlich nicht anderweitig große Nachteile bringt.

    Dennoch versuche ich saubere Klassen zu entwickeln und nur dort, wo es wirklich was bringt, C-Code einzusetzen.



  • C++ hat hier eigentlich nur einen Vorteil, die Entwicklung ist für den Auftraggeber billiger, da der C++ Entwickler schneller voran kommt.

    Pauschal geschrieben ist das Käse.

    C++-Code sieht zugegebenermaßen besser aus und ist auch meist schneller gebaut.
    Soviel dazu.
    C++ kann in bestimmten Bereichen genauso performant sein wie C, aber in einigen Dingen kann man unter Verwendung von C-Code noch ein paar Prozent rausholen.

    Warum seht ihr die Welt immer nur schwarz und weiß ?
    Nutzt doch einfach das beste aus beiden Welten.



  • dot schrieb:

    Es gibt nur einen einzigen rationalen Grund heutzutage C zu programmieren. Und das ist wenn es für eine Zielplattform keine C++ Implementierung gibt.
    Ein nicht rationaler Grund C zu programmieren wäre z.B. das heute relativ weit verbreitete C-Hacker-Syndrom, einige Symptome davon konnten ja auch hier auf den letzten Seiten schon beobachtet werden.

    An aversion towards using C++ standard library functions and especially data containers because the C-hacker feels that he is not "in control".

    Ein für mich absolut nachvollziehbarer Grund. Man weiß schlicht und ergreifend nicht, was hinter den den STL-Containern steckt. Wenn man sich aber genauer mit Containern beschäftigt, weiß man das irgendwann.

    Viele nutzen die STL aber, ohne zu hinterfragen, und das ist das Problem. Irgendwer sagt: Jawoll, Container XY ist gut und alle nutzen es, ohne sich überhaupt ne Platte zu machen. Da ist mir lieber, wenn sich einer selbst hinsetzt, einen Container selber austüftelt ( wenn es Sinn macht, auch in C ) und verbessert und dabei mehr lernt, als wenn er irgendwelches vorgefertigtes Zeug unreflektiert verwendet.



  • It0101 schrieb:

    C++ hat hier eigentlich nur einen Vorteil, die Entwicklung ist für den Auftraggeber billiger, da der C++ Entwickler schneller voran kommt.

    Pauschal geschrieben ist das Käse.

    C++-Code sieht zugegebenermaßen besser aus und ist auch meist schneller gebaut.
    Soviel dazu.
    C++ kann in bestimmten Bereichen genauso performant sein wie C, aber in einigen Dingen kann man unter Verwendung von C-Code noch ein paar Prozent rausholen.

    Warum seht ihr die Welt immer nur schwarz und weiß ?
    Nutzt doch einfach das beste aus beiden Welten.

    👍



  • Wieso geht ihr ueberhaupt noch auf das offensichtliche Getrolle der Unregs ein?



  • Ich lowbyte heisse auch re. lowbyte. Ich stehe zu meinem Wort.



  • Wenn du C und C++ code mischt, so wie es auch Stroustrup durchaus begrüßt wenn die Funktionen gut gekapselt sind, dann würde für die meisten hier eine Welt zusammenbrechen. Die sind sich hier selbst nicht einig was nun das beste ist. Zuerst wollte C++ das bessere C sein, dann sollte es bloss nix mit C zu tun haben und so weiter und so fort.



  • Das Problem ist nicht C++, sondern das offensichtlich ein Grossteil der Cler KEINE Ahnung hat von C++.

    Auch scheinen sie Komplexe zu haben. Es weiss eh jeder, dass C++ in jeder Hinsicht ueberlegen ist und drum verteidigen sie so aggressiv und polemisch ihr kleines C. Suess 🤡



  • nöööööööö schrieb:

    Wenn du C und C++ code mischt, so wie es auch Stroustrup durchaus begrüßt wenn die Funktionen gut gekapselt sind, dann würde für die meisten hier eine Welt zusammenbrechen.

    ganz genau: Auf die Kapselung kommt es an. Wenn Funktionalität sauber, z.B. in einer Klasse, gekapselt ist, ist doch völlig wurst ob drinnen C oder C++ zum Einsatz kommt. Und wenn in dem Anwendungsfall C-Code oder sogar Assembler-Code Performance-Vorteile bringt, dann ist das aus meiner Sicht absolut legitim.

    Das die Only-STL-C++-Fanboys ( will jetzt hier keine Namen nennen ) vielleicht dann einen Herzinfarkt erleiden, ist mir relativ Wumpe, aber ich kenn das von dir angesprochene Problem aus dem Forum hier sehr gut 😃



  • Wer in seinen C++ Code C einbaut, hat einfach keine Ahnung. Das sind dann auch die Leute, die printf() fuer ueberlegener halten als Streams.



  • trolldetector schrieb:

    Wer in seinen C++ Code C einbaut, hat einfach keine Ahnung. Das sind dann auch die Leute, die printf() fuer ueberlegener halten als Streams.

    Von printf ist hier nicht die Rede... es geht um Performance.
    Bei Dateizugriffen und Textausgaben nutze ich auch nur streams... 😃



  • Wo sieht denn C++ Code mit STL, Boost, Templates etc besser aus? Da gruseln sich doch selbst die alten Hasen für solch einem Code.



  • It0101 schrieb:

    nöööööööö schrieb:

    Wenn du C und C++ code mischt, so wie es auch Stroustrup durchaus begrüßt wenn die Funktionen gut gekapselt sind, dann würde für die meisten hier eine Welt zusammenbrechen.

    ganz genau: Auf die Kapselung kommt es an. Wenn Funktionalität sauber, z.B. in einer Klasse, gekapselt ist, ist doch völlig wurst ob drinnen C oder C++ zum Einsatz kommt. Und wenn in dem Anwendungsfall C-Code oder sogar Assembler-Code Performance-Vorteile bringt, dann ist das aus meiner Sicht absolut legitim.

    Das die Only-STL-C++-Fanboys ( will jetzt hier keine Namen nennen ) vielleicht dann einen Herzinfarkt erleiden, ist mir relativ Wumpe, aber ich kenn das von dir angesprochene Problem aus dem Forum hier sehr gut 😃

    Du bist der erste vernünftige C++ Coder den ich hier gesehen habe 👍



  • It0101 schrieb:

    trolldetector schrieb:

    Wer in seinen C++ Code C einbaut, hat einfach keine Ahnung. Das sind dann auch die Leute, die printf() fuer ueberlegener halten als Streams.

    Von printf ist hier nicht die Rede... es geht um Performance.
    Bei Dateizugriffen und Textausgaben nutze ich auch nur streams... 😃

    Dann nenn mir mal ein Beispiel, wo C gegenueber C++ schneller ist.



  • Zum Beispiel benötigte ich vor längerer Zeit mal eine sehr spezielle Liste. Eine Spezialanwendung sozusagen.

    Das von mir selbst programmierte maßgeschneiderte Template mit C-Code war 2% schneller als der dafür am besten geeignete STL-Container...

    Manche STL-Container und Klassen sind einfach zu oversized, so dass eine C-Implementierung für Spezialfälle dann durchaus Sinn macht.

    Nur als Beispiel... Es gibt sicher in anderen Bereichen noch mehr Beispiele dafür, die nicht mal unbedingt Spezialanwendungen sein müssen.



  • Inwiefern war das C-Code und inwiefern war er schneller als entsprechender C++-Code? Kann man in C++ nicht mehr eigene Container schreiben? 😕



  • It0101 schrieb:

    Zum Beispiel benötigte ich vor längerer Zeit mal eine sehr spezielle Liste. Eine Spezialanwendung sozusagen.

    Das von mir selbst programmierte maßgeschneiderte Template mit C-Code war 2% schneller als der dafür am besten geeignete STL-Container...

    Manche STL-Container und Klassen sind einfach zu oversized, so dass eine C-Implementierung für Spezialfälle dann durchaus Sinn macht.

    LOL. Und was hat das jetzt mit C++ zu tun? Du vergleichst gerade C mit der STL. Merkst was?
    Wenn ein STL Container nicht passt, dann schreibt man sich halt einen. Nur deshalb gleich auf das unkomfortable C umsteigen, macht Null Sinn.

    Wieder einmal zeigen die Cler, dass sie einfach keine Ahnung haben und nicht mal wissen, dass C++ einfach eine Obermenge ist. Wenn ich gleichwertigen Code habe, dann ist der in C++ mindestens genauso schnell und wenn ich C++ spezifische Konstrukte habe, dann ist der Nachbau in C MAXIMAL gleich schnell.



  • Erklär das hier mal den Fanboys... Für die meisten ist hier C++ untrennbar mit der STL verbunden 😃 Und selbst deine Ansicht, sich selbst nen Container zu schreiben wird hier nicht von vielen unterstützt. Das is praktisch Blasphemie 😃


Anmelden zum Antworten