In 2023 C lernen sinnvoll?

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.

Woher ich das weiß:Berufserfahrung – Berufstätigkeit als Software-Entwickler
MrFiSi 
Fragesteller
 18.05.2023, 12:21

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.

0
BorisG2011  18.05.2023, 12:27
@MrFiSi

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.

0
BorisG2011  18.05.2023, 12:42
@MrFiSi

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.

0
MrFiSi 
Fragesteller
 18.05.2023, 12:25

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.

1
BorisG2011  18.05.2023, 12:32
@MrFiSi

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.

0

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.

MrFiSi 
Fragesteller
 11.07.2023, 09:06

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

0