Es gibt eine Vielzahl völlig unterschiedlicher Motivationen, das Programmieren in C zu erlernen. C ist quasi der “Oldie, but Goodie” unter den Programmiersprachen, aber mit fast 50 Jahren immer noch in höchsten Maße “alive and kicking”. Aus C gingen nicht nur objectorientierte Programmiersprachen wie C++ (gesprochen “Ze plus plus”) und C# (gesprochen “Zi sharp”) hervor, sondern die meisten anderen Programmiersprachen übernahmen die grundlegenden Konzepte und Konstrukte in ihre Semantik und Syntax.
C Code und der seiner Abkömmlinge und der verschiedenen Versionen wird sehr hardwarenah übersetzt und führt zu Programmen mit sehr hoher Ausführungsgeschwindigkeit. Ganze Programmiersprachen sind in C geschrieben und die meisten Betriebsysteme bestehen fast ausschließlich aus C Code. Um viele Aspekte wie Speicheraufteilung und -verwaltung muss sich allerdings der Programmierer kümmern. Das macht den Einstieg für Anfänger in C teilweise schwer, aber wer diese Hürde schließlich meistert, erschließt sich ein grundlegendes Verständnis für eine große Zahl von Techniken und weiß die Erweiterungen vieler Programmiersprachen erst wirklich zu schätzen. Darüber hinaus bietet sich C überall dort an, wo Speicher knapp ist und hohe Ansprüche an die Effizienz des Codes gestellt werden – inbesondere in Embedded Systems und Mobilgeräten.
Nachfolgende habe ich eine Liste von Medien und Kursen zusammengestellt, die den Einstieg erleichtern soll. Teilweise sind sie kostenpflichtig, teilweise in deutscher und englischer Sprache und die Liste natürlich erhebt die Liste keinen Anpruch auf Vollständigkeit.
Über Hinweise auf Kurse, Literatur und kostenlose Vorlesungen und Videos freue ich mich.
Video/Udemy
Titel | Sprache | Dozent | Dauer | Bewertung |
---|---|---|---|---|
C Komplettkurs: Praxisnahe Programmierung für C Einsteiger | Deutsch | Jan Schaffranek | ca. 18 Stunden (Nur Video, ohne Übungen) |
4/5 |
C Programmieren - Praxisorientierter Einsteiger Kurs | Deutsch | Hendrik Pruin | ca. 7 Stunden (Nur Video, ohne Übungen) |
3/5 |
C Programming For Beginners - Master the C Language | English | Jason Fedin | ca. 24 Stunden (Nur Video, ohne Übungen) |
4.5/5 |
Advanced C Programming Course | English | Jason Fedin | ca. 28 Stunden (Nur Video, ohne Übungen) |
4.5/5 |
Part A - Multithreading & Thread Synchronization - C/C++ | English | Shiwani Nigam | ca. 12 Stunden (Nur Video, ohne Übungen) |
3.5/5 |
Literatur
C Programmieren Für Anfänger: Der schnelle Einstieg | Deutsch | Florian Dedow |
3.5/5 |
The C Programming Language. (Prentice Hall Software) | English | Brian W. Kernighan, Dennis Ritchie |
4.5/5 |
C Programmieren: für Einsteiger: Der leichte Weg zum C-Experten | Deutsch | Markus Neumann |
4.5/5 |
C in a Nutshell: The Definitive Reference | English | Peter Prinz, Tony Crawford |
4.5/5 |
Expert C Programming: Deep C Secrets | English | Peter van der Linden |
4/5 |
C programmieren lernen für Dummies | Deutsch | Dan Gookin, Wilhelm Kulisch |
4.5/5 |
C Programming For Dummies | English | Dan Gookin |
4.5/5 |
Dan Gookin's Guide to Ncurses Programming | English | Dan Gookin |
4.5/5 |
Programming with POSIX Threads | English | David R. Butenhof |
4.5/5 |
Vorlesungen
Sytem Programming insbesondere Kapitel 5 "Interactive Programs and Signals" und Kapitel 6 "Event Driven Programming: Timers and Asynchronous I/O" | English | Prof. Steward Weiss (Hunter College) |
4.5/5 |