Schlagwort: Monaden

  • Folge 54: Die For-Schleife… kann die nicht weg?

     

    Die Vergangenheit hat uns fast wieder eingeholt. Wir sind fast im Hier und Jetzt angekommen. Mark Forster könnte dazu sicherlich einen Ikea-Sinnspruch an die Wand winseln… Aber: Wir schweifen ab! Wieder einmal!

    Bevor es im Jahr 2019 frisches und brandneues Material gibt, folgt hier nochmal eine von uns fleißigst vorproduzierte Folge. Mensch, was waren wir fleißig!

    So kurz vorm Jahreswechsel wird es bei uns noch einen Hauch technischer und irgendwie auch profaner aber vielleicht auch abgefahrener. Wie immer also! 🙂

    Wir reden über die gute alte For-Schleife! Holger hält ein Plädoyer, warum die For-Schleife keine Kunst ist, sondern weg kann. Bene setzt zur wütenden Gegenrede an, holt dann aber doch schonmal den Mülleimer.

    Nein, so ganz wollen wir uns da wie gewohnt nicht festlegen, aber wer uns kennt, der weiß, dass wir dem Funktionalen entlehnte Konzepte schon ganz dufte finden. Was waren nochmal gleich funktionale Parser?

    Es wird also wieder ein Rundumschlag autoweirdscher Güte. 🙂

    Dann wünschen wir euch an dieser Stelle einen guten Rutsch! Vielen Dank für die Treue auch in diesem Jahr! Wir hören uns 2019 wieder! Schöööö

    Bene und Holger

    P.S.: Wir können festhalten:

    • Gladbach ist nicht Herbstmeister.
    • Horst Seehofer ist immer noch ein Ding, er lässt sich aber weniger blicken.

    Links

    • Bene der Tausendsassa hat(te) Urlaub und schraubt mit am Testcontainers-Projekt rum.
    • Dann schlägt er noch eine neue API für JUnit 5 Extension Autoren vor. Das ist einer!
    • Holger hatte mal wieder Bilder im Kopf.
    • Filter und Map in JavaScript. Und FlatMap hat man doch (und smoosh!).
    • 30 seconds of code zeigt Implementierungen für viele oft gebrauchte (JavaScript) Operationen.
    • Die Java Stream API erklärt vom großartigen Thorsten Horn.
    • Wir unterscheiden in dieser Folge zwischen imperativer und deklarativer Programmierung.
    • Von welchem Typ ist der Stream in IntelliJ?
    • Sowas Ähnliches haben wir schon im Editor Lighttable gesehen.
    • MapStruct und Dozer nehmen sich (in Java) des Problems an, Strukturen von A nach B zu mappen. Ja, das sind Bean Mapper. MapStruct ist Holgers Meinung nach aber zu bevorzugen: Dozer arbeitet mit XML-Config, MapStruct mit Annotationen. Diese Diskussion wäre auch mal ne Folge wert.
    • For-Schleifen und –Iteratoren wirkten auch anfangs umständlich.
    • Mule ist ein exzellentes …  ach lassen wir das. Mule hat mit Dataweave ein schönes Feature um funktional zwischen Dingen zu mappen (z.B. von JSON zu XML).
    • Generics waren anfangs sehr scary. Und sie sind es auch heute noch, wenn man sich deren Innereien mal genauer ansieht.
    • Was sind denn eigentlich For Comprehensions?
    • Ach, in der Scala User Group haben wir ja For-Comprehensions verwendet um einen Functional Parser zu bauen! Is klar, ne!
    • Damals in der grauen Vorzeit gab es mal einen Showdown-Vortrag zwischen Rails und Grails. Natürlich hat Rails gewonnen! Keine Frage! Selbstverständlich!
    • Der Bene ist fluent im zip und zipWithIndex.

    Bier

    Aus Holgers Kühlschrank gab es diesmal:

    • Das Sierra Nevada Tropical Torpedo
      • Es kommt einfach nix an das Referenzbier ran. Das Tropical Torpedo ist ein American IPA mit Zitrusfruchtaromen. Lecker, bleibt aber – wie gesagt – im Schatten von Benes Bier Numero Uno!
    • Das Poppels Double IPA
      • Was schwedisches! Also deswegen quasi sofort gut. Die können es, die Schweden. Also: Double IPA. Dem Holger schmeckt’s. Sehr rund die Nummer.

     

    Datum: 23.10.2018

  • Folge 31: Die legendäre Monadenfolge ft. Luka Jacobowitz

    Leute! Jetzt gibts was auf die Ohren. Meine Fresse ist das episch! Aber sowas von!
    Der großartige Luka (@lukajacobowitz) kommt plötzlich zur Tür rein und verbringt mit uns ein wenig Qualitäts-Monadenzeit. Falls ihr euch also immer schon gefragt habt, was das denn für ein Quatsch ist, von dem die Podcast-Gazellen in Minute 27 faseln, das ist eure Chance!
    Luka rennt mit uns ein einmal quer durch die Monadenwelt. Vom Assoziativgesetz zu den Monadentransformern. Java wird gebasht, Kotlin wird gebasht, Scala wird trotz scheunentorgroßen Seiteneffekten gut gefunden. Aber alles steht im Schatten vom allmächtigen Haskell.
    Hmmmm jetzt ne Curry-Wurst!!
    War total geil, eine würdige, großartige und epische legendäre Monadenfolge!

    Links:

    Bier:

    • Als erstes haben wir ein, oder nein besser DAS Bier verkoststet, welches uns der Alex wärmstens empfohlen hat. Nora: Hammerbier
    • Dann gabs es noch ein Hipsterbier: Ein Stout, gelagert in einem Faß in dem vorher 16 jähriger Macallan drin war. Überawesome! Ola Dubh
    • Am Ende haben wir noch ein schönes Weizen aus Hongkong angeteasert: Schön fruchtigweizig. Das Hangry Donut

    Datum der Aufnahme: 12.11.2017

  • Folge 10: Das nächste große Ding

    Die 10. Folge autoweird.fm! Hammer! Wir sind amazed! Auf nem Plattencover würde da jetzt ein fettes X draufstehen. Wahrscheinlich jedenfalls. Das feiern wir, in dem Holger auch mal die Ansage sprechen darf/kann/muss. Ob das die Zukunft ist? Man weiß es nicht! 🙂

    In dieser Folge schwadronieren wir über ‚Das nächste große Ding‘. Wir lassen mal wieder ein wenig die gute alte Zeit Revue passieren. Schwelgen in Erinnerungen über Objektorientierung, GOF-Patterns, JSF, EJB 2 und Java everywhere.
    Wir streifen das Jetzt mit Hypethemen wie Microservices, Cloud, funktionaler Programmierung, reaktiven Systemen und TypeScript.

    Und enthüllen dann das nächste große Ding. Das Ding, was uns bis in unsere Rente begleiten wird. Das Ding, auf das alle gewartet haben.

    Aber dafür müsst ihr die Folge hören 🙂
    Danke nochmal an Robert fürs Fehler finden und melden und sorry für das #DropboxGate.

    Links:
    JSF ist ein komponentenorientiertes Webframework. Hier programmiert man bevorzugt in Java und bekommt von HTTP nicht so viel mit.
    Vaadin ist ein auf dem Google Web Toolkit (GWT) basierendes Framework. Auch hier werden Client und Server nahezu komplett in Java geschrieben. Die Konzepte von JSF und Vaadin unterscheiden sich allerdings. Die Firma Vaadin sitzt im Steering Committee von GWT.
    – Wir erwähnen hier natürlich Microservices: Eine Idee von Microservices ist es sprachunabhängig entwickelbar zu sein.
    React.js ist in unserem Umfeld sehr verbreitet.
    – Die Entwicklung von Node.js hatte einen großen Einfluss auch auf die Java Welt.
    – Wir reden die ganze Zeit über ‚Funktionale Programmierung‘ und erklären eigentlich nie so richtig was es damit auf sich hat. Ein Buch, was wir zu diesem Thema als Einstieg u.a. empfehlen, können ist das Curry Buch.
    – Robustere und anpassungsfähigere Systeme kann man mit dem Reaktiven Paradigma erreichen: Das Reactie Manifesto beschreibt dieses.
    – Welche [ES6] (https://babeljs.io/learn-es2015/) Features nehm ich denn?
    TypeScript bringt Typen nach JavaScript.
    – Holger war letztes Jahr auf der CraftConf. Eine sehr lohnende Konferenz.
    – Michael Feathers hat dort bei einem Meetup den Talk: ‚Why Types Aren’t Very Important‘ gehalten.
    – Michael Feathers hat das Buch ‚Working effectively with legacy code‘ geschrieben. Auch empfehlenswert.
    – Der Kölner Podcast GeekStammtisch hat in einer der letzten Folgen u.a. über Ruby und Rails sowie deren Relevanz gesprochen.
    Spring Roo/Grails haben seinerzeit die Gedanken von Rails in die JVM Welt gebracht.
    Gordon Oheim ist unser PHP-Buff.
    – Wie reden mal wieder über Akka. Da müssen wir mal eine eigene Folge zu machen.
    – Akka ist ja ‚lediglich‘ eine Implementierung des Aktormodells.
    – Mit Hilfe von AWS Lambda kann man ’serverless Applicatioms‘ bauen. Man schreibt nur noch ‚den Code‘; um die Laufzeitumgebung und deren Konfiguration kümmert man sich nicht mehr.
    – Was ‚Serverless‘ genau bedeutet, erklärt Martin Fowler.
    ‚Der SMACK Stack halt‘: Eine Sammlung von Tools und Frameworks, die beim Aufbau von sehr großen Big Data Lösungen helfen.
    – Das (actionbasierte) Webframework Play verfolgt einen ähnlichen Gedanken wie Rails. Es hat eine sehr gute Scala Unterstützung.
    – Im Tiobe Index von diesem Jahr sind Java/C und C++ wieder ganz weit vorne.
    – Im Stackoverflow Survey ist allerdings JavaScript vorne. So!
    ‚Sach mal! Wann kommt denn eigentlich Java 9?‘.
    – Ein Miele Geschirrspüler hat einen Webserver. Dieser Webserver hat [Security Flaws] (http://boingboing.net/2017/03/27/the-brave-little-dishwasher.html).
    – Amazon hat OpenSSL für Go reimplementiert.
    – Unser Kollege Luka hat neben seinem Studium mal eben das tolle von Cycle.js inspirierte reaktive UI Framework OutWatch geschrieben. Kudos!
    – Wir haben bis jetzt noch nicht über Domain Driven Design gesprochen. Jetzt ist die Folge aber auch schon vorbei.

    Biere:

    Datum der Aufnahme: 28.03.2017

  • Folge 9: Idris – Was für ein Typ!

    Auch heute wieder eine Premiere bei autoweird.fm: Wir reden heute zum ersten Mal über eine Programmiersprache. Aber nicht irgendeine Programmiersprache! Weit gefehlt! Hier kommt der heiße Scheiß (presented by @autoweird.fm): Idris! Wer uns kennt, weiß, dass wir bei neuen, vielleicht auch zunächst abwägig klingenden Konzepten immer hellhörig werden. Mit Idirs war das mal wieder der Fall und wir hoffen, euch ein wenig anteasern zu können. In dieser Folge gibt Benedikt eine kleine Einführung in die Konzepte von Idris und wir quatschen über den eleganten Ansatz des Type-Driven-Developments. Und wir reden über ADTs … 🙂

    Links:

    Biere:

    Datum der Aufnahme: 13.03.2017