C/C++/C# lernen?
Wo habt ihr C/C++/C# gelernt? Was würdet ihr empfehlen?
6 Antworten
Zu allen drei Sprachen gibt es gute Literatur:
- C: Programmieren von Anfang an - H. Erlenkötter (das Buch ist zwar schon recht alt, aber dafür sehr gut für Einsteiger geschrieben)
- C++: Schau nach Büchern von Breymann, Theis oder Will, die mindestens Version 17 behandelt und bestenfalls eine neuere (die letzte Version ist die 23)
- C#: Schau nach Büchern von Kühnel oder Theis. Empfehlenswert ist auch Schrödinger programmiert C# von Wurm oder Head First C# von Stellman & Greene.
Online kannst du
- für C++ auf Learn C++ schauen.
- für C# gibt es Microsoft Learn.
- Lernkurse auf Codecademy oder Hyperskill finden. Videokurse gibt es bei PluralSight oder Udemy. Auf dem YouTube-Account von Microsoft Developer ist außerdem noch ein Tutorial von Bob Tabor (C# Fundamentals for Beginners).
Entscheide dich für eine von den drei Sprachen und richte dir frühzeitig eine Entwicklungsumgebung ein, mit der du das, was du dir anliest, direkt ausprobieren kannst.
- Für C/C++ würde ich dir den QtCreator empfehlen. Andernfalls eignen sich ebenso CLion, Visual Studio (vorrangig für C++) oder Eclipse CDT.
- Für C# ist Visual Studio die beste Wahl oder Rider.
Nimm dir bei alldem Zeit und hetze nicht durch Themen. Generell wird allein das Lernen der ersten Grundlagen (Kontrollstrukturen, Arrays, ...) mehr als nur ein paar Wochen beanspruchen. Suche dir dementsprechend einfache Übungen für die Konsole heraus und plane nicht sofort große Projekte. Auf Seiten wie Edabit, Exercism oder w3resource sind ziemlich viele Übungsideen kategorisch aufgeführt.
C ursprünglich in der Schule mit einem Lehrer der mir die Grundlagen zeigte, danach autoditaktisch weiter wobei ich zunächst einige Projekte im Embedded Bereich umgesetzt habe.
Danach hab ich C# begonnen und dann C++.
Gelernt habe ich hauptsächlich durch das Umsetzen von Projekten. C# war dabei meist die Interface Sprache damit ich Micrcontroller die mit C Programmiert waren am PC steuern konnte.
Wenn ein Problem aufgetreten ist oder ich nicht wusste wie ich was umsetzen soll hab ich google verwendet oder eine Frage auf Stackoverflow gestellt. Die meisten Dinge die mich interessierten gab es aber bereits beantwortet auf Stackoverflow.
Am Ende hatte ich dann C/C++ auch an der Uni wobei da aber nichts neues mehr dazu kam, außer das Verständnis für einige Algorithmen und den Aufbau von Betriebssystemen im Embedded Bereich.
Die Grundlagen also Basic nussste ich damals in der Schule auch machen. Ist aber heute nicht mehr zeitgemäß
DIe Sprache C hat sich sei den 90ern kaum geändert und ist immer noch die meist verwendete Sprache im Embedded Bereich, also das was ich da gelernt habe ist zeitgemäß. Auch wenn jetzt mehr Rust kommt bleiben die Konzepte der Embedded Programmierung gleich.
Ich musste in der Vergangenheit mit einem einfachen Texteditor txt Datei solche HTML codes machen
HTML ist keine Programmiersprache. Javascript oder PHP sind welche.
Blöd nur wenn mein Lehrer mit solchen Binärcodes ankommt.
ISt in meinem Bereich Standard. Je nachdem welche Bits in einem Register gesetzt sind macht die Hardware andere Dinge.
Also wenn ich zB 0x01 in die Registeradresse 0x80100 schreibe (Beispiel) leuchtet eine LED wenn ich 0x3 schreibe leuchten beide
Ich habe schon alle 3 Sprachen benutzt.
C++ kam zuerst dran. Das war zu Beginn meiner Ausbildung. Ich habe dort mit einem Videokurs über Pluralsight angefangen. Es ging hauptsächlich um eine Software mit Hardware Anbindung und HTTP Kommunikation.
Später in der Ausbildung kam noch C# dazu. Da ich zu der Zeit auch schon einiges in Java gemacht habe, war es das Übertragen der Konzepte auf C#. Es ging hauptsächlich um WPF (GUI) Anwendungen unter Windows.
Im Studium nach der Ausbildung sind wir im 2. Semester von Assembler (ARM) auf C gewechselt. Der Fokus war auf der systemnahen Programmierung auf einem Entwicklerboard bzw. aktuell auch unter Linux für das Verständnis von einem Betriebssystem.
Wenn du eine GUI oder ein Webserver bauen möchtest, wird wahrscheinlich C# die bessere Wahl sein.
Wenn du für eine Microcontroller bzwm System- nahes entwickeln möchtest oder einfach eine sehr gute Performance benötigst, wohl C/C++ die bessere Wahl sein.
Auch wenn meine C++ Zeit schon länger her ist, würde ich das bevorzugen. Dort gibt viel Unterstützung von der Sprache. C ist sehr Basic von den Funktionen.
In der Uni.
Kann man sich natürlich mit YouTube und sonstigen Tutorials selber beibringen.
Mit Microsoft Learn. Und solche Übungen und Tutorials im Internet. C++ oder C# verwende ich nur selten. Mit dem Microsoft Visual Studio C++ komme ich nicht klar damit. Windows Terminal führe ich meistens im Windows Power Shell aus. Für mich reicht das völlig aus wen ich etwas an Basic weiß. Programmierer ist nicht gleich Programmierer. Jeder Mensch hat so seine Stärken und Schwächen. Ich kann das nur bedingt weiterempfehlen.
Die Grundlagen also Basic nussste ich damals in der Schule auch machen. Ist aber heute nicht mehr zeitgemäß. Und bin seit über 18 Jahren kein Schüler mehr. Und vieles davon habe ich verlernt. Ich musste in der Vergangenheit mit einem einfachen Texteditor txt Datei solche HTML codes machen. Also solche Übungen wie Size und Body und dieses Print Funktion etc. Blöd nur wenn mein Lehrer mit solchen Binärcodes ankommt. Wo man so farbige Schriften etc einfügen musste. Keiner meiner Schülern konnte kein Binärcodes verstehen. Und zwang und damals das wir als Schüler solche ASCII Tabellen als teures Buch noch kaufen musste.