Juergen Ilse <
ne...@usenet-verwaltung.de> writes:
> Rainer Weikusat <
rwei...@talktalk.net> wrote:
>> Christian Hanné <
the....@gmail.com> writes:
>>> Perl is out, Pyhton ist angesagt.
>>
>> Python ist was für Legastheniker :-)
>
> Bei anderen Sprachen hat es Jahrzehnte gekostet, um Syntax und Formatierung
> (sinnvollerweise) zu trennen. Bei Python hat man genau diesen Unsinn dann
> wieder eingefuehrt ...
Grundsätzlich stimme ich dem zu: Der Gedanke, unsichtbare Zeichen
semantisch relevant zu machen, ist bizarr. Zumal Python deswegen
keineswegs ohne Begrenzungszeichen auskommt: Nach einem Ausdruck in
einem Schleifen- oder Verzweigungsanweisung muß ein : stehen. Einziger
Zweck davon ist, daß man trotz der einrückungsbasierten Syntax 'kurze'
Schleifen oder Verzweigungen auf eine Zeile schreiben kann.
Da bin ich einige Male drüber gestolpert, als ich soviel Python lernen
mußte, um in nicht trivialem Code (bitbake) ein paar notwendige
Änderungen machen zu können.
Andererseits verstehe ich aber auch die Motivation dahinter: Viele Leute
benutzten zum Code-schreiben «Primitivwerkzeuge», die keine automatische
Einrückung können und sind außerdem auch viel zu faul, um über
konsistente Formatierung auch nur nachzudenken. Mit so geschriebenem Code
habe ich schon gearbeitet: Das gibt ein wildes Durcheinander
inkonsistent angewendeter persönlicher Formatierungsstile (wenn genügend
Leute daran arbeiten) und bevor man da durchblickt, ist es im
allgemeinen sinnvoll, alles erstmal automatisch konsistent formatieren
zu lassen. Da gibt es dann wiederum Leute, die viel zu ängstlich wären,
um an einem evtl großen Haufen unverständlichen Codes irgendwas zu
ändern. Wer kann schon sagen, das dann passieren wird!
Diesem Chaos dadurch effektiv einen Riegel vorzuschieben, daß man eine
lesbare Formatierung als Seiteneffekt syntaktischer Notwendigkeiten
bekommt, kann einem wie ein Geniestreich vorkommen. Jedenfalls löst es
mal ein Problem. Bringt natürlich wenig, weil die Chaoten immer noch
chaotischen Code schreiben, aber wenigstens sieht er nett aus :-).
Gibt's übrigens noch einem besser: YAML (XML reloaded, sozuagen, da
weder les- noch parsebar). Dort werden sowohl Einrückungen als auch
geklammerte Blöcke für dieselben semantischen Konstrukte benutzt.
ZB:
vektor:
- 0
- 1
- 2
- 3
identisch zu (aus dem Kopf)
vektor: [0, 1,
2, 3
]
Natürlich gibt es Leute, die vollkommen überzeugt sind, beide
"Formationen" müßten unterschiedliches bedeuten, weil sie doch
unterschiedlich aussehen.