Warum programmiert ihr in C?



  • Visual was? Ich kenne nur Visual fail 😃



  • Bashar schrieb:

    __-- schrieb:

    jede größere lib die ich kenne verwendet im untergrund so viel assembler das dir die augen raus fallen. c wird dort nur als fallback genutzt falls für diese plattform kein assembler code implementiert ist.

    Nenn doch mal ein paar Beispiele. Ich glaube nicht, dass ein nennenswerter Anteil des Publikums hier weiß, was "__--" für Bibliotheken kennt.

    Ich als Teil des Publikums weise hier einmal auf die GMP Library hin: Beispiel Repositry Link. Man beachte: 24 Assembler-Ordner und 1 C-Fallback-Ordner (generic). Dafür existiert übrigens auch eine C++ Anbindung.



  • Bei High-Performance-Arithmetik-Bibliotheken ist das ja auch nicht so abwegig. Weitere Beispiele, bitte. 🙂



  • Bashar schrieb:

    Bei High-Performance-Arithmetik-Bibliotheken ist das ja auch nicht so abwegig. Weitere Beispiele, bitte. 🙂

    stdlib,bitfields,timing,cpu detection sind so die sachen welche mir spontan einfallen



  • Kein vernünftiges Programm kommt mit OOP alleine aus.
    In irgend einer prozeduralen (C-style) Art und Weise müssen die vielen tollen Schnittstellen, die so ein geniales C++ Objekt 'anbietet', ja auch implementiert werden. Prinzipiell stellt man sich intuitiv unter einem Programm in erster Linie einen (zeitlichen) Ablauf vor, und eher weniger ein sinnloses Nebeneinander irgendwelcher Objekte, die einfach nur da sind (es ist ja schön, wenn sie so verschieden sein dürfen!) und mit denen nichts gemacht wird und die auch von sich aus nichts tun. Zum Leben erweckt werden die Objekte ja immer erst dadurch, dass irgendwelche Funktionen mit diesen Objekten auch arbeiten. Also von daher erscheint mir der geordnete Ablauf eines
    C-Programms (auch wenn es noch so umfangreich sein sollte)
    auch intuitiv leichter nachvollziehbar als eine diffus miteinander verzahnte Klassen- Bibliothek, wo sich alle möglichen Funktionen untereinander in Spaghetti-Manier und in völlig unvorhersehbarer Weise aufrufen.
    Selbst dem Programmfluss einer halbwegs passabel strukturierten C-Anwendung mit mehreren Threads kann man da leichter folgen (und z.B. die Korrektheit des Programms unter allen denkbaren Voraussetzungen verifizieren oder falsifizieren). Bei pompösen und wild miteinander verzahnten Klassen-Bibliotheken gibt's meist keinen 'roten Faden', dem man folgen könnte, dort geschehen ja schon bei der Instanzierung irgend einer Klasse meist so viele implizite Nebenwirkungen und Ausflüge in versteckte Quellcode-Abschnitte, dass man bei jeder C++-Quellcode-Zeile ja nur hoffen kann, dass alles so gut geht, wie es sich der Programmierer vorstellt.
    Also imho ist C einfach nur die intuitiv logischere Programmiersprache als irgendwelche OOP High Level Sprachen, die man auch in kürzerer Zeit erlernen kann. Selbiges gilt für Bibliotheken, mit denen man als C-Programmierer arbeitet. Es genügt meist, sich die Dokumentation einer Funktion anzusehen, damit man sie nutzen kann. Bei C++ Funktionen (deren korrektes Funktionen meistens von allen möglichen vorausgegangenen Initialisierungen irgendwelcher Objekte X, Y, Z abhängt) kann man erst mal sich je nach Umfang der Library erstmal ein paar Wochen lang mit den Interna / Klassenhierarchien etc. beschäftigen, bevor man etwas mit den Schnittstellen anfangen kann.
    Ergo: OOP verkompliziert die einfachsten Dinge. Wo man in C schnell mal unter Zuhilfenahme entsprechender Libraries damit anfangen kann, große Teile eines Programms zu schreiben, findet man sich bei der Verwendung von OOP-Libraries erstmal für mehrere Wochen beim Doku-Studium derselbigen wieder.



  • btw. in linux ist der arch ordner nach den treibern der 2. größte wenn ich mich nicht irre.



  • C und Assembler haben all eure unnötigen Spielzeuge wie VisualBasic ,C++ erschaffen. Also ich will nicht hören das sich mit C keine grossen und sicheren Projekte herstellen lassen. Mann bedenke all die OS'es.
    Und zu sagen mit C könne man keine sichere Software entwickeln ... naja
    Ich sage immer, mann soll nicht jeden Holzkopf an alles heran lassen ...
    Die die 6 - .. Programmiersprachen können, können nach meinen Augen nicht eine einzige richtig ! bzw. sicherer ,performanter ,stabilen und protablen Code zu schreiben.



  • __-- schrieb:

    Bashar schrieb:

    Bei High-Performance-Arithmetik-Bibliotheken ist das ja auch nicht so abwegig. Weitere Beispiele, bitte. 🙂

    stdlib,bitfields,timing,cpu detection sind so die sachen welche mir spontan einfallen

    Das sind also "größere Bibliotheken"? Nicht dass es mir nicht von vornherein klar war, dass da nichts kommt ...



  • malnachdenken 👍

    WinXp Release 2001 ca 27 Mio Zeilen Code, 83% davon sind in C geschrieben, der grösste Restteil ist in C++ geschrieben, der mindere Restteil ist Assembler.

    Das ist zbsp. ein grosses Project !



  • Naja, C ist eben so krude, dass man soviel Quelltext braucht, um einfache Dinge auszudruecken. 🙂



  • ja mei, sicher kann ich in tausend zeilen stdlib funktionen (die großteils in asm sind) aufrufen und dann behaupten ich hätte keine zeile assembler verwendet. was ja auch stimmt wenn man sich nur eine seite der medaille anschaut.



  • __-- schrieb:

    ja mei, sicher kann ich in tausend zeilen stdlib funktionen (die großteils in asm sind) aufrufen und dann behaupten ich hätte keine zeile assembler verwendet. was ja auch stimmt wenn man sich nur eine seite der medaille anschaut.

    Dass ist eben C 😃 Highlevel Assembler :p 😉



  • -lowbyte- schrieb:

    __-- schrieb:

    ja mei, sicher kann ich in tausend zeilen stdlib funktionen (die großteils in asm sind) aufrufen und dann behaupten ich hätte keine zeile assembler verwendet. was ja auch stimmt wenn man sich nur eine seite der medaille anschaut.

    Dass ist eben C 😃 Highlevel Assembler :p 😉

    und ich dachte immer sowas nennt sich funktionale programmierung :p



  • Gott sei dank ...



  • Fliegendes Spaghettimonster sei dank....



  • Nicht umsonst wurde C als portabler Assembler entwickelt. Übrigens sind viele STL Implementierungen von C++ auch nur Assembler sonst wären sie um einiges lahmer.

    In meiner Sicht hat OOP das Programmieren schon verkompliziert, so langsam sehen das viele auch zum Glück an und haben z.B. erkannt das Vererbung nicht immer so toll ist.



  • 123polizei schrieb:

    Übrigens sind viele STL Implementierungen von C++ auch nur Assembler sonst wären sie um einiges lahmer.

    Welche denn zum Beispiel? Und wie bringt man dem Assembler die Template-Parameter bei?



  • 123polizei schrieb:

    Nicht umsonst wurde C als portabler Assembler entwickelt. Übrigens sind viele STL Implementierungen von C++ auch nur Assembler sonst wären sie um einiges lahmer.

    In meiner Sicht hat OOP das Programmieren schon verkompliziert, so langsam sehen das viele auch zum Glück an und haben z.B. erkannt das Vererbung nicht immer so toll ist.

    In diesem Thread zeigt sich ganz deutlich die Ignoranz und Unfähigkeit vieler C-Programmierer. Vermutlich sind sie einfach zu dumm für C++. C ist halt verdammt simpel (mehr als Kontrollstrukturen, Pointer und Funktionen gibts ja im Grunde nicht) und C++ mit all den Features scheint den Standard C-Programmierer zu überfordern.
    Dann erfindet er so Lügen wie "C ist performanter" (was hab ich hier im Thread gelesen. Faktor 30? lol 😃 ) und kommt mit dem immer selben Assembler/Betriebssystem Nullargument daher.

    Vielen Dank für die gute Unterhaltung an alle C-Failer 😃 👍



  • Die meiste die hier geantwortet haben sind wahrscheinlich auch nur Anfänger. In einem C++ Forum werden wohl kaum C-Programmierer wie Linux Torwalds sich zu Wort melden, die haben schon an anderer Stelle mit C++ abgerechnet.

    Mir fällt auch kaum eine Sprache ein die schrecklicher zu lernen ist wie C++. Es kommt halt immer Müll heraus wenn mal die eierlegende Wollmilchsau produzieren will. C++ ist da wieder mal ein sehr guter Beweis dafür. Ich glaube auch nicht dass die Sprache noch großen Zuwachs bekommt, dafür gibt es für bestimmte Bereiche einfach bessere Produkte.

    Wenn ein gestandener C-Programmierer zu dumm für C++ ist, dann stimmt mit der Sprache aber wirklich so einiges nicht. Ist als wenn man in eine Suppe alles mögliche rein haut und sich dann wundert warum sie nicht schmeckt. Aber immer wieder lustig wie es Leute gibt die einen so eine Ursuppe noch schmackhaft machen wollen. *bähhhhh Aber es gibt ja auch Leute die essen rohe Hoden...



  • soeinfachisnich schrieb:

    Die meiste die hier geantwortet haben sind wahrscheinlich auch nur Anfänger. In einem C++ Forum werden wohl kaum C-Programmierer wie Linux Torwalds sich zu Wort melden, die haben schon an anderer Stelle mit C++ abgerechnet.

    Du wirst es ja wissen ... 😃

    Solche Kommentare kann man gar nicht ernst nehmen ... Aber richtige Argumente hab ich bis jetz noch nicht gehört !
    Es wird immer unterschiedliche Meinungen geben ... von daher kann ich diese unnötige Diskussion gar nicht mehr ernst nehmen.


Anmelden zum Antworten