In 2023 C lernen sinnvoll?
Ich mache gerade eine Ausbildung zum Fachinformatiker (Fachrichtung Systemintegration) und wir lernen im Laufe der Ausbildung verschiedene Programmiersprachen Java, Python, Shell, etc. Und die Datenbankensprache SQL.
Jetzt frage ich mich ob es auch heute noch sinnvoll ist sich mit C zu beschäftigen und dieses zu erlernen. Ich sammle alte Computer vor allem aus den 80er und 90er Jahren, und würde auch gerne für meine Rechner selber ein paar kleine Programme schreiben für MS DOS. Und wenn ich mich nicht täusche, werden diese Programme häufig in C geschrieben. Daher die Frage, macht es noch Sinn 2023 C zu lernen? C++ und C# werden ja heute noch viel gelernt und verwendet, C glaube ich vor allem bei der Programmierung von Mikrocontrollern. Im Gegensatz dazu gilt BASIC glaube ich heute als tote Sprache.
Ist C schwer zu lernen?
Und ist C den anderen Sprachen wie C++ und C# ähnlich?
Und hat sich C über die Jahre stark verändert? Habe noch einige ältere Bücher über C von jemandem geschenkt bekommen, kann man diese noch zum lernen verwenden? Oder sollte man ein aktuelles Buch für den Einstieg wählen?
3 Antworten
Die Programmiersprache C ist 45 Jahre alt und also in mancherlei Hinsicht nicht mehr Stand der Technik. Trotzdem wird sie für viele Aufgaben nach wie vor gebraucht - nicht nur für die Programmierung von Microcontrollern. Da es große Bestände an C-Programmen gibt, die in Gebrauch stehen und gewartet werden müssen, wird C seine gegenwärtige Bedeutung auch auf absehbare Zeit behalten.
C ist wesentlich einfacher als C++ oder C#. Das liegt vor allem daran, dass in die Entwicklung von C++ und C# Ideen eingeflossen sind, die es zum Zeitpunkt der Entwicklung von C noch gar nicht gab. Ich denke da vor allem an objektorientiere Programmierung. Objektorientierte Programmierung gibt es in C nicht; C ist eine ziemlich minimalistische prozedurale Sprache.
C hat sich über die Jahre praktisch überhaupt nicht verändert; die Sprachdefinition wurde kaum jemals revidiert. Das ist ein bemerkenswerter Unterschied zu C# und C++: Diese beiden Sprachen wurden zuletzt in kurzer Zeit mehrfach überarbeitet. (Auch Basic hat sich stark verändert: Das Visual Basic, das Microsoft heute für die .NET-Plattform anbietet, hat mit dem Basic der 70-er Jahre des vergangenen Jahrhunderts nichts mehr zu tun.)
Bei C ist es so, dass die Anpassung an den technische Fortschritt nicht durch eine Überarbeitung der Sprache, sondern durch die Bereitstellung neuer Programmbibliotheken erreicht wird. Bei den Programmbibliotheken hat sich über die Jahrzehnte allerdings wirklich viel getan.
Persönlich denke ich, dass es sich durchaus noch lohnt C zu lernen. Da C eine übersichtliche Sprache ist, in der viele neuere Ideen fehlen ist das auch nicht schwer. Persönlich verwende ich C häufig vor allem auf kleineren Rechnern wie Raspberry Pi sowie immer dann, wenn ich Hardware verwende, die mit Treibern anzusprechen ist, die für die Verwendung mit C bestimmt sind.
Die Abbildung zeigt ein neueres Buch über C++. Das ist sicher auch interessant, aber vielleicht nicht ideal für die Beschäftigung mit C.
C kann man grundsätzlich mit auch Büchern lernen, die in den 70-er Jahren des vergangenen Jahrhunderts gedruckt wurden. Wer einen unverbindlichen Blick in das berühmte Buch von Kernighan und Ritchie werfen möchte, gibt in die Suchmaschine seines Vertrauens ein
Kernighan Ritchie The C Programming Language PDF
und wird unmittelbar fündig.
Ja mir ist es eben selbst aufgefallen. Mein Buch sieht vom Cover her fast identisch aus (Nur die zwei Plus fehlen) und ist auch der selbe Autor. Nur bei meinem Buch geht es um C
Das Inhaltsverzeichnis zu diesem Buch sieht gut aus. Das Buchthematisiert auch die neueren Compiler (gcc, clang) und die neueren Bibliotheken für die Unterstützung von Zeichensätzen wie Unicode (wchar_t). Zum Lernen und zum Ausprobieren von C ist das sicher geeignet.
Ich sehe gerade habe oben im Bild ein Buch über C++ gepostet. Da hab ich nicht aufgepasst. Das Buch, das ich habe ist über C. Sieht aber fast genauso aus ( nur ohne Plus) und ist auch vom selben Autor.
Da C über die Jahre unverändert geblieben ist, haben auch die Bücher über C ihren Wert behalten. Davon abgesehen ist ein Buch von 2010 nicht wirklich alt.
C ist quasi ein Subset von C++
C kennt halt keine Klassen und Vererbung.
Mit C sollte wirklich jeder Programmierer umgehen können.
Auch das Buch, das Du da gefunden hast, scheint mir gute Wahl zu sein. Sein einziger, deutlicher Nachteil: Es spricht über C++ statt über das (sehr viel einfachere) C.
C++ zu lernen ist weit schwieriger, als C zu lernen.
Tatsache ist: Hilfreichste Variante von C/C++ ist klassisches C erweitert um das Klassenkonzept aus C++ (so dass man objektorientiert programmieren kann und dazu einen C++ Compiler nutzt, C++ selbst aber gar nicht zu lernen braucht: Es ist ja C ein Subset von C++). Man kann sich dann also raussuchen, welche Teile von C++ man NICHT nutzen möchte. Viele sind es auch gar nicht wirklich wert, sich damit abzugeben.
Ich hab das falsche Bild genommen, es ist dieses hier: 9783836276894_800.png Nur die C sind in der Farbe des obigen Buches. Hab die Plus übersehen :-D
Vielen Dank für deine ausführliche Antwort! Also könnte ich um erstmal ein Grundverständnis für die Sprache zu entwickeln die Erstauflage von dem oben im Bild gezeigten Buch verwenden? Diese ist von 2010 und noch von Galileo Press. Der Autor ist der selbe. Hatte unter anderem dieses Buch geschenkt bekommen.