#politics #computers #business 2023q4 2023q3 2023q2 2023q1 2022q4 2022q3 2022q1 2021q1 2020q3 2020q1 2019q4 2019q3 2019q2 2019q1 2018q3 2018q2
==> Die Debatte ist immer noch voll in Fahrt, und ich bekomme noch Rückmeldungen. Dann noch eine Runde.
Hinter dem Design von Python verbirgt sich ja eine Philosophie, die ungefähr so lautet: Für jeden Gedanken hält die Sprache wenigstens einen und höchstens einen offensichtlichen Weg bereit, wie dieser auszudrücken ist.
Der erste Teil dieser Aussage (“wenigstens einen offensichtlichen Weg”) führt dazu, dass man die volle Ausdrucksstärke der Sprache auch dann schon erreicht hat, wenn man von allen Sprachkonstrukten, die der Sprache zugrunde liegen, erst die wenigen wirklich beherrscht, die anhand der Lektüre von Code die Offensichtlichen sind. Also, auch dann, wenn man erst am Anfang der Lernkurve steht und noch wenig in das Erlernen der Sprache investiert hat, bekommt man schon die volle Rendite, alles ausdrücken zu können, was einem so in den Sinn kommt.
Der zweite Teil dieser Aussage (“höchstens einen offensichtlichen
Weg”) führt dazu, dass die Menge an Code, die man lesen muss, um an
diesen Punkt in der Lernkurve zu kommen, so gering wie möglich gehalten
wird, diese notwendige Anfangsinvestition also so gering wie möglich
gehalten werden soll. Um das nachzuvollziehen, denke man an ein
Beispiel: “Eine Iteration über Zeichenketten, wobei jede ausgegeben
werden soll.” Wenn dieser Gedanke jedes, wirklich jedes, Mal seinen
Ausdruck findet als for line in lst: print( line )
, dann
wird man beim Erlernen der Sprache frühzeitig und häufig mit den
zugrunde liegenden Sprachkonstrukten konfrontiert werden. Dies
erleichtert das Lernen ungemein.
Am Beispiel von Perl sieht man, wie es nicht aussehen sollte. Hier gibt es vielleicht zehn unterschiedliche Wege, wie man diesen Gedanken in einer oder zwei Zeilen Code ausdrücken kann, basierend auf der Anwendung von verschiedenen Sprachkonstrukten. Keiner dieser Wege genießt das Privileg, der Offensichtliche zu sein. Jeder Programmierer wird einen anderen bevorzugen. – Wer lernen will, beliebigen Perl-Code, geschrieben von einem anderen Programmierer, zu lesen, der muss daher erst einmal all diese Sprachkonstrukte kennenlernen. Gelegenheit dazu wird es aber weniger geben, da jedes ja jetzt im Code nur entsprechend seltener vorkommt.
Viele der Sprachkonstrukte, die bei Python jüngst eingeführt wurden, stellen sich aber gegen dieses Prinzip und führen überflüssige zusätzliche Wege ein, um mit wenig Code Gedanken auszudrücken, die man auch vorher schon mit wenig Code ausdrücken konnte. Das ist der Grund, warum ich sage, dass sich jetzt gerade bei Python die Fehler wiederholen, die bei Perl gemacht wurden.
#computers | Jul-17 2019
#politics #computers #business 2023q4 2023q3 2023q2 2023q1 2022q4 2022q3 2022q1 2021q1 2020q3 2020q1 2019q4 2019q3 2019q2 2019q1 2018q3 2018q2