Wie Programmieren lernen (Anfänger)?

8 Antworten

Den PC bedienen können sollte natürlich kein Problem sein. Aber man muss nicht zwangsweise wissen, wie der PC im Hintergrund arbeitet, Sachen in den Speicher lädt oder was auch immer. Jedenfalls nicht zum programmieren. Aber wenn man's weiß, dann ist das natürlich umso besser.

Meine persönliche Empfehlung in Sachen Sprachen wäre entweder Python oder C.

Python ist eine sogenannte Skriptsprache. Es ist also dafür geeignet, Programme schnell umsetzen zu können. Python ist recht schlicht gestaltet, die Syntax ist recht einfach und kann man relativ schnell erlernen.

Mit C kann man auch anfangen. Kann man auch gut erlernen. Wenn man in C voranschreitet, kann es zwar dann komplizierter werden (Pointer und solche Geschichten), aber wenn man dass dann verstanden hat, sollte der Einstieg in anderen Sprachen einfacher werden.

Ich empfehle gerade die beiden Sprachen, nicht weil es meine Lieblingssprachen sind (sind es auch nicht, auch wenn man mit Python recht schnell Programme zusammengeschrieben hat), sondern weil es prozedurale Sprachen sind.

Gerade wenn man blutiger Anfänger ist, sollte man das algorithmische Denken erlernen und üben. Denn das ist die erste Hürde zum Erlernen einer Sprache.

C und Python sind beides (wie gesagt) prozedurale Sprachen. Diese fokusieren sich also auf die prozeduralen Aspekte des Programmierens. Also im Prinzip eben das Umsetzen eines Problems in Programmcode zu einem Programm welches es lösen soll. Ich kanns nur betonen. Es ist am Anfang wichtig, zu verstehen, wie man ein Problem in einen Algorithmus umwandelt, welches dann der Computer Schritt für Schritt bearbeitet.

Es werden einige bestimmt zu Java / C# oder gar C++ was sagen. Meine Meinung: Also blutiger Anfänger sollten das nicht die ersten Sprachen sein. Das sind sogenannte Objektorientierte Sprachen. Und das Objektorientierte Konzept zu verstehen ist nicht gerade einfach. Das muss auch erlernt werden.

Vielleicht kannst du dir jetzt Denken, warum ich finde, dass man von Java am Anfang die Finger lassen sollte: Wenn man sich ganz am Anfang befindet, sollte man meiner Meinung nach zuerst mit den Prozeduralen Aspekten der Programmierung befassen.

Wenn man es noch nicht hinkriegt, simple Probleme algorithmisch zu lösen, dann sollte man auch noch nicht gleichzeitig die objektorientierten Aspekte der Programmierung lernen.

Ich seh immer wieder Leute, die sich in Java schwertun, weil die eben immer noch nicht verstehen, was Klassen und Objekte sind, und gleichzeitig nicht mal so gut programmieren können. Ich hab da selber auch zu diesen Leuten dazugehört, weil ich so unbedingt Java lernen wollte.

Im ersten Semester im Studium haben wir C gelernt. Im Nachhinein hätte ich mir gewünscht, ich hätte vor ein paar Jahren auch mit C angefangen und nicht mit Java. Da ist der Einstieg ins Programmieren einfacher. Denn wenn man danach Java lernt, braucht man nicht so lange, um die prozeduralen Aspekte von Java zu lernen. Kann man sich vieles von anderen Sprachen ableiten. Da kann man sich dann auf die Objektorientierung stürzen.

Jetzt zur Frage, wie man das lernt. Ich hab keine Buchempfehlungen für Python oder C. Für Java gibt es das Buch "Java ist auch eine Insel". Wird von vielen empfohlen, ich kann darüber nix sagen.
Es gibt aber auch bestimmt gute Internetseiten. Ich hab übers Internet und learning by doing gelernt.

Youtube-Videos würde ich nicht als Basis nehmen, außer es geht halt um so einfache Konzepte ("Was ist eine Schleife?", "Verzweigungen" und solche Themen).

Von Video der Sorte "Programmieren für Anfänger Teil 1/200" würde ich abraten. Man neigt dazu, Code zu kopieren und nix zu verstehen.

Wichtig ist beim lernen auf alle Fälle, selber was zu schreiben! Man lernt nix davon, einfach im Video Code abzutippen, im Browser kopieren und im Editor einfügen oder im Buch alles abzuschreiben.
Learning by doing ist absolut wichtig beim lernen.

Ich weiß, sehr viel geschrieben, aber gerade der Einstieg ist eines der schwierigsten Sachen beim Programmieren. Da können mir einige sicherlich zustimmen.

Fritzelchen1 
Fragesteller
 15.05.2017, 22:01

Da ich nun mehrmals den Vorschlag für Python bekommen habe, denke ich, dass ich damit anfange. Also meinst du ich soll Python übers Internet lernen und nicht mit einem Buch?

1
HylianGamer  15.05.2017, 22:08
@Fritzelchen1

Ich kenn halt keine Bücher über Python, deshalb kann ich auch keine Empfehlungen dazu geben. Gleichzeitig ist Python aber auch recht einfach, von daher ist es da nicht mal so notwending.

Bei Java und C kanns aber durchaus praktisch sein, auch wenn nur als Nachschlagewerk. Kommt drauf an, wie man besser lernt. Jeder hat seine eigene Lernmethoden. Bei mir is es halt ausprobieren und auf die Schnauze fliegen, und dann was anderes probieren. ^^

0

Du könntest mit Scratch anfangen, da kommst du zumindest in dieses “logische Denken“ schonmal rein.
Danach hab ich mit C# in Visual Studio weitergemacht, das ist eigentlich ganz komfortabel

DieSegurke  15.05.2017, 19:26

Dann direkt mit C#? Erst fing ich mit Scratch an dann mit Powershell dann mit Unity und dann erst mit C#, Python, Java

0

Hallo. Ich wuerde dich von sowas wie Java nur abraten. Erst recht anfaenglich. C++ waere eine Option fuer alle Faelle, ist aber schwer zu erlernen. Ich hatte einige Zeit fuer meine Hobby-Beduerfnisse Batch (.bat) und VBScript (.vbs) Scripts benutzt. Als ich es ernster mit meinem Hobby meinte habe ich VisualBasic zu .NET entdeckt. Die Sprache ist cool und ist weit verbreitet. Es wird vom Microsoft weiterentwickelt. Du kannst vieles damit machen; Spiele, Chats und Webseiten. Ist sehr einfach zum lernen. Du kannst mir schreiben wenn du fuer VB.NET entscheidest, da koennte ich dir helfen.

Richtig, du solltest erst Mal wissen wie ein Computer funktioniert. 

Für den Anfang empfehle ich als Script-Sprache Python. Da gibts es diverse Bücher, mit denen es auch Kinder lernen.

Als Programmiersprache würde ich dir Java empfehlen, lies dich rein. Kauf dir Bücher, belege vielleicht sogar einen Kurs? 

Woher ich das weiß:Berufserfahrung – Angestellter bei einem ISP

Bevor geklärt werden kann welche sprache für dich interessant sein könnte sollte erstmal geklärt werden ob du in eine bestimmte richtung gehen möchtest zb web development oder programme entwickeln möchtest (wenn ja: für eine spezielle plattform? Oder gleich plattformunabhängig? Welche ansprüche stellst du an die sprache?) Man kann es dir nicht übel nehmen aber man könnte dir von assembler bis python grade alles vorschlagen weil alles irgendwie ein stück zu deiner beschreibung passt. Du brauchst am anfang noch kein grosses vorwissen. Es wäre zwar villeicht manchmal von vorteil aber als dringende notwendigkeit sehe ich es nicht. Spätestens wenn du zb C lernst dürftest du ein wenig mehr verständnis für einige dinge entwickeln denke ich mal.