Der Martin: Ästhetik und Klarheit von Code

Beitrag lesen

Hallo,

schließlich gehe ich immer mehr in die Richtung von higher order functions wie map, reduce, currying und so.

... und schon wieder diese Buzzwords, unter denen man sich als traditioneller Softwareentwickler und Programmierer nichts vorstellen kann, auch wenn man die Techniken, die damit gemeint sind, vermutlich kennt - eventuell unter anderem Namen. Oder man kennt das Prinzip, aber überhaupt keinen Namen dafür, weil es etwas Selbstverständliches ist.

Programmieren ist zu einem Großteil die Kunst, Probleme in Einzelschritte zu überlegen.

Du meinst "zerlegen", nicht "überlegen".
Ja, sicher - aber es ist auch die Kunst, diese Zerlegung nicht zu weit zu treiben. Wenn man sie nämlich weiter praktiziert, als man ein Problem im Kopf zerlegt und analysiert, also quasi-atomare Vorgänge noch weiter aufsplittet, dann erreicht man damit das Gegenteil von dem, was man eigentlich anstrebt.

Aus verschiedenen Gründen, einer ist zum Beispiel Testbarkeit von Einzelschritten.

Das ist ein Argument; dafür kann man ja während der Entwicklungsphase diese Schritte isolieren. Im fertigen Code sollte die Granularität aber nicht mehr unbedingt so fein wie möglich sein, sondern nur so fein, wie man das Problem "üblicherweise" auch im Kopf gliedern würde.

[...] dass definierte Einzelschritte weniger kognitive Last mit sich bringen und ein Programm somit klarer und verständlicher für den Lesenden und Programmierenden machen.

Ja, solange man das nicht übertreibt.

• Anonyme Lambdas ...
Was soll das sein? Den Begriff habe ich noch nie gehört.
Ein weißer Schimmel. Lambda ist der klassische Ausdruck für on-the-fly definierte Funktionen.

Ist mir in dem Zusammenhang noch nicht begegnet.

Das Konstrukt findet sich überall, in JS als function expressions, ...

Also anonyme Funktionen. Okay, damit kann ich schon mehr anfangen.

Lambda ist nur ein Name dafür, der, wie Jeena schon sagt, aus dem Lambda Kalkül kommt.

Was für mich, wie gesagt, ein böhmisches Dorf ist.

Mir scheint, du kennst relativ viele, aus meiner Sicht exotische Programmiersprachen (exotisch hier: geringe Verbreitung) wie Haskell, Python oder Erlang, die viele Programmierer nur dem Namen nach kennen. Erwarte also nicht, dass alle verstehen, was du meinst, wenn du spezielle Konzepte aus diesen Sprachen als Beispiele nennst.

So long,
 Martin

--
Gültig sind Frauen ab 16, wohlgeformt ab 160 Pfund.
  (Gunnar Bittersmann)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
3 88

Ästhetik und Klarheit von Code

Tim Tepaße
  • programmiertechnik
  1. 2
    asdf
    1. 0
      Jeena Paradies
      1. 0
        asdf
      2. 2
        molily
        1. 0
          Jeena Paradies
      3. 2
        Stefanie M.
    2. 0
      Tim Tepaße
      1. 1
        dedlfix
  2. 0
    Jeena Paradies
    1. 2
      Tim Tepaße
      1. 2
        Jeena Paradies
  3. 0
    Der Martin
    1. 1
      Jeena Paradies
    2. 1
      Tim Tepaße
      1. 0
        Der Martin
        1. 0
          Jeena Paradies
          1. 0
            Der Martin
            1. 3
              DaBear
              1. 0
                Der Martin
                1. 1
                  DaBear
                  1. 0
                    Der Martin
                    1. 1
                      Jeena Paradies
                      1. 4
                        Christian Kruse
                        1. 0
                          Christian Seiler
                          1. 0
                            Christian Kruse
                          2. 0
                            molily
                2. 0
                  Tom
            2. 2
              Tim Tepaße
              1. 0
                Der Martin
                1. 1
                  dedlfix
                  1. 0
                    Tom
                    1. 1
                      Jeena Paradies
                      1. 0
                        Tom
                        1. 0
                          Tom
                          1. 4
                            Christian Kruse
                        2. 4
                          Kai345
                2. 3
                  Christian Seiler
                  1. 0
                    Tom
                    1. 0
                      Don P
                      • menschelei
                      1. 0

                        Currying

                        Tom
              2. 0
                Stefanie M.
                1. 0
                  Tom
                  1. 0
                    Tim Tepaße
                    1. 0
                      dedlfix
                    2. 1
                      Der Martin
                      1. 2
                        molily
                2. 1
                  molily
            3. 3
              molily
              1. 0
                Der Martin
                1. 0
                  dedlfix
                  1. 0
                    Tom
                    1. 5
                      molily
                      1. 0

                        Ein Nachruf

                        Christian Seiler
                        1. 0
                          Christian Kruse
                          1. 0
                            Tom
                        2. 0
                          Der Martin
                          1. 3
                            Christian Seiler
                            1. 0
                              Der Martin
                        3. 0

                          Der Unterschied zwischen Nachwuchsföderung und Arroganz

                          Tom
                          • menschelei
                          1. 0

                            Was ist aus dem einstigen Nachwuchs geworden?

                            Tom
                          2. 0
                            Jeena Paradies
                        4. 1
                          dedlfix
                      2. 0
                        Tom
                        1. 0
                          Tim Tepaße
                          1. 0
                            Der Martin
                            1. 5
                              molily
                              1. 1
                                dedlfix
                                1. 3
                                  molily
                                  1. 3
                                    Don P
                          2. 0
                            Tom
                            1. 0
                              Tim Tepaße
                              1. 0
                                dedlfix
        2. 0
          Christian Seiler
        3. 0
          Don P
    3. 0
      Tom
      1. 0
        Der Martin
    4. 0
      Don P
      1. 0
        Jeena Paradies
        1. 0
          Christian Seiler
          1. 0
            Christian Kruse
          2. 0
            molily
  4. 1
    molily
    1. 0
      Tim Tepaße
  5. 0
    reborn
  6. 0
    Buchtipp
  7. 0
    jobo
    1. 0
      jobo