Besser Programmieren mit Mathematik - Mike Sperber auf dem Karlsruher Entwicklertag

Поділитися
Вставка
  • Опубліковано 2 гру 2024

КОМЕНТАРІ • 13

  • @hansbleuer3346
    @hansbleuer3346 9 днів тому

    Interessantes Gespräch

  • @sequbeats
    @sequbeats 22 дні тому +1

    Sehr interessantes Video.
    Tatsächlich erkenne ich sehr viel aus meinem Informatikstudium wieder. Auch wenn in meinen praktischen Erfahrungen diese mathematischen Grundlagen bisher leider weniger Anwendung finden, merkt man doch immer wieder, wie die alltäglichen Strukturen der Softwareentwicklung sich daran orientieren.
    Man nehme als super simples Beispiel einfach mal eine equals-Methode als Abbild einer Äquivalenzrelation, mit eben jenen Eigenschaften, die diese Erfüllen sollte (Reflexivität, Symmetrie und Transitivität). :)

  • @mige1334
    @mige1334 20 днів тому +3

    Geil, sehe ich mal was aus den Überfliegern unseres Abijahrgangs geworden ist ... der Micha/Mike halt ... Chapeau

  • @waltertanner7982
    @waltertanner7982 22 дні тому +1

    Klarer, als ich vom Titel her befürchtet hatte.

    • @developers-club
      @developers-club  20 днів тому +1

      Wir nehmen das mal als Kompliment, danke 😄

  • @christianhorauf9958
    @christianhorauf9958 21 день тому +2

    Ich hoffe im vortrag kam auch vor wie wichtig ein neutrales element ist um eine halbgruppe zu definieren. Denn dadurch spart man sich ganz viele if-statements. Konkateniere Ich z.b. strings muss ich nicht kucken ob einer von beiden ein leerer string ist. Ich kann sie einfach so konkatenieren und bekomme halt den einen von beiden strings raus. Gleiches gilt für Listen. Daher sollte man als Informatiker auch immer noch im Hinterkopf haben ob am sich nicht einfach ein neutrales Element dazu definieren kann. Ich würde den Vortrag gerne nochmal sehen. Wann und wo wäre das denn der Fall?

  • @xuan-gottfriedyang5094
    @xuan-gottfriedyang5094 10 днів тому

    ich versuche mit "monad" (funktional) zu programmieren

  • @steffenhantschel2016
    @steffenhantschel2016 22 дні тому +2

    Klar, wenn ich Objekte habe, die sich addieren lassen, kann ich auch Halbgruppe dazu sagen. Ich frage mich nur, wieso das dann besseren Code erzeugen soll. Bei logischen Rätseln, die man Software lösen möchte, könnte ich mir das vorstellen - allerdings hat man das im gewöhnlichen Software Entwicklungsprozess eigentlich nie. Reicht es nicht, dass man dann einfach den "+"-Operator überlädt? Außerdem soll es angeblich auch Softwareentwickler geben, die keine Algebra Vorlesung gehört haben. So richtig überzeugt bin ich nicht. Gibt es ein konkretes Beispiel mit Code, wo man sehen kann, wie Mathematik zu besserem Code führt?

    • @developers-club
      @developers-club  20 днів тому

      Zunächst denke ich auch, dass sich das sicherlich nicht immer und auf alles anwenden lässt. Ich würde es so sehen, dass man bei einer mathematischen/algebraischen Modellierung eine ganze Menge an Aussagen über diverse Regel- und Randfälle mitgeliefert bekommt, d.h. der Code wird dadurch besser, dass man den Sachverhalt mit wenigen, aber bedeutungsvollen Zeilen Code auf den Punkt bringt. Sicherlich muss ich da ein oder zwei Abstraktionsschritte zurück treten und mir (ggf. kreativ) überlegen, was eine "Addition" in meinem Domänenkontext sein soll (kann ja etwas ganz anderes als das "Plus" aus der Schulmathematik sein).
      LG Peter vom developers club

    • @MichaelSperber
      @MichaelSperber 20 днів тому

      Zunächst mal kommen oft die Architekt:innen und Entwickler:innen gar nicht auf die Idee, einen "+"-Operator zu definieren. Wenn die Daten komplexer werden, ist es oft auch nicht so einfach - dann bieten die mathematischen Prinzipien eine Leitlinie für dessen Definition, die Überraschungen vermeiden.

    • @steffenhantschel2016
      @steffenhantschel2016 11 днів тому

      @@MichaelSperber Die Architektinnen und Entwicklerinnen müssen erst gar nicht auf die Idee kommen, einen "+"-Operator zu definieren, weil gebräuchliche Programmiersprachen wie Python dies von Hause aus mitbringen, bspw. __add__. Genauso wie die Vergleichsoperatoren, Mengenoperatoren und viele andere Konzepte, die aus der Mathematik stammen und integraler Bestandteil moderner Programmiersprachen sind. Eventuell wäre es vorteilhaft, dies zu wissen.

  • @distrologic2925
    @distrologic2925 20 днів тому +1

    Funktionale Programmierung wird in der deutschen Softwareindustrie viel zu wenig anerkannt. Alles ist Java, C++, Javascript, Python und fertig

  • @distrologic2925
    @distrologic2925 20 днів тому

    Das ist doch das Kommutativgesetz 😅