Lohnt sich C heute noch?



  • Hi Leute,
    ich programmiere nun schon seit längerer Zeit (angefangen in C++, dann Delphi) und habe mich in letzter Zeit sehr viel mit Perl beschäftigt. Ich habe mich sehr in Perl vertieft und benutze die Sprache häufig und gerne. Ich möchte aber nun zusätzlich zu dieser Skriptsprache eine Programmiersprache lernen (oder vertiefen), die auch hardwarenahe Programmierung ermöglicht. Deshalb besteht momentan die Frage: C++ oder C? bzw. Lohnt es sich heutzutage noch C zu lernen oder stirbt es aus? (Bezogen darauf, dass C++ immer mehr an Benutzern gewinnt.)

    Ich habe gelesen, C soll sehr schnell sein und hardwarenahe Programmierung ermöglichen (besser als C++). Deshalb tendiere ich momentan eher zu C und brauche eure Meinungen und Erfahrungen, um mir sicher sein zu können, dass ich jetzt keine Sprache lerne, die in 10 Jahren fast keine Verwendung mehr finden wird. Ist das so? Was empfehlt ihr mir?

    Mit freundlichen Grüßen, Refox.

    PS: Ihr müsst mich nicht von den Vorteilen von C++ überzeugen, ich möchte gerne C lernen, deshalb ist die Frage, ob es sich lohnt C zu lernen?!



  • Refox schrieb:

    Deshalb besteht momentan die Frage: C++ oder C? bzw. Lohnt es sich heutzutage noch C zu lernen oder stirbt es aus? (Bezogen darauf, dass C++ immer mehr an Benutzern gewinnt.)

    C++ gewinnt nicht immer mehr Benutzer und weder C noch C++ werden aussterben.

    Refox schrieb:

    Ich habe gelesen, C soll sehr schnell sein und hardwarenahe Programmierung ermöglichen (besser als C++).

    Das Argmument Geschwindigkeit kannst du gleich wieder vergessen. C ist insofern für hardwarenahe Programmierung "besser", weil es (brauchbare) C Compiler für wahrscheinlich jeden Furzcontroller gibt, was bei C++ nicht unbedingt der Fall ist.

    Lerne C wenn du C lernen willst. Es nicht zu lernen weil du ein "Aussterben" befürchtest ist bei C mindestens so unbegründet wie bei Java, C#, und auch Delphi.



  • Hi TactX,
    vielen Dank erstmal für deine Antwort. Ich werde dann jetzt wohl mit C anfangen, trotzdem noch eine Frage: Hat C irgendwelche Nachteile etc. gegenüber anderen Hochsprachen?

    MfG, Refox.



  • Ich habe gelesen, C soll sehr schnell sein und hardwarenahe Programmierung ermöglichen (besser als C++).

    Jetzt fängt das wieder an 🙄

    Lerne C wenn du strukturielle Programmierung und unsichere Pointer, C++ wenn du OOP und Typsicherheit magst. So einfach ist das.



  • Gut, danke euch für die Antworten. 😉



  • Refox schrieb:

    Ich habe gelesen, C soll sehr schnell sein und hardwarenahe Programmierung ermöglichen (besser als C++).

    es gibt auch bestrebungen, c++ für hardwarenahe programmierung einzusetzen. guckst du: http://www.embedded.com/97/feat9712.htm
    das hat sich bis heute aber nicht richtig durchsetzen können.
    scheitert offenbar an der akzeptanz der user...
    🙂



  • Kommt drauf an, was du machen willst. Treiber für Windows wirst du AFAIK nur in C programmieren können.



  • Luckie schrieb:

    Kommt drauf an, was du machen willst. Treiber für Windows wirst du AFAIK nur in C programmieren können.

    wie kommst du da drauf?



  • Also ich hatte mal eine Kollegen, der hatte damals bei ELSA (RIP) GraKa-Treiber in C++ programmiert.



  • Ob da wohl ein Zusammenhang besteht? 😃



  • Kommt drauf an, was du machen willst. Treiber für Windows wirst du AFAIK nur in C programmieren können.

    Ne, C++ kann auch das was man mit C programmieren kann. Mag sein, dass C in Sachen hardwarenaher Programmierung bevorzugt wird (von mir nicht), trotzdem geht's in C++ genauso.



  • von 'numega' gibt's was, das schimpft sich 'driverworks'.
    ist 'ne c++ klassenbibliothek für windoofs kernel treiber.
    und dann noch solche versuche: http://www.microsoft.com/msj/archive/S35B.aspx
    es geht also schon, irgendwie....
    aber offenbar liegt's nur an den usern.
    leute die c++ können, haben kein feeling für hardware.
    und leute die hardware können, mögen c++ nicht.
    🙂



  • TactX schrieb:

    [...] und weder C noch C++ werden aussterben.

    mit solchen endgültigen aussagen wäre ich vorsichtig 😉



  • thordk schrieb:

    TactX schrieb:

    [...] und weder C noch C++ werden aussterben.

    mit solchen endgültigen aussagen wäre ich vorsichtig 😉

    Mit solch einem Wunschdenken wäre ich aber auch vorsichtig. 😃



  • Artchi schrieb:

    thordk schrieb:

    TactX schrieb:

    [...] und weder C noch C++ werden aussterben.

    mit solchen endgültigen aussagen wäre ich vorsichtig 😉

    Mit solch einem Wunschdenken wäre ich aber auch vorsichtig. 😃

    ihr könnt ja 'ne wette machen: welches davon stirbt eher aus... 😉



  • thordk schrieb:

    TactX schrieb:

    [...] und weder C noch C++ werden aussterben.

    mit solchen endgültigen aussagen wäre ich vorsichtig 😉

    Die Pedanten unter uns dürfen gerne noch ein "in absehbarer Zeit" einfügen 😉



  • Artchi schrieb:

    thordk schrieb:

    TactX schrieb:

    [...] und weder C noch C++ werden aussterben.

    mit solchen endgültigen aussagen wäre ich vorsichtig 😉

    Mit solch einem Wunschdenken wäre ich aber auch vorsichtig. 😃

    Wenn es keine COBOL-Programme mehr auf der Welt gibt, fange ich mir an Sorgen um C zu machen. Aber bis in die nächsten 50 Jahre, braucht man sich da keine grauen Haare wachsen zu lassen (ha, wenn ihr wüsstet, wie oft euer Leben und Überleben im Alltag von C-Programmen abhängt ;))



  • DEvent schrieb:

    Lerne C wenn du strukturielle Programmierung und unsichere Pointer, C++ wenn du OOP und Typsicherheit magst.

    Pointer sind nicht unsicher, nur die Deppen die damit nicht umgehen können schreiben schlechte Programme!

    rüdiger schrieb:

    Wenn es keine COBOL-Programme mehr auf der Welt gibt, fange ich mir an Sorgen um C zu machen.

    Oder keine Assembler Programme auf den ganzen Mainframes. 😉



  • hardware hält nicht ewig, spätestens für das jahr 2038 müssen verdammt viele systeme ausgetauscht werden, um weiterhin mit unix timestamps arbeiten zu können. ob man dann einfach die ganzen alten cobol und c schinken umstellen kann, ist fraglich. ausserdem wird dann ne andere generation an entwicklern tätig sein, deren großteil von uraltsprachen, die dann teilweise fast 80 jahre alt sind, nichts mehr wissen wollen. neue system werden dann sehr wahrscheinlich in aktuelleren sprachen entwickelt werden.



  • Es ist ja nicht so, dass C nur noch zur Wartung alter Software gebraucht wird.



  • kaffee-trinker schrieb:

    Pointer sind nicht unsicher, nur die Deppen die damit nicht umgehen können schreiben schlechte Programme!

    Erinnert mich an das Argument der US-Waffenlobby:
    Waffen töten keine Menschen - Menschen töten Menschen.

    tfa


Anmelden zum Antworten