Programmiersprache Lernen

Milchbroetchen

Hello :-)
Hallo Zusammen,
und zwar Intressiere Ich mich sehr für die Programmiersprache "C" nun meine Frage Ich möchte diese Sprache gerne lernen was emfpehlt ihr mir da lieber die SPrache C lernen oder C++? Wichtig ist mir Ich mcht es gerne Platformunabhängik lernen das heißt nicht das Visual Zeugs von Microsoft.
Zum lernen steht mir ein Windows Desktop PC zur verfüugung oder ggf. Virtualbox um da ein Passendes OS drauf zu installieren.
Könnt ihr mir gute Bücher, Übungsaufgaben und Software empfhelen und ggf. ein Nütliches Betriebssystem um diese Sprache zu lernen.
Gruß
Milchbroetchen
 
Wenn es unbedingt eine der beiden Sprachen sein soll, würde ich erst mit C anfangen. Wenn du C kannst, wirst du den Aufbau der anderen Sprachen schneller verstehen. Gleichzeitig kannst du in die Mikrocontroller-Programmierung einsteigen. Dann fehlt nur noch der Weg zur OOP.
 
Hey,
Danke für deine Antwort. Hast du zufällig eine Idee für ein paar gute Bücher und welche Software ich zum entwickeln nutzen sollte? Wichtig ist Platformunabhängik möchte Ich Programme schreiben.
 
Hi,

ich sehe das ganze etwas anders. Ich würde es heutzutage vom Anwendungsfall abhängig machen, welche Sprache ich lerne. Wenn Du später eh mit Objektorientierten Sprachen arbeiten möchtest (also z.B. Java, C++, Scala, Python...), dann würde ich gleich damit anfangen. Insbesondere würde ich nicht zuerst C lernen, wenn ich später C++ machen möchte. Die Erfahrung zeigt, Leute, die in Prozeduralen Sprachen wie C angefangen haben auch später in OOP Sprachen Prozedural denken.

Es gibt gute Gründe, C zu lernen. Insbesondere wenn man sehr Systemnah programmieren möchte (sprich Linux Kernel oder Mikrocontroller) ist C immer noch State of the Art. Der Klassiker und immer noch sehr zu empfehlen ist hier das Buch "The C Programming Language" von Kerninghan und Ritchie. Danach ist z.B. "Advanced Programming in the Unix environment" von Stevens.

Wenn es Dir eher um Anwendungsentwicklung geht, würde ich folgenden Pfad vorschlagen: Entweder direkt Java oder z.B. Python oder Scala. Von C++ rate ich persönlich eher ab, das ist IMHO zu komplex und unnötig kompliziert. Da gibt es heute deutlich bessere Sprachen. Das erste Buch sollte in diesem Fall ein Standardwerk zu der Programmiersprache sein.
Bei Java ist der klassische Weg: "Java ist auch eine Insel" Christian Ullenboom. Danach empfiehlt sich Effective Java (An dem IMHO kein Weg vorbei führt).
Für Python würde ich "Lerning Python" von Mark Lutz empfehlen.

Es gibt auch viele gute Bücher über das Programmieren im Allgemeinen. Ein absolutes must-read und IMHO alternativlos ist das Buch "Clean Code" von Robert C. Martin. Danach würde ich ein Buch über Design-Patterns lesen. Der Klassiker ist hier "Design Patterns" von der Gang of Four. Allerdings ist es IHMO nicht mehr so ganz Zeit gemäß. Eher locker geschrieben aber durchaus auch sehr gut ist das Buch "Head First Design Patterns" aus dem O'Reilly Verlag.

Als das Ultimative Werk gilt übrigens "The Art of Programming" von Donald E. Knuth (dem Erfinder von TeX). In den (geplant) 7 Büchern geht es weniger um eine Konkrete Sprache als viel mehr um allgemeinere Konzepte wie Algorithmen, Sortierung, Numerische Algorithmen usw.

Ansonsten wirst Du ziemlich schnell merken, in welche Richtung Du Dich entwickeln möchtest. Insbesondere wenn Du speziellere Dinge machst, dann wirst Du hierzu auch speziellere Bücher finden (z.B. zu Datenbanken, Frameworks, Gui Libraries, Compiler usw.).

Ich hoffe, die Aufzählung hilft Dir ein bisschen!

Viel Erfolg beim Programmieren!
 
Ok also ich werde mich mit der Sprache C befassen alleine schon wegen der Micro Controller Programmierung ist es interessant. Kennt ihr eine vernünftige IDE zum Programmieren auch um Platformunabhängik zu arbeiten bzw. zu entwickeln?
 
Ich habe damals angefangen C++ zu lernen. Ich habe es dann nach einer Weile aufgegeben, da ich einfach keinen Anwendungsfall dafür hatte. Den Einstieg habe ich mit Python gefunden, eine schöne Sprache. Demnächst kann es mir passieren, dass ich noch in die Mikrocontroller-Programmierung einsteigen muss (Signalprozessing). Da komme ich dann an C nicht vorbei. Das ist als ob man jeden Tag Steak bekommt und dann auf einmal nur noch Gemüse essen darf.
 
Ok also ich werde mich mit der Sprache C befassen alleine schon wegen der Micro Controller Programmierung ist es interessant. Kennt ihr eine vernünftige IDE zum Programmieren auch um Platformunabhängik zu arbeiten bzw. zu entwickeln?

Eclipse CDT. Wobei für den Anfang wahrscheinlich BloodShed DevC++ auch nicht schlecht ist.
 
Verbesser mich wenn ich falsch liege aber wurde die Entwicklung von Codeblocks nicht eingestellt? Ich meine das so in erinnerung zu haben...
 
Hier mal eine Einführung zu Python: http://nbviewer.ipython.org/gist/rpmuller/5920182
Es gibt unter anderem auch Bücher für Kinder. Gleichzeitig findet die Sprache aber auch sehr oft Anwendung in der Wissenschaft, wie man unter anderem an dem Beispiel sehen kann. Wenn du also z.B. Berechnungen auf der Quantenebene durchführen willst, gibt es dafür auch schon ein Modul :-D

Für Fortgeschrittene und Anfänger ist das Ipython Notebook sehr zu empfehlen. Der Interpreter läuft auf dem Server selbst und lässt sich durch ein Webinterface mit mehreren Benutzern gleichzeitig nutzen. Unter anderem gibt es auch für Julia (ist auch eine dynamische Sprache) ein Notebook.
 
Last edited by a moderator:
Back
Top