Warum programmiert ihr in C?



  • Hauptsächlich mache ich embedded- Zeugs im Sondersteuerungsbereich und da gibt es keine andere Sprache, die alle Kriterien so umfassend erfüllt:

    - schneller, kompakter Code
    - trotzdem für komplexere Probleme geeignet
    - Quelltextkompatibilität auf C89

    Will damit sagen, daß mir im Vergleich von C und dem Disassembling einerseits gut klar ist, wie meine C- Source in Maschinenkommandos umgesetzt wurde und ich selten Optimierungsmöglichkeiten sehe. Beim Output von C++ ist mir nicht immer klar, was die Maschine da tut.
    Da es über die Pointerarithmetik leicht ist, mit Listen, Streams usw. zu hantieren, kann man auch komplexe Bezüge maschinennah abbilden.
    Für mich ganz wichtig: Solange ich bei C89 bleibe, habe ich eine Riesenbandbreite von Zielplattformen. Auch umfangreiche Projekte kann ich "mal so" von einem Prozessor zum anderen portieren, da muß ich nicht viel mehr tun, als die Hardwarezugriffe und evtl. ein paar pragmas anpassen und mit includeguards/macros abzusichern. Das geht schon mit C++ nicht mehr so leicht, alleine schon wg. Compilermangels. 😉



  • Weil ich beruflich (leider!) muss.

    Im Vergleich zu C++ ist C ein Graus. 😡



  • @ Didaktiker5

    👍

    Dem kann ich nur zustimmen.

    SWEntwickler schrieb:

    Weil ich beruflich (leider!) muss.
    Im Vergleich zu C++ ist C ein Graus. 😡

    Nur weil du bei C dein Hirn anstrengen musst !? Musst eben noch selber Hand anlegen, dies wird dir leider in C nicht abgenommen.

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !



  • meint ihr das eigentlich alles ernst was ihr da schreibt oder wollt ihr nur die high-level c++ coder auf einen flamewar einladen?



  • ACCA schrieb:

    @ Didaktiker5

    👍

    Dem kann ich nur zustimmen.

    SWEntwickler schrieb:

    Weil ich beruflich (leider!) muss.
    Im Vergleich zu C++ ist C ein Graus. 😡

    Nur weil du bei C dein Hirn anstrengen musst !? Musst eben noch selber Hand anlegen, dies wird dir leider in C nicht abgenommen.

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    👍

    Solange (alle) OS Schnittstellen in C gehalten sind werde ich (nie) was anders für die Windows-Software Entwicklung brauchen. Ausgenommen für Web zeugs...und dort wo man auf Assembler nicht verzichten sollte.



  • Warum ich mit C programmiere?

    C++ ist ein Grund warum die Systeme eher langsamer werden und das mit schnellerer Hardware. Vergleicht nur mal KDE mit GNOME, entweder können die Leute kein C++ programmieren oder C++ frisst von sich aus mehr Resourcen, eins vom beiden muss es sein. Da ändern auch Mikrobenchmarks nichts an meiner Meinung.

    C++ ist keine "schöne" Sprache, das tut sich kaum jemand heute noch freiwillig an. OOP ist ähnlich wie die Cloud viel zu viel dem Programmierer aufgedrückt worden und kaum jemand braucht es wirklich.

    Für jeden Pups eine Klasse basteln mit Getter und Setter, NEIN DANKE!



  • HolgerMainz schrieb:

    C++ ist keine "schöne" Sprache, das tut sich kaum jemand heute noch freiwillig an. OOP ist ähnlich wie die Cloud viel zu viel dem Programmierer aufgedrückt worden und kaum jemand braucht es wirklich.

    Für jeden Pups eine Klasse basteln mit Getter und Setter, NEIN DANKE!

    Dies sehe ich genau so...


  • Mod

    HolgerMainz schrieb:

    mit Getter und Setter



  • malneugierig schrieb:

    Mich würde einmal interessieren warum ihr noch in C programmiert?

    Weil es sich manchmal nicht vermeiden läßt.



  • ACCA schrieb:

    @ Didaktiker5

    👍

    Dem kann ich nur zustimmen.

    SWEntwickler schrieb:

    Weil ich beruflich (leider!) muss.
    Im Vergleich zu C++ ist C ein Graus. 😡

    Nur weil du bei C dein Hirn anstrengen musst !? Musst eben noch selber Hand anlegen, dies wird dir leider in C nicht abgenommen.

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    C ist deutlich einfacher als C++. Nur leider bietet es absolut nichts (alleine das fehlen eines STL Pendants ist ein Alptraum) und wenn man zügig Software entwickeln will, ist C einfach ein Graus.
    Wenn man natürlich gerne ständig das Rad neu entwickelt, in einem Elfenbeinturm wohnt und nur kleine Frickelsoftware schreiben muss, mag C toll sein.

    ACCA schrieb:

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    Das glaube ich dir sofort, dass du dir nichts anderes vorstellen kannst. Dein Horizont scheint generell eher beschränkt zu sein. 😃



  • PiMalDaumen schrieb:

    ACCA schrieb:
    @ Didaktiker5

    👍

    Dem kann ich nur zustimmen.

    SWEntwickler schrieb:

    Weil ich beruflich (leider!) muss.
    Im Vergleich zu C++ ist C ein Graus. 😡

    Nur weil du bei C dein Hirn anstrengen musst !? Musst eben noch selber Hand anlegen, dies wird dir leider in C nicht abgenommen.

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    C ist deutlich einfacher als C++. Nur leider bietet es absolut nichts (alleine das fehlen eines STL Pendants ist ein Alptraum) und wenn man zügig Software entwickeln will, ist C einfach ein Graus.
    Wenn man natürlich gerne ständig das Rad neu entwickelt, in einem Elfenbeinturm wohnt und nur kleine Frickelsoftware schreiben muss, mag C toll sein.

    ACCA schrieb:
    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    Das glaube ich dir sofort, dass du dir nichts anderes vorstellen kannst. Dein Horizont scheint generell eher beschränkt zu sein. 😃

    Die faulheit mancher Menschen ist einfach Grenzenlos, und was unter all dem abgeht haben die wenigsten C++ Entwickler verstanden !
    Einfach mal das Maul halten.



  • ACCA schrieb:

    Die faulheit mancher Menschen ist einfach Grenzenlos, und was unter all dem abgeht haben die wenigsten C++ Entwickler verstanden !
    Einfach mal das Maul halten.

    Ja, und? Die meisten C-Programmierer schreiben auch fehlerhaft und häßlich, sind strohdumm und eingebildet. Das ist doch kein Argument gegen die Sprache.
    Ich weiß, was bei C++ unten vorgeht und benutze C++ gern, aber ohne Code-Bloat und Langsamkeit, die mag ich nämlich nicht so. Daß Du jetzt auf einen zeigen kannst, der C++ nicht kann, was ändert das denn für mich? Nichts.

    Schlimmer noch, was ändert es für Dich? Nichts. Ob Du C++ benutzen kannst, hängt doch nicht davon ab, ob Du auf jemanden zeigen kannst, der C++ nicht kann. Und würdest Du C++ verstehen, wärst Du anderer Meinung. Allerdings kann es davon abhängen, ob Du überhaupt bereit bist, Dir die Sache ein wenig näher anzuschauen (und nicht mit einem Buch von J.W., da lernst Du nur, wie man sich C++ weh tut). Das bist Du nicht. OK, zur Kenntnis genommen.



  • piMalDaumen schrieb:

    ACCA schrieb:

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    Das glaube ich dir sofort, dass du dir nichts anderes vorstellen kannst. Dein Horizont scheint generell eher beschränkt zu sein. 😃

    Also ich halte gerade für die Winapi RAII und Exceptions für einen Segen.



  • piMalDaumen schrieb:

    C ist deutlich einfacher als C++. Nur leider bietet es absolut nichts (alleine das fehlen eines STL Pendants ist ein Alptraum) und wenn man zügig Software entwickeln will, ist C einfach ein Graus.
    Wenn man natürlich gerne ständig das Rad neu entwickelt, in einem Elfenbeinturm wohnt und nur kleine Frickelsoftware schreiben muss, mag C toll sein.

    ACCA schrieb:

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    Das glaube ich dir sofort, dass du dir nichts anderes vorstellen kannst. Dein Horizont scheint generell eher beschränkt zu sein. 😃

    Ich habe mich mit C++ nur am Rande beschäftigt aus Gründen, die ich schon erläutert habe. In Sachen OOP war mir der Zugang über Java einfacher und das ist schon alles. Libs in C finde ich für fast alles als Source zuhauf, muß nicht jedes Radl neu erfinden - so what? Ich brauche C++ nicht zwingend und das liegt wohl auch an meinem beschränkten Horizont. Aber warum soll jemand alle Features einer eierlegenden Wollmilchsau erlernen, wenn er nur ein Ei haben mag? 😉



  • ACCA schrieb:

    PiMalDaumen schrieb:

    ACCA schrieb:
    @ Didaktiker5

    👍

    Dem kann ich nur zustimmen.

    SWEntwickler schrieb:

    Weil ich beruflich (leider!) muss.
    Im Vergleich zu C++ ist C ein Graus. 😡

    Nur weil du bei C dein Hirn anstrengen musst !? Musst eben noch selber Hand anlegen, dies wird dir leider in C nicht abgenommen.

    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    C ist deutlich einfacher als C++. Nur leider bietet es absolut nichts (alleine das fehlen eines STL Pendants ist ein Alptraum) und wenn man zügig Software entwickeln will, ist C einfach ein Graus.
    Wenn man natürlich gerne ständig das Rad neu entwickelt, in einem Elfenbeinturm wohnt und nur kleine Frickelsoftware schreiben muss, mag C toll sein.

    ACCA schrieb:
    Also für Windows Software brauche ich C und die Winapi, und ich kann mir nichts anderes vorstellen !

    Das glaube ich dir sofort, dass du dir nichts anderes vorstellen kannst. Dein Horizont scheint generell eher beschränkt zu sein. 😃

    Die faulheit mancher Menschen ist einfach Grenzenlos, und was unter all dem abgeht haben die wenigsten C++ Entwickler verstanden !
    Einfach mal das Maul halten.

    Die Dummheit leider auch (z.B. deine). Typische Arroganz mancher Cler. Nur weil ihr permanent das Rad neu erfindet, in der Vergangenheit lebt und mit void Pointern rumfrickelt denkt ihr, ihr wärt was besseres.
    Du hast offenbar noch nie ein großes Softwareprojekt entwickelt - dann würdest du merken, wie unpraktisch C ist und wieso alle modernen Sprachen OOP unterstützen.
    Was soll überhaupt "unter all dem abgeht" heißen? C++ hat keinerlei Overhead eingeführt. Tiefergehendes Verständnis des Entwicklers hat nichts mit der Sprache zu tun.

    Naja, bleib du nur in deiner kleinen veralteten C-Welt. Bei deiner Ausdrucksweise und deinem grauenhaften Deutsch kann man sich dein berufliches Niveau recht gut vorstellen 😃



  • wir hatten bereits genug sinnlose C <-> C++ Flamewars in "Rund um die Programmierung", und das sind meistens immer diesselben Aktoren. Bitte das hier schließen!



  • Dass meine ich auch !
    Es ist keine Sprache wegzudenken !
    Und alles andere ist geschmacks Sache.



  • pointercrash() schrieb:

    Aber warum soll jemand alle Features einer eierlegenden Wollmilchsau erlernen, wenn er nur ein Ei haben mag? 😉

    Naja, RAII ist schon lecker. Kein close() mehr vergessen können.
    Und man kann auch jahrzehntelang schöne C++-Programme basteln, ohne einmal
    Expression Templates http://en.wikipedia.org/wiki/Expression_templates
    zu schreiben.
    Ich lasse auch C++-Dinge weg, die mir nicht passen. Im C++-Forum könnte ich als Purist gelten.



  • Ich mag C und mag C++ nicht. Das ist wohl auch eine
    Sache der persönlichen Vorlieben. Ich Programmiere noch
    in Java gerne. Ich denke, es gibt keine universelle
    Programmiersprache und jede hat ihre Schwächen und Stärken -
    sonst gäbe es ja die Anderen nicht.

    Das es mit C viel mehr Arbeit macht und machmal auch
    zum Eierlegen ist, größere Projekte umzusetzen ist wohl
    war. Das es trotzdem geht, beweist meiner Ansicht
    nach das Gimp Tool Kit. Vielleicht sollte man sich auch
    immer mal daran erinnern, das C mal geschaffen wurde ein
    Betriebsystem zu schreiben.

    Ich finde es viel wichtiger, das man in der Programmiersprache,
    mit der man arbeitet, oder wie hier auch schon mal angedeutet
    wurde muß, hehe, sauberen Code hinzulegen und das auch das rauskommt
    was man erwartet. Unter diesem Aspekt ist das eigentlich egal,
    welche Programmiersprache der Programmierer gerade benutzt.

    Den Anwender später, interessiert das wahrscheinlich überhaupt nicht.
    Er würde vermutlich über solches Köpfe_heiß_reden hier nur den
    selben schütteln.

    In diesem Sinne

    viele Grüße

    festus0815



  • piMalDaumen schrieb:

    C ist deutlich einfacher als C++. Nur leider bietet es absolut nichts ... (alleine das fehlen eines STL Pendants ist ein Alptraum)

    Es ist wohl müßig, darauf hinzuweisen, dass für fast jedes nur erdenkliche Problem im Laufe der Jahre und Jahrzehnte, die C mittlerweile auf dem Buckel hat, sehr gute und oftmals hochspezialisierte Bibliotheken entstanden sind, auf die ein C Programmierer zurückgreifen kann. Alleine die lange Tradition von C hat für diesen Umstand gesorgt ... also das 'Rad neu erfinden' wird man eher in allen anderen Hochsprachen müssen. Eine derartige Neuerfindung des Rades wird dort auch öftere Male als 'einen C++Wrapper für ein C-Interface schreiben' bezeichnet.
    Für Hoch- und Skriptsprachen einer noch höheren Abstraktionsebene als C++ wird dann oft ein 'Wrapper für den C++-Wrapper des C-Interfaces' erfunden. Die Russische Puppe wird dabei natürlich immer dicker und schwerer, je öfter sie neuerfunden ('verpackt') wird, und das führt dann bei Low-End-PCs dazu, dass diese dicke C++/Java - Puppe das System überfordert (auch der Vergleich mit einer über-bürokratisierten Verwaltung wäre da treffend).
    Auch das ist nämlich ein wichtiger Grund, dass man möglichst resourcen-schonende Software schreibt (Zwingende Voraussetzung == C):
    Man möchte die Leute mit den Low-End-PCs nämlich nicht von der Nutzung der Anwendung ausschließen!
    Der haarsträubende Dogmatismus, mit dem sich viele C++ - Programmierer selbst verbieten, in manchen Situationen/Teilmodulen im Stile eines C - Programmierers Speicher selbst zu verwalten, sich Gedanken über blockierende und asynchrone
    I/O sowie SysCalls i.A. zu machen, die Cache-Friendliness von mitten im Funktionsrumpf erzeugten Klasseninstanzen zu hinterfragen u.ä. hat dazu geführt, dass jede neue C++ Anwendung immer mehr Resourcen verschlingt (BLOATWARE), und die schillernde Verpackung oft über den katastrophal ineffizienten und wegen 'Über-Verwaltung' meist verbuggten Inhalt hinwegtäuscht.

    Um es kurz zu machen:
    - Als C - Entwickler habe ich in erster Linie das Ziel, zuverlässige, hochperformante, robuste und - für den Anwender komfortable Software/Schnittstellen bereitzustellen.
    - Als C++ - Entwickler möchte man in erster Linie selber komfortabel programmieren, ob dann die Anwender vor der Nutzung des Kompilats erstmal wieder einen neuen Rechner anschaffen müssen, damit der dicke Brummer dann vielleicht halbwegs läuft, interessiert die Herrschaften erst in zweiter Linie.

    Tja, C ist für mich auch heute noch 'Cool', und das trotz vielerlei Abstecher mit durchwachsenen Erfahrungen in die VBasic-, Delphi/Pascal, C++, Java, Ruby, Python, Perl, PHP und neuerdings Squirrel - Welt (Der letzte Schrei!), alles Sprachen, die man bestenfalls für unseriöse Spielereien gebrauchen kann, aber doch nicht in Commercial Quality DB-Backends, Client-/Server- Kommunikation auf der Basis eigener Protokolle, Satelliten-Datei-Formate auf Datenträgern von Alpha-Centauri (oder was weiß man, woher der Quatsch damals kam) und die man nur auf einem alten Kübel aus den 80ern verwenden konnte - halt alles Dinge, die eben auch irgendwer machen sollte. Nicht jeder programmiert immer nur ein cooles Spiel, man höre und staune. Und selbst wenn's so wäre, nähme man dazu wohl eher noch C-Lite, Squirrel, Ruby, Python eher noch her als ein aufgeblähtes OOP-C++ Ungetüm. Denn die systemnahen C-Schnittstellen kann man ebensogut mit diesen Sprachen nutzen, und dazu kommt, dass sich der Einstieg in so eine Skript-Sprache wohl einfacher gestalten dürfte als sich jahrelang irgendwelche C++ - Philosophien reinzuziehen und dann erst wieder nichts weiter zustande zu bringen, als dicke Russische BLOATWARE - Puppen.

    Mag auch sein, dass das Zusammenarbeiten mit anderen C - Programmierern generell unkomplizierter ist als mit so manchen 'ganz besonders gescheiten' C++ 'Experten', die frisch von den FHs kommen, die außer ein paar Schulübungen noch keine hundert Zeilen Quellcode selbständig geschrieben haben und sich dann auch noch über den C - Quellcode von Leuten mokieren, die seit 15 Jahren und manche noch länger in der Firma arbeiten.

    --> So, also eigentlich müsste man sich eher fragen, warum noch irgendjemand in C++ programmiert, wo doch C für die meisten Problemstellungen ganz offensichtlich überlegen und auch flexibler ist.

    MFG


Anmelden zum Antworten