Programmieren schnell lernen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
paradiesvogel24
User
Beiträge: 36
Registriert: Dienstag 31. Oktober 2017, 18:06

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
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
paradiesvogel24
User
Beiträge: 36
Registriert: Dienstag 31. Oktober 2017, 18:06

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?
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten