Rudi: C noch zeitgemäß?

Hi,

da mein Mädel in der Uni dieses Semester C lernt, dachte ich mir, lern ichs mal mit.

Somit stehe ich hiermit bisher am Anfang, habe gerade die ersten Konsolenanwendungen geschrieben.

Da mir Konsole aber nicht wirklich zusagt, habe ich mich informiert, was man braucht, um das Ganze in GUI-Form zu bringen, Stichwort GTK+, Glade usw.

Leider finde ich nur sehr sehr dürftige Informationen hierzu. Warum ist das so? Ist C schon soweit "außer Mode", daß man dazu nur so wenig Infos im Netz findet?

Ich habe den Eindruck, zu C++ (hier liegt mir aber leider das objektorientierte Programmieren eher weniger), Java und/oder Python findet man deutlich mehr Informationen.

Rudi

  1. Mahlzeit,

    Leider finde ich nur sehr sehr dürftige Informationen hierzu. Warum ist das so? Ist C schon soweit "außer Mode", daß man dazu nur so wenig Infos im Netz findet?

    Definiere "wenig"

    Ich habe den Eindruck, zu C++ (hier liegt mir aber leider das objektorientierte Programmieren eher weniger), Java und/oder Python findet man deutlich mehr Informationen.

    F: Ich will von A nach B, nehme ich einen Hubschrauber, einen Raumschiff oder Rollschuhe?

    Oder anders: Ohne konkreten Anwendungsfall ist deine Frage nicht zu beantworten.

    --
    42
  2. Ganz "niedrige" Dinge wie Treiber oder so werden zum Teil immer noch in C geschrieben. Projekte für Endgeräte mit wenig Speicher auch. Man darf da nicht immer nur an PCs denken.
    Ich finde es gut wenn man einem Neuling erst mal die wirklichen Grundlagen beibringt, was beim programmieren passiert. Da gleich mit Objekten anfangen halte ich für verwirrend. Dann hantiert man mit Objekten hin und her ohne zu wissen was passiert.
    Man will zwar ungerne mit Pointern arbeiten wenn es sich vermeiden lässt, aber ich finde man sollte das Konzept trotzdem verstanden haben. OO ist schließlich immer noch das selbe, nur sieht man es eben nicht mehr direkt.
    Wenn ich Aussagen höre wie "in php oder C# oder wasauchimmer gibts keine Pointer mehr" kann ich nur lachen. Setzen, sechs. Nicht verstanden. Finde ich schade.

    Da mir Konsole aber nicht wirklich zusagt, habe ich mich informiert, was man braucht, um das Ganze in GUI-Form zu bringen, Stichwort GTK+, Glade usw.

    Das wäre mir schon wieder viel zu großer Overkill. Wenn ein Konsolenprogramm reicht um die Grundlagen zu lernen, würd ich es auch dabei belassen. Für größere Dinge halte ich C dann tatsächlich für überholt. Damit kann man sich dann befassen wenn man es wirklich braucht, aber ich glaube das ist bei einer Anfängerin so schnell nicht der Fall.

    Ich habe den Eindruck, zu C++ (hier liegt mir aber leider das objektorientierte Programmieren eher weniger), Java und/oder Python findet man deutlich mehr Informationen.

    Könnte auch daran liegen dass C nunmal ziemlich simpel ist. Da gibts halt nicht so viel zu sagen :-)

    1. Hallo,

      Ganz "niedrige" Dinge wie Treiber oder so werden zum Teil immer noch in C geschrieben. Projekte für Endgeräte mit wenig Speicher auch. Man darf da nicht immer nur an PCs denken.

      Schon klar. Gute C-Programmierer sind z.b. in der Zulieferindustrie der KFZ-Branche durchaus gesucht.

      Das wäre mir schon wieder viel zu großer Overkill. Wenn ein Konsolenprogramm reicht um die Grundlagen zu lernen, würd ich es auch dabei belassen. Für größere Dinge halte ich C dann tatsächlich für überholt. Damit kann man sich dann befassen wenn man es wirklich braucht, aber ich glaube das ist bei einer Anfängerin so schnell nicht der Fall.

      Na, die Anfängerin muß eh das lernen, was der Prof anbietet. Das ist mal Java, mal C. Beides im ersten Semester imperativ, im nächsten dann darauf aufbauend objektorientiert.
      Aber mir gings ja im in meinem Post darum, was ich selber machen möchte und ich habe ja die freie Wahl. Und da ich dann auch weder Vorlesungen noch Tutorien o.ä. besuchen kann (bin halt kein Student), bin ich auf Bücher und/oder aktive Communities zum Thema angewiesen. Zum reinen Konsolenprogrammieren findet man zu C noch einigemaßen was, aber das ist nicht das, was ich als Ziel habe. Ich würde schon als Ergebnis Programme mit GUI haben wollen.

      Könnte auch daran liegen dass C nunmal ziemlich simpel ist. Da gibts halt nicht so viel zu sagen :-)

      Na, ich dachte wirklich eher an C inkl. GUI. Dazu gäbs schon was zu sagen, aber ich finde sehr wenig dazu, was für mich dafür spricht, daß es GUI und C zwar machbar ist, aber nicht der gängige Weg ist.

      Rudi

      1. Hi,

        [..] Ich würde schon als Ergebnis Programme mit GUI haben wollen.

        Visual c++; Delphi; Perl Tk ...

        für Leute, die gerne klicken ;)

        Und als kleine Übung schreibst Du Deine Programme so, dass sie sowohl auf der Kommandozeile schon was können, als auch in der Lage sind, eine GUI zu starten. Beispielsweise startet ein Window-User einen X-Server, macht auf dem Remote-System ein putty-Fernsterchen auf und gibt ein:

        ./kunden.pl -x

        Und kriegt ein wunderschönes Window, wo er auf den Kunden rumklicken kann. Ein Anderer User macht auch ein putty-Fensterchen auf und gibt ein:

        ./kunden.pl --delete all

        Nurmalso als Beispiel :)

        \_/7

        1. Hallo,

          ./kunden.pl --delete all

          hey, Vorsicht! Nicht dass er wieder das Internet löscht...

          scnr
          Kalk

      2. Mahlzeit,

        Na, ich dachte wirklich eher an C inkl. GUI. Dazu gäbs schon was zu sagen, aber ich finde sehr wenig dazu, was für mich dafür spricht, daß es GUI und C zwar machbar ist, aber nicht der gängige Weg ist.

        Da liegst du halbwegs richtig. Bei einer GUI ist eher C++ angesagt, weil die üblichen Frameworks auch OOP sind bzw. die OOP-Wrapper schöner zu programmieren sind als prozedural in C.

        Für schnelle, kleine Sachen ist aber C wesentlich weniger Arbeit und einfacher umzusetzen. Oft ist es ja auch praktisch ein CLI-Tool zu schreiben und dann ein UI-Frontend dazu zu bauen. Macht eine Software sehr flexibel, man kann (falls vorhanden) verschiedene GUIs nutzen (Beispiel dafür ist z.B. mpd. Da gibt es Sonata (Python), Gimix (C), Glurp (C) Nijiiri (Ruby) uvm.

        Damit ist das Backend und das Frontend nicht zwingend in der gleichen Programmiersprache geschrieben, was das Ganze so flexibel macht. Auch dezentrale Anwendungen sind dadurch machbar.

        Und bei einem kleinen Frontend mit ein paar Funktionen reicht dann C mit GTK+2 locker aus

        --
        42
        1. Hi,

          Und bei einem kleinen Frontend mit ein paar Funktionen reicht dann C mit GTK+2 locker aus

          Dachte ich mir auch.
          Nur auch hierüber findet man vergleichsweise wenig. Wenn ich dann noch Glade einbeziehe, finde ich fast gar nichts mehr...

          Rudi

      3. Hallo,

        Ganz "niedrige" Dinge wie Treiber oder so werden zum Teil immer noch in C geschrieben. Projekte für Endgeräte mit wenig Speicher auch. Man darf da nicht immer nur an PCs denken.

        Schon klar. Gute C-Programmierer sind z.b. in der Zulieferindustrie der KFZ-Branche durchaus gesucht.

        Das wäre mir schon wieder viel zu großer Overkill. Wenn ein Konsolenprogramm reicht um die Grundlagen zu lernen, würd ich es auch dabei belassen. Für größere Dinge halte ich C dann tatsächlich für überholt. Damit kann man sich dann befassen wenn man es wirklich braucht, aber ich glaube das ist bei einer Anfängerin so schnell nicht der Fall.

        Na, die Anfängerin muß eh das lernen, was der Prof anbietet. Das ist mal Java, mal C. Beides im ersten Semester imperativ, im nächsten dann darauf aufbauend objektorientiert.

        Und gute Dozenten lehren erstmal funktionale Programmieren. ;)
        Und danach geben sie einen Ausblick, was es so alles an Konzepten gibt, wie verbreitet diese sind, wo sie welche Vorteile und Nachteile haben.

        Aber mir gings ja im in meinem Post darum, was ich selber machen möchte und ich habe ja die freie Wahl. Und da ich dann auch weder Vorlesungen noch Tutorien o.ä. besuchen kann (bin halt kein Student), bin ich auf Bücher und/oder aktive Communities zum Thema angewiesen. Zum reinen Konsolenprogrammieren findet man zu C noch einigemaßen was, aber das ist nicht das, was ich als Ziel habe. Ich würde schon als Ergebnis Programme mit GUI haben wollen.

        Ich muss zustimmen, dass da C++ aufgrund der Objektorientierung viel besser geeignet ist. Gerade GUIs können sinnvoll sein, um diese Konzepte zu lernen, weil sie eben Elemente beinhalten, die man sich sehr konkret als Objekt vorstellen kann. Und dann würde ich z.B. Qt als weitergehendes grafisches Framework empfehlen. Das ist sehr gut dokumentiert.

  3. Moin Rudi,

    während die meisten Leute zu glauben scheinen, dass der Zenit von C überschritten ist, gibt es auch immer noch anders lautende Meinungen. Z.B. Damien Katz, der Autor von CouchDB, schrieb über The Unreasonable Effectiveness Of C.

    LG,
     CK

    1. Moin Rudi,

      während die meisten Leute zu glauben scheinen, dass der Zenit von C überschritten ist, gibt es auch immer noch anders lautende Meinungen. Z.B. Damien Katz, der Autor von CouchDB, schrieb über The Unreasonable Effectiveness Of C.

      Hi Christian,

      mir ging es aber eher darum, ob es noch zeitgemäß ist, es als Autodidakt zu erlernen, weil es (gerade in Sachen GUI Programmierung) keine funktionierende Community gibt.

      Rudi

      1. Moin,

        mir ging es aber eher darum, ob es noch zeitgemäß ist, es als Autodidakt zu erlernen, weil es (gerade in Sachen GUI Programmierung) keine funktionierende Community gibt.

        Inwiefern fällt der verlinkte Artikel sowie mein Beitrag nicht in dieses Kriterium?

        LG,
         CK

        1. Inwiefern fällt der verlinkte Artikel sowie mein Beitrag nicht in dieses Kriterium?

          Hi,

          weil ich such ne Anleitung, wie man Auto fährt und Du verlinkst auf Artikel, die mir die Vorteile des Autofahrens erläutern wollen.

          Rudi

          1. Moin Rudi,

            Inwiefern fällt der verlinkte Artikel sowie mein Beitrag nicht in dieses Kriterium?
            weil ich such ne Anleitung, wie man Auto fährt und Du verlinkst auf Artikel, die mir die Vorteile des Autofahrens erläutern wollen.

            Dann musst du präziser formulieren. Meinem Verständnis nach ging es darum, ob es noch zeitgemäß ist, C zu lernen. Und ich wollte eine weitere Meinung dazu liefern.

            LG,
             CK

            1. Dann musst du präziser formulieren. Meinem Verständnis nach ging es darum, ob es noch zeitgemäß ist, C zu lernen. Und ich wollte eine weitere Meinung dazu liefern.

              Einverstanden.

              Rudi

      2. Mahlzeit,

        mir ging es aber eher darum, ob es noch zeitgemäß ist, es als Autodidakt zu erlernen, weil es (gerade in Sachen GUI Programmierung) keine funktionierende Community gibt.

        Was hat eine funktionierende Community damit zu tun?
        Die gesuchtesten Programmier sind die, die Sprachen sprechen, die nur wenige beherrschen. Wenn du aber nur GUI zum Reinschnuppern willst, du aber keine konkrete Anforderung hast (Arbeit- oder Auftraggeber), halte ich Sprachen wie C++ für überdimensioniert.

        Wenn du aber in dem Bereich Geld verdienen willst, vergiss irgendwelche Trends, schau dir den Markt an und orientiere dich daran. Ich kenne Firmen, die GUI-Anwendungen entwickeln, dafür aber nur Python benutzen, mit C++ hast du keine Chance da rein zu kommen. Nur mal als Beispiel.

        --
        42
        1. Mahlzeit,

          Was hat eine funktionierende Community damit zu tun?

          Na, irgendwo und irgendwann brauchst du doch mal Hilfe als Autodidakt.

          Abgesehen von den Grundinfos, die ohne funktionierende Community schlicht fehlen.

          Gib mir doch mal wirklich 5-10 gute Tutoriallinks für die Kombination Glade, GTK+ und C.

          Die 2-3 im Netz, die es gibt, kenne ich. Wirklich gut und ausführlich sind die nicht...

          Rudi

          1. Mahlzeit,

            Na, irgendwo und irgendwann brauchst du doch mal Hilfe als Autodidakt.

            Dafür gibt es Man-Pages, Tutorials, Bücher, eBooks .....
            Aber jetzt weiss ich auch, wieso ich kein Astronaut geworden bin, ich hab keine gute Community dazu gefunden :D

            --
            eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
            1. Dafür gibt es Man-Pages, Tutorials, Bücher, eBooks .....

              Stimmt einfach nicht!
              Nicht reden, vernünftige Links schicken. Sorry, aber da ist viel Gelaber von Dir und wenig Hilfe.

              Rudi

              1. Mahlzeit,

                Stimmt einfach nicht!

                Nur weil du nicht in der Lage bist, etwas zu verstehen, heisst es nicht, es ist schlecht.

                Nicht reden, vernünftige Links schicken. Sorry, aber da ist viel Gelaber von Dir und wenig Hilfe.

                Und du glaubst, wenn dir die originale Doku nicht passt, such ich dir was, was dir auch noch den Arsch abwischt? Du solltest den Wunsch, Programmierer zu werden, begraben. Aber kein Problem. McDonalds sucht immer Leute ;)

                Und um dir das vorweg zu nehmen: Ja, ich bin ein Arsch, aber im Gegensatz zu dir, kann ich programmieren und aus Manpages lernen, du hast die beste Manpage von mir als Link bekommen (aber vermutlich nichtmal angesehen), aber offensichtlich fehlt es an irgendwas, dadurch verstehst du es nicht.

                --
                eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
          2. Mahlzeit,

            Gib mir doch mal wirklich 5-10 gute Tutoriallinks für die Kombination Glade, GTK+ und C.

            Wieso reicht nicht eins, wenn es gut ist? Hast du 10 Paar Socken an?

            Die 2-3 im Netz, die es gibt, kenne ich. Wirklich gut und ausführlich sind die nicht...

            Was gefällt dir an der Quelle nicht?

            --
            eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
            1. Moin,

              Wieso reicht nicht eins, wenn es gut ist? Hast du 10 Paar Socken an?

              Nicht an, aber in Summe schon ein paar mehr. Liest Du zu jedem Thema nur 1 Buch, wenn das gut ist? :-~
              Zudem schrieb ich doch: Wirklich gut sind die, die ich gefunden hatte, nicht!

              Was gefällt dir an der Quelle nicht?

              Und Glade?

              Rudi

              1. Mahlzeit,

                Nicht an, aber in Summe schon ein paar mehr. Liest Du zu jedem Thema nur 1 Buch, wenn das gut ist? :-~

                Wenn es eine originale Doku gibt, lese ich erstmal die. Wenn dann nboch was unklar ist, such ich mir weiteren Lesestoff.

                Zudem schrieb ich doch: Wirklich gut sind die, die ich gefunden hatte, nicht!

                1. du hast immer noch nicht verraten, welche das sind.
                2. du hast immer noch nicht verraten, was dich an diesen stört.

                Was gefällt dir an der Quelle nicht?

                Hast du in der Fahrschule auch erstmal gefragt "Wo ist die Rennstrecke", als du deine erste Fahrstunde hattest?

                Willst du programmieren lernen oder irgendwas zusammenklicken? Spielen kannst du im Sandkasten auch. Desweiteren wäre gleich neben der Quelle die Werkzeugkiste gewesen.

                Nachdem du immer nur meckerst, aber in keinster Weise Initiative zeigst, gehe ich davon aus, du bist ein Troll. Aber spiel weiter Ziege und lass die Erwachsenen die guten Sprachen sprechen. Es gibt den einen oder anderen, der mit den verfügbaren Mitteln gelernt hat, das zu beherrschen, was zu als Ziel angibst (dass du es hast, bezweifel ich mittlerweile).

                Ich bin hiermit raus, da rede ich lieber mit der Hauswand, die hört mir wenigstens zu. Und dabei erwarte ich genau das, was zu hier beiträgst: nichts.

                BTW: Das einzige, was nicht mehr zeitgemäss ist, ist deine Einstellung. In der heutigen Zeit sind keine Programmierer gefragt, die nen Babysitter brauchen sondern welche, die den Arsch zusammenkneifen und selbst was tun.

                --
                eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  4. Leider finde ich nur sehr sehr dürftige Informationen hierzu. Warum ist das so? Ist C schon soweit "außer Mode", daß man dazu nur so wenig Infos im Netz findet?

    Im Embedded-Bereich (in dem ich unterwegs bin), ist C immer noch sehr verbreitet.

    Gruß
    Stefanie