1unitedpower: TicTacToe mit Elm

Hi,

angespornt von unserem TicTacToe-Artikel im Wiki, habe ich mich der Herausforderung selber gestellt. Das ist dabei herum gekommen https://raoulschaffranek.github.io/TicTacToe/. Geschrieben habe ich es in Elm, der Quelltext kann auf GitHub gelesen werden.

  1. Hallo 1unitedpower,

    https://raoulschaffranek.github.io/TicTacToe/

    Die Krone kommt mir so bekannt vor ;-)

    Bis demnächst
    Matthias

    --
    Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
    1. Die Krone kommt mir so bekannt vor ;-)

      Pssst. Nach längerem Angucken habe ich mich irgendwann dran gewöhnt, bis sie mir letztlich sogar gefallen hat.

  2. Hallo 1unitedpower,

    angespornt von unserem TicTacToe-Artikel im Wiki, habe ich mich der Herausforderung selber gestellt. Das ist dabei herum gekommen https://raoulschaffranek.github.io/TicTacToe/. Geschrieben habe ich es in Elm, der Quelltext kann auf GitHub gelesen werden.

    Unter Safari 10 macOS Sierra sieht man das Kästchen nicht, nur das Kreuz.

    LG,
    CK

    1. Unter Safari 10 macOS Sierra sieht man das Kästchen nicht, nur das Kreuz.

      Merci, ich hab leider keinen eigenen Mac zum Testen :( Vielleicht kann ich mir später das meines Mitbewohners leihen, dann sehe ich mir das mal an.

  3. Hallo 1unitedpower,

    angespornt von unserem TicTacToe-Artikel im Wiki, habe ich mich der Herausforderung selber gestellt. Das ist dabei herum gekommen https://raoulschaffranek.github.io/TicTacToe/. Geschrieben habe ich es in Elm, der Quelltext kann auf GitHub gelesen werden.

    Ich glaube, ich muss doch nochmal Elm lernen. Das sieht schon ziemlich schnieke aus.

    LG,
    CK

    1. Ich glaube, ich muss doch nochmal Elm lernen. Das sieht schon ziemlich schnieke aus.

      Ich kann es wärmstens empfehlen. Elm ist ein Fliegengewicht und die Community sehr daran interessiert Neulingen den Einstieg in die funktionale Programmierung so schmerzlos wie möglich zu gestalten. Außerdem geht von Elm ein enormer Einfluss aus, React und Redux geben beide Elm als Inspiration an. Und es gibt spannenden Experimente, wie den Elm Debugger mit Time-Travelling und Hot-Swapping.

      1. Hallo 1unitedpower,

        und die Community [ist] sehr daran interessiert Neulingen den Einstieg in die funktionale Programmierung so schmerzlos wie möglich zu gestalten.

        Kannst du da mehr zu sagen?

        Bis demnächst
        Matthias

        --
        Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
        1. und die Community [ist] sehr daran interessiert Neulingen den Einstieg in die funktionale Programmierung so schmerzlos wie möglich zu gestalten.

          Kannst du da mehr zu sagen?

          Man sagt FP-Communities oft hinterher, dass sie zu viel fancy Talk abhalten, dass sie nur Akademiker erreichen und sich um "reale Probleme" zu wenig kümmern würden. Das ist die Sicht von außen.

          A monad is just a monoid in the category of endofunctors, what's the problem?

          Die Elm-Entwickler kennen dieses Image und wollen es sich abstreifen. Der Schlüssel dazu ist eine vergleichsweise einfache Programmiersprache und eine sehr ausführliche und in sich abgeschlossene Dokumentation, die keine Vorkenntnisse mit FP voraussetzt.

          Neben der Sprache drücken die Elm-Entwickler dem Neuling auch gleiche eine Architektur mit in die Hand, der alle Elm-Anwendungen folgen. Diese Architektur ist die logische Konsequenz des Sprach-Designs von Elm, jede Anwendung läuft darauf hinaus (wissentlich oder unwissentlich). Das macht es besonders leicht schrittweise größere Code-Basen zu erkunden.

          Die Elm-Suite enthält außerdem einen Entwicklungs-Server, der Programme automatisch kompiliert, sodass ein Neuling schnell loslegen kann, ohne sich näher mit dem Copmilier zu beschäftigen. Damit erreicht man vorallem Web-Entwickler, die es nicht anders gewohnt sind.

          Elm will eine Programmiersprache für den Menschen sein, nicht für die Maschine. Der Debugger ist ein gutes Beispiel dafür: In herkömmlichen Sprachen analysiert man Stack-Traces und Variablen-Inhalte per Step-Through-Debugging. In Elm kann man Programme aufzeichnen, sie vorwärts und rückwärts abspielen oder direkt an eine bestimmte Position springen. Man kann Code live austauschen und die Änderungen sofort beobachten. Die Mario-Demo veranschaulicht diese Konzepte auf beeindruckende Art und Weise.

  4. Lieber 1unitedpower,

    angespornt von unserem TicTacToe-Artikel im Wiki,

    welche Version? Anscheinend die ursprüngliche, die das ganze Thema progressive enhancement und die Barrieren noch nicht thematisiert. Na warte, ich hetze gleich den @Gunnar Bittersmann auf Dich los! ;-P

    Liebe Grüße,

    Felix Riesterer.

    1. welche Version? Anscheinend die ursprüngliche, die das ganze Thema progressive enhancement und die Barrieren noch nicht thematisiert.

      Die Barrieren knüpf ich mir als nächstes vor, danke für deinen Input.

  5. @@1unitedpower

    angespornt von unserem TicTacToe-Artikel im Wiki, habe ich mich der Herausforderung selber gestellt. Das ist dabei herum gekommen https://raoulschaffranek.github.io/TicTacToe/. Geschrieben habe ich es in Elm,

    Eine leere 3×3-Tabelle ohne Funktion. Das kriege ich mit HTML hin. Wozu brauchst du dazu Elm?

    LLAP 🖖

    --
    “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
    1. Eine leere 3×3-Tabelle ohne Funktion. Das kriege ich mit HTML hin. Wozu brauchst du dazu Elm?

      Das ist nicht beabsichtigt, könntest du das Fehlerbild konkretisieren? Am schnellsten kann ich reagieren, wenn du mir den Browser nennst, indem du den Fehler beobachtet hast, und eine kurze Anleitung zum Reproduzieren. Du kennst das Prozedere ja.

      1. @@1unitedpower

        Eine leere 3×3-Tabelle ohne Funktion. Das kriege ich mit HTML hin. Wozu brauchst du dazu Elm?

        Das ist nicht beabsichtigt, könntest du das Fehlerbild konkretisieren?

        Öffne die Seite, navigiere mit der Tab-Taste: die einzigen interaktiven Elemente auf der Seite sind der Link zu elm-lang.org, Fork und Tweet.

        Am schnellsten kann ich reagieren, wenn du mir den Browser nennst, indem du den Fehler beobachtet hast

        Firefox. Ich vermute aber stark, dass alle Browser von dem Bug betroffen sind.

        LLAP 🖖

        PS: Und nein, ich bin nicht gewillt, irgendwelche Edge-Cases (wie spezielle Eingabegeräte) zu betrachten, in denen das vielleicht doch funktioniert. Wenn etwas nicht funktioniert, dann sag ich das so.

        “Keyboard accessibility is not a feature. If an interactive widget is on The Web and not keyboard accessible, it is unfinished / broken. It is not ready for The Web's diversity of users.”Heydon Pickering

        --
        “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
        1. Öffne die Seite, navigiere mit der Tab-Taste: die einzigen interaktiven Elemente auf der Seite sind der Link zu elm-lang.org, Fork und Tweet.

          Danke Gunnar, Felix hatte da auch schon drauf hingewiesen. Zugänglichkeit steht ganz oben auf der Todo-Liste.

  6. Hi,

    interessant. Wenn ich hier in der DEMO viele Bilder lade, hängt sich FF auf, was meinst Du, bringt da Elm eine Verbesserung?

    MfG