Jeena Paradies: Ästhetik und Klarheit von Code

Beitrag lesen

Hallo,

• Anonyme Lambdas sind praktisch und ein Grundpfeiler jeglichen funktionalen Stils. Dennoch stellen sie Stolpersteine im Lesen dar. Um die Absicht des Ablaufs zu verdeutlichen, ist es recht praktisch statt reinen Codes einen sprechenden Namen, sprich eine Abstraktion zu verwenden. Ideal wäre eine Macro, selbst wenn es nur einmal genutzt wird, aber Macros sind abseits von Lisp-Dialekten leider Mangelware.

Naja das stimmt so nicht ganz. In Haskell hast du let und where, in Python generatoren, in Erlang fun und sogar in JavaScript kannst du ja die funktion auch in einer Variable speichern die dann als macro fungiert. Oder missverstehe ich deine Definition von "Macro"?

Wie man es schafft, seine abstrakte Vorstellung möglichst gut, tlw. deklarativ zu verdeutlichen.

Da helfen deklarative Sprachen ungemein, wenn ich da an einfache SQL-Queries denke, die kann eigentlich jeder verstehen der auch ein bisschen Englisch kann.

Variablenbenennung. Wann man etwas in Makros oder Funktionen auslagern sollte, nicht wegen DRY, sondern wegen Klarheit.

Ich habe mal John Huges beim programmieren zugeschaut, und er macht überall Macros (wenn auch mit sehr komischen namen wie ## oder @@ und es wird Abstrachiert bis zum geht nicht mehr. Und wie als Studenten dürfen dann stundenlang zu Hause sitzen und versuchen zu verstehen was denn die zwei Zeilen code eigentlich tun.

Ich linke mal hier die drei Videos von den Vorlesungen über functional programming:

Functional programming I
Functional programming II
Functional programming III

und hier noch etwas begleitender code:

ParserLibrary.hs
Calculator.hs

Ich bin derzeit sehr interessiert und recht polygam in Hinblick auf Programmiersprachen und -paradigma.

Das klingt wirklich danach dass du eigentlich diesen Kurs aus dem die Videos sind besuchen wollen würdest er hieß damals "Programming Paradigms" und hat mit funktionaler Programmierung angefangen ist dann über concurrent zu Imperativ und schließlich zu Objektorientiert und Logischem programmieren.

Hier noch der Link zur Übersicht über die sachen die beim kurs verteilt wurden: https://www.student.chalmers.se/hp/hp/?hp_id=7710&hp_view=handout

Jeena

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