Gregor Trefs über funktionale Programmierung, Konferenzen und Fachartikel – Anwendungsentwickler-Podcast #106
IT-Berufe-Podcast - A podcast by Stefan Macke - Lunedì
Categorie:
Funktionale Programmierung, Konferenzvorträge und Fachartikel im Gespräch mit Gregor Trefs sind das Thema der einhundertsechsten Episode des Anwendungsentwickler-Podcasts. Inhalt Folgende Fragen gehen wir im Verlaufe des Interviews durch. Allgemeines zur Person * Wie ist dein Name und wo arbeitest du? * Gregor Trefs, 31 Jahre alt * Momentan bin ich freiberuflich unterwegs * Themen: Java und Security * Wie bist du zur Informatik bzw. Softwareentwicklung gekommen? * Computer fand ich interessant * Erster Rechner: 486 * Erstes Programm mit 12 Jahren geschrieben: Text-Adventure in Basic * Viel Macromedia Flash: ActionScript 2 (ECMA Script Derivat) * Mit 16 auf ein technisches Gymnasium gegangen * Software und Hardware * Design * Hauptsächlich Java * Welche Ausbildung bzw. Studium im Bereich der Informatik hast du absolviert? * Studium Wirtschaftsinformatik * Viel Abwechslung * Nie das Interesse verloren * Tutorentätigkeit in Softwaretechnik * Masterarbeit im Bereich künstliche Intelligenz * Semantic Web Technolgies * Hadoop * Mit welcher Programmiersprache arbeitest du im Alltag? * Hauptsächlich Java * Nebenbei Kotlin und Scala * Lieblingsprogrammiersprache * Klar man arbeitet mit manchen Sprachen lieber als mit anderen. * Jedoch ist das nicht einfach * Immer eine Frage wie vertraut man mit der Sprache ist * Faszinierend finde ich Scala * Sehr viel dabei * Stichwort: Typelevel Programming * Jedoch: Steile Lernkurve und manchmal eine Sytax zum Wegrennen * Auch sehr wissenschaftlich orientiert * Forschungssprache etc. * Compiler finde ich toll * Tolle Inferenz * Hier möchte ich noch mehr lernen * Praktikabel finde ich Kotlin * Kompatibel mit Java und der Compiler hilft mehr * Typinferenz val/var etc. * Nulltypes ist interessant * Kein Fan der Lamdba-Syntax, da geschweifte Klammer für mich zu überladen wirkt * Geht schnell voran * Coroutines sehen toll aus * Bessere Abstraktion für parallele Programmierung im Vergleich mit Java * JavaScript * Ich möchte mal wirklich was Nettes mit machen * Leider nie wirklich die Zeit gefunden * Ich finde Flow Types toll und auch normale Linter * JSON in Javascript fühlt sich einfach besser an * Haskell * Verdreht einem den Kopf 😉 * Gut zum Lernen von FP * Verständnis für Equational Reasoning steigt * Angst vor Monaden wird genommen, da Monaden einen klaren Zweck erfüllen * Bspw. pure functional IO -> IO Monade * Nie produktiv eingesetzt * Java * Kenne ich am besten * Entdecke doch immer was Neues (z.B. java.nio) * Lambda-Syntax sehr angenehm * Leider etwas komplexes Typsystem * Referenz- vs. primitive Typen * Type Erasure * Sehr große Community Funktionale Programmierung * Wie würdest du die funktionale Programmierung (FP) einem Einsteiger erklären? * FP ist ein Programmierparadigma * Eine bestimmte Ansicht wie ein Computerprogramm gestaltet wird * Grundlegendes Element: Funktion * Es basiert auf dem Lambda-Kalkül von Alonzo Church * Formale Sprache zur Untersuchung von Funktionen * Formal: Grammatik und Alphabet unwidersprüchlich durch Mathematik ausgedrückt * Beschreibt Umwandlungsregeln wie Funktionen bspw. auf Argumente angewendet werden * Verzicht auf die Änderung eines globalen Zustands * Unterschied zu imperativ: Zustandsänderung durch Imperat...