Der Martin: Rekursion vs. Iteration, Mathematische vs. Listen-Operationen

Beitrag lesen

Hallo,

Nee, hast du mal den Quellcode angesehen, der sich hinter den von dir aufgerufenen Funktionen verbirgt? Der gehört natürlich mitgerechnet!
Alles was dahinter abläuft, ist eigentlich kein Quellcode mehr, gehört also nicht zwingend mitgerechnet.

so betrachtet stimmt das natürlich, aber ich sehe, wenn ich ein Stück Programmcode anschaue, nicht unbedingt nur den Quellcode, sondern "denke" automatisch auf Maschinenebene, und sehe den _ausgeführten_ Code unter diesem Aspekt. "Elegant" heißt daher für mich, möglichst kompakt im Hinblick auf die auszuführende Operation zu formulieren, und zumindest für mich wird der Programmcode durch diese Kompaktheit meist auch leichter lesbar, verständlicher.

Unter "Eleganz" des Codes verstehe ich so etwas wie Schönheit im Ausdruck und der Grammatik, so wie man z.B. sagt "im Sonnenlicht" anstatt "in dem Licht der Sonne".

Ja schon, aber um bei deinem Vergleich zu bleiben: Funktionsaufrufe würde ich dann mit eingeschobenen Nebensätzen vergleichen. Das ist zwar praktisch und übersichtlich, aber nicht immer "elegant", und ergibt oft unnötig lange Sätze.

Wenn Goethe z.B. schreibt "Die Ungewissheit schlägt mir tausendfach die dunklen Schwingen um das bange Haupt", ...

dann würde man das heute vielleicht kürzer und knapper formulieren: "Dieses Warten macht mich wahnsinnig."

Die Array-Klammern [] ohne Operand davor sahen für mich ziemlich verunglückt aus; mir war nicht bekannt, dass Javascript auf diese Weise auch anonyme Arrays kennt.
Das weiß ich auch noch nicht lange. Bin gerade dabei solche Feinheiten zu lernen. Jeder programmiert heutzutage in JavaScript, aber kaum jemand hat es von der Pike auf gelernt bzw. das Besondere der Sprache wirklich verstanden. In jeder anderen Programmiersprache wäre das undenkbar.

In C ist sowas in der Art durchaus auch möglich - anonyme Funktionen, Zeiger, Arrays (die in C intern ja über Zeiger adressiert werden), Strukturen, ...

Also statt "new Array()" schreibt man besser immer "[]", und statt "new Object()" besser nur "{}".

Ich bin schon überzeugt. ;-)

Schönes Wochenende,
 Martin

--
Wer morgens zerknittert aufsteht, hat den ganzen Tag Gelegenheit, sich zu entfalten.