Seite 1 von 1

Programmieren schnell lernen

Verfasst: Dienstag 11. September 2018, 21:03
von paradiesvogel24
Hallo zusammen,
ich versuche mir seit kurzem mit dem Buch. "Python Crashkurs " und einem Udemy Videokurs das Programmieren mit Python selbst beizubringen.

Bisher bin ich beim Kapitel 6 gut angekommen und habe das meiste verstanden und behalten nur wird es bekanntlich immer schwieriger und das Codieren immer anspruchsvoller.

Jetzt meine Fragen:
Wie geht ihr das vor um euch die ganzen Befehle und Reihenfolge der Klammern und Zeichen besser zu merken abgesehen davon das ich alle Befehle abtippe, versuche zu verstehen und nachzuvollziehen um es mir besser zu merken.

Ich weiss: Programmieren lernt man nur durch Programmieren und mit viel Erfahrung

Hat jemand von den alten Hasen ein paar gute Tipps für uns?
Frage mich wie es andere schaffe so viele Programmiersprachen zu lernen und zu können ohne durcheinander zu kommen und alles durcheinander zu bringen.

Freue mich auf schnelle Antworten.

LG
Ivica

Re: Programmieren schnell lernen

Verfasst: Dienstag 11. September 2018, 22:00
von __blackjack__
Die ganzen Befehle lerne ich nicht auswendig, nur das wichtigste und dann merke ich mir nur wo ich was für bestimmte Aufgaben finden kann. Für die Details kann man dann ja wenn man es (wieder) benötigt, in der jeweiligen Dokumentation nachlesen. Wissen heisst wissen wo es steht. :-) Und die Sachen, die man regelmässig verwendet, fängt man dann auch an sich zu merken. Ganz automatisch.

Was die „Reihenfolge der Klammern und Zeichen“ angeht: Das ist halt so grundlegend die Grammatik. Aber so kompliziert ist Python da eigentlich nicht. Es gibt deutlich unregelmässigere Programmiersprachen.

Befehle in dem Sinn wie man das bei Programmiersprachen versteht, gibt es auch nicht sooo viele. In Python 3.6 sind es 33 Schlüsselwörter:

Code: Alles auswählen

In [1]: import keyword

In [2]: keyword.kwlist
Out[2]: 
['False',
 'None',
 'True',
 'and',
 'as',
 'assert',
 'break',
 'class',
 'continue',
 'def',
 'del',
 'elif',
 'else',
 'except',
 'finally',
 'for',
 'from',
 'global',
 'if',
 'import',
 'in',
 'is',
 'lambda',
 'nonlocal',
 'not',
 'or',
 'pass',
 'raise',
 'return',
 'try',
 'while',
 'with',
 'yield']

In [3]: len(keyword.kwlist)
Out[3]: 33
Alles andere sind Funktionen, Datentypen, und ich nenne es jetzt mal ”Protokolle”, also Vereinbarungen wie Datentypen mit den Sprachkonstrukten und den Grundfunktionen interagieren können.

Neben den Grundfunktionen- und typen und Modulen die, allgemeine Funktionalität zur Verfügung stellen, wie `collections`, `functools`, `itertools`, und ähnliche, muss man sich noch mit ein paar Sprachkonzepten vertraut machen und wie die bei eigenen Datentypen mit den ”magischen” Methoden zusammenspielen.

Wenn Du selbst weisst das man Programmieren nur durch Programmieren und die dabei gewonnenen Erfahrungen lernt, ist dir ja klar das der Thementitel nicht beantwortbar ist. In dem Zusammenhang immer noch lesenswert das Essay Teach Yourself Programming in Ten Years von Peter Norvig.

Bei anderen Programmiersprachen lernen, kommt es immer darauf an wie weit die von denen, die man schon kann, entfernt sind. Es gibt ”Sprachfamilien” die sich ähnlich sind, und Konzepte teilen. Da braucht man dann nur noch die Unterschiede lernen. Und bei welchen die deutlich andere Paradigmen verwenden, muss man halt auch wieder fast von Anfang an lernen. Ich weiss noch das Haskell damals ein ziemlicher Schock war, weil ich dachte ich könnte eigentlich Programmieren. Waren bis zu dem Zeitpunkt aber nur Maschinensprache für zwei unterschiedliche Systeme und verschiedene prozedurale Programmiersprachen (und BASIC :-)).

Ein interessanter Punkt beim lernen von deutlich anderen Programmiersprachen als denen die man schon kennt, ist das das oft auch Einfluss auf das können in den schon gelernten Programmiersprachen haben kann. Nach Haskell und Java habe ich auch in C anders als vorher programmiert, weil man versuchen kann Konzepte aus anderen Sprachen zu übernehmen. Das hat Grenzen, aber dadurch das man sich darüber Gedanken macht, lernt man diese Grenzen und damit die ”alte” Sprache besser kennen.

Re: Programmieren schnell lernen

Verfasst: Donnerstag 20. September 2018, 19:52
von paradiesvogel24
Vielen Dank für die ausführliche Antwort.

Werde dran bleiben, Ausdauer und Fleiß macht sich bekanntlich bezahlt.

Da die Dokumentationen alle auf englisch sind muss ich wohl oder Übel Englisch gleichzeitig lernen zumal man in englisch auch gute weitere Informationen finden kann.

War Python deine erste Sprache?
Wie lange hast du täglich Python gelernt und für Python gebraucht bis du es konntest?
Hast Du aus Büchern oder Tutorials gelernt?

Re: Programmieren schnell lernen

Verfasst: Freitag 21. September 2018, 19:26
von __blackjack__
@paradiesvogel24: Python war nicht meine erste und auch nicht meine letzte Programmiersprache. Allerdings die, in der ich bis jetzt am liebsten programmiere.

Davor hatte ich schon BASIC auf dem C64, 6510-Assembler, GW-BASIC, (Turbo)Pascal, x86-Assembler, QBasic, C, VisualBasic, Haskell, Java, Perl, und PHP kennengelernt — ungefähr in der zeitlichen Reihenfolge.

Python (kennen)gelernt habe ich durch das Tutorial in der Python-Dokumentation und durch die comp.lang.python-Newsgroup. Ansonsten lernt man programmieren allgemein und eine Sprache im besonderen, in dem man programmiert.