Warum programmiert ihr in C?



  • It0101 schrieb:

    Michael E. schrieb:

    Wir sind aber noch Meilen entfernt von einem Faktor 10 oder gar 30, der hier so gerne genannt wird.

    Vielleicht kommen wir auf den Faktor, wenn bei C++ im Millisekunden-Takt Exceptions fliegen und abgefangen werden 😃 Das dürfte ganz schön Performance kosten 😃

    Bei C# jedenfalls ist das der Performance-Tod 😃

    Nicht wirklich, aber na ja... Wenn du im ms-Takt Exceptions bekommst, hast du ganz andere Sorgen als Performance. Unabhängig davon heißen die nicht umsonst Exceptions und stellen Ausnahmen dar, die nicht zur Steuerung des Programmflusses benutzt werden (sollen).



  • erklärbär schrieb:

    Und jeder der Code mischt ist noch schlimmer als die jeweilige Gegenseite...

    Solange Compiler & Linker sowohl aus C, C++ oder Pascal-Quelltexten nichts weiter als 10111101100001001 usw. produzieren, ist auch jederlei Code-Mischung unbedenklich, wenn sie eine Problemstellung zufriedenstellend löst. Der Maschine ist es ja ebenfalls egal, ob die Instruktionen, die sie ausführen soll, ursprünglich als C, C++, Delphi- oder in sonst einem Quelltext-Gemisch abegefasst worden sind.
    Nur einigen, unverbesserlichen und gänzlich unpragmatischen C++ - Quelltext - Ästheten sind die C-Konstrukte im C++ Quelltext ein Dorn im Auge, und wenn sie auch ihre Teilaufgabe im C++-Gesamtprogramm noch so zuverlässig erfüllen sollten -> man darf sie nicht zulassen, weil ein 'Graus für das Auge.'
    Naja, vielleicht lernen auch die C++ - Puristen eines Tages mal ein Quäntchen Pragmatismus.



  • It0101, wie oft willst du dich eigentlich noch laecherlich machen?



  • KennerDerInkompetenten schrieb:

    It0101, wie oft willst du dich eigentlich noch laecherlich machen?

    Du bist kein Kenner.
    Du gehörst noch nicht zu unserer Gilde.

    Der Älteste



  • naja, Cuda setzt auf C auf. Wenn man viel mit (recht unterschiedlichen) Mikrokontrollern zu tun hat, ist C recht praktisch. Weil der Sprachumfang eingeschränkt ist, lässt sich C schnell lernen und gut beherrschen. Es kommt aber auch immer auf die Entwicklungsumgebungen und Programmiertools, die man bekommen kann, an.
    Man hätte auch fragen können, warum programmierst du Java? Könnte einer meinen, weil die an der Uni das so vorgegeben haben...oder die Tools für Anfänger gut sind oder weil Java Multimediafreundlich ist oder weil Handys eine Javaschnittstelle haben usw.

    Betriebssysteme und Hardware sind unterschiedlich sprachfreundlich, so ist für schnelle Ergebnisse Visual Basic und Nachfolger in Windows gut und C für Unixtypen, lange Zeit hatten Kleinstcomputer ein einfaches Basic im Angebot. Und nur mal so hackerhistorisch betrachtet...;)



  • Warum programmiere ich in C?

    Weil C mit der Winapi die direkte Schnittstelle zu Windows ist und unter Linux ist es nicht anders und weil es in angenehmer Zeit zu erlernen ist und in kleinen Funktionen/Modulen relativ leicht zu überblicken ist was wirklich passiert.

    Hmm warum noch? Ich habe z.B. noch nie wirklich OOP gebraucht. Habe viel darüber gelesen und es klingt auch alles sehr praktisch aber ich brauchte es nie wirklich und glaube auch nicht das ich es in Zukunft brauchen werde. Ist für mich ähnlich wie der kommende Cloudkram eher ein Hype.



  • nocheinerfuerc schrieb:

    Hmm warum noch? Ich habe z.B. noch nie wirklich OOP gebraucht. Habe viel darüber gelesen und es klingt auch alles sehr praktisch aber ich brauchte es nie wirklich und glaube auch nicht das ich es in Zukunft brauchen werde. Ist für mich ähnlich wie der kommende Cloudkram eher ein Hype.



  • Nicht so voreilig. Es soll noch als SW-Entwickler tätige Informatik-Absolventen geben, die in großen Konzernen kaufmännische Anwendungen entwickeln/weiterentwickeln/pflegen, die auf Großrechnern laufen und in COBOL geschrieben sind, die sich mit Objektorientierung nicht auseinandersetzen müssen.



  • Ich habe z.B. noch nie wirklich OOP gebraucht

    Was braucht man schon ... welchen Mehrwert hat diese Aussage?



  • Belli schrieb:

    Nicht so voreilig. Es soll noch als SW-Entwickler tätige Informatik-Absolventen geben, die in großen Konzernen kaufmännische Anwendungen entwickeln/weiterentwickeln/pflegen, die auf Großrechnern laufen und in COBOL geschrieben sind, die sich mit Objektorientierung nicht auseinandersetzen müssen.

    Zu wenige, um relevant zu sein.
    Konstruiertes Beispiel.



  • Mhm, wie viele sind 'zu wenige'?
    Und überhaupt, zu wenige Entwickler, oder zu wenige Konzerne? Oder beides?

    Aber gleich 'konstruiertes Beispiel'?
    Das bestreite ich. Es gibt nach wie vor einen Markt für IBM-Mainframes - und vermutlich ebenso für Siemens - Großrechner.

    Viele große Kommunen unterhalten eine solche Maschine, jede Menge kleiner Kommunen sind an ein Rechenzentrum angeschlossen, welches so einen Mainframe unterhält, im Banken- und Versicherungsbereich spielen Großrechner noch eine bedeutende Rolle - und die jeweiligen Buchhaltungssysteme sind zum größten Teil in COBOL geschrieben.

    Ihren Zenit haben diese Rechenanlagen zwar überschritten und der Trend geht in eine andere Richtung, aber noch gibt es eine ganze Menge.

    Eine aktuelle Studie:
    http://www.pressebox.de/pressreleases/bmc-software-gmbh/boxid/384608



  • @volkard: Betriebssysteme und die meisten embedded Geschichten werden ohne OOP in C geschrieben und auch viele GTK+ Anwendungen wirst du finden die nicht OOP brauchen. Über den Daumen gepeilt wird doppelt so viel Software in C entwickelt wie in C++ . Ich denke da schon dass viele auch komplett ohne OOP gut zurecht kommen und dass es kein Grund gibt nicht gute große Software auch ohne OOP zu schreiben.



  • Nicht so vergessen sind so kleine Programme wie Python, Perl, PHP und Ruby die ebenfalls in C implementiert wurden. Sie sind deswegen ja auch schlecht erweiterbar und extrem unsicher und werden nur bei extrem abgeschirmeten Rechner ohne Netzzugang genutzt und noch der Anwendung gleich wieder deinstalliert. 😃



  • PHP auf einem Rechner ohne Netzzugang?
    Das kann ich kaum glauben ...

    Edit: Da hab ich wohl mal wieder schneller geschrieben als gedacht ...



  • Zwischenruf schrieb:

    @volkard: Betriebssysteme und die meisten embedded Geschichten werden ohne OOP in C geschrieben und auch viele GTK+ Anwendungen wirst du finden die nicht OOP brauchen. Über den Daumen gepeilt wird doppelt so viel Software in C entwickelt wie in C++ . Ich denke da schon dass viele auch komplett ohne OOP gut zurecht kommen und dass es kein Grund gibt nicht gute große Software auch ohne OOP zu schreiben.

    Hast Du den Thread aufmerksam gelesen?
    Es wird erstaunlich viel OOP in C betrieben. Was soll man auch anderes machen, wenn der Chef Angst vor C++ hat oder keine anständigen C++-Compiler für die Plattform zur Verfügung stehen.
    Ich glaube fast, Knuth der letze große Künstler, der komplett auf OO Techniken verzichtet.



  • Zwischenruf schrieb:

    und auch viele GTK+ Anwendungen wirst du finden die nicht OOP brauchen.

    GObject sagt dir schon was oder?



  • Ja klar weiß ich das mit GLip auch OOP möglich ist und dies auch genutzt wird. Es wird nur immer hier großkotzig erzählt dass man in C keine große Software schreiben kann die gut erweiterbar und sicher ist und das ist einfach FALSE.

    Ich sehe halt das Optimum darin Sachen die Performance verlangen oder nahe am System sein müssen in C zu schreiben und wenn es denn unbedingt sein muss GUI und auch Logik in Sprachen wie Java/C#/Pyhton oder weiß ich was zu machen. C-Schnittstellen unterstützen die meisten Sprachen C++ Schnittstellen nicht.

    Ich sehe den Sinn von C++ einfach nicht.



  • Zwischenruf schrieb:

    Ich sehe den Sinn von C++ einfach nicht.

    C in eine einfach zu verwendende objektorientierter Sprache zu verwandeln.



  • großkotzig erzählt dass man in C keine große Software schreiben kann die gut erweiterbar und sicher ist

    Behauptet niemand. Aber ich behaupte: Es ist ungemein aufwendiger.

    Ich sehe den Sinn von C++ einfach nicht.

    Diese Beschraenkung ist dein Problem.

    C-Schnittstellen unterstützen die meisten Sprachen C++ Schnittstellen nicht.

    Das hat andere Gruende.



  • Zwischenruf schrieb:

    Ich sehe halt das Optimum darin Sachen die Performance verlangen oder nahe am System sein müssen in C zu schreiben...

    sry, aber das ist einfach FALSE.

    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.

    und diese assembler schnipsel werden dann schön mit c verkleistert 😋


Anmelden zum Antworten