Тёмный

FSCK 2024 - Functional correctness -- Haskell-ing your way to reliable code 

media.ccc.de
Подписаться 208 тыс.
Просмотров 3,3 тыс.
50% 1

In the realm of modern software development, ensuring correctness and reliability of software systems is paramount. Functional programming langaunges like Haskell offer a unique approach to achieving these goals through strong type systems, immutable data structures, and pure functions. Despite its practical benefits, functional programming is not yet widely-used in mainstream development.
Here, we'll take you on a gentle exploration of the fundamentals of functional programming, emphasizing concepts like referential transparency, purity, and correctness through verifiable specifications. Through practical examples and approachable explanations, we will illustrate how Haskell's paradigms can lead to a more robust and maintainable codebase.
This talk serves as a friendly guide for beginners eager to dive into the world of functional programming and to harness its power to write verifiably correct, maintainable software.
yote
cfp.ctbk.de/fsck-2024/talk/E7...
#fsck2024 #HardSoftware

Опубликовано:

 

18 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@TheRadischen
@TheRadischen Месяц назад
i like the part where he said haskell and then haskelled all over the place
@christophseibel1765
@christophseibel1765 Месяц назад
es wird richtig abgehaskellt
@MaxHaydenChiz
@MaxHaydenChiz Месяц назад
Is the English language talk the slides were recycled from available anywhere? Trying to watch with auto-translated subtitles but that's difficult.
@szaszm_
@szaszm_ 29 дней назад
at 0:49 he says he recycled the slides from an event a few months ago
@MaxHaydenChiz
@MaxHaydenChiz 29 дней назад
@@szaszm_ yes. Which event? Is it on youtube? I guess it doesn't matter now since I watched it with subtitles. But I am curious what else was discussed at that other event.
@devnull-dz3gj
@devnull-dz3gj Месяц назад
Was ist denn mit mcrl2 für beweisbar-sicheren Code bzw. generell der concurrent sequential processes Ansatz?
@Marque734
@Marque734 Месяц назад
10:00 `i` ist state
@heikostaat
@heikostaat 28 дней назад
Super Vortrag! Hätte ihn fast nicht angesehen, da mein Englisch nicht sehr gut ist.
@BischesseHunting
@BischesseHunting Месяц назад
Er hätte auch Sprecher bei den 3 Fragezeichen werden können
@OliverTacke
@OliverTacke 28 дней назад
Wollte auch gerade anmerken, dass er wie Oliver Rohrbeck klingt 😁
@FunctionGermany
@FunctionGermany Месяц назад
guter talk. das meiste kann man auch gut in typescript machen :)
@faultboy
@faultboy Месяц назад
Wenn man gerne leid erfährt kann man natürlich auch Java Derivate nutzen...
@FunctionGermany
@FunctionGermany Месяц назад
@@faultboy also kotlin ist mir sehr sympathisch :D aber besonders "FP" ist die sprache noch nicht. ich glaub clojure ist noch mehr FP und läuft in der JVM.
@timschulz9563
@timschulz9563 27 дней назад
24:26 Das ist nicht obviously true. Ich biete fac -1.
@FunctionGermany
@FunctionGermany Месяц назад
feedback an speaker: bei den fragen mehr ausreden lassen
@xv179
@xv179 Месяц назад
Please DO NOT use English titles for a German-speaking presentation
@Alex_Vir
@Alex_Vir Месяц назад
I would say, this is a german based organisation around topics with a high saturation of english keywords, so assuming anything being english from them if it isn't indicated by a language signifyer isn't reasonable in my eyes.
@user-bk9wt8gk1q
@user-bk9wt8gk1q Месяц назад
@@Alex_Vir Imho that's not a reasonable assumption on how we should percieve youtube. If you click through random recommended videos and the title language differs from the content language, that's a real bummer. Title has either to be in the content language or indicate if it differs.
@nullplan01
@nullplan01 20 дней назад
Als C-Programmierer tun mir einige dieser Beispiele natürlich in der Seele weh. Nein, reverse ist keine reine Funktion. Sondern sie wird entweder die umgekehrte Liste zurückgeben oder einen Laufzeitfehler. Damit wird auch deine Version von isPalindrome zu einer Funktion, die entweder ein Boolean zurückgibt oder einen Laufzeitfehler. Die Python-Version am Anfang hingegen, so schlecht sie auch geschrieben war, wird immer ein Boolean zurückgeben. Die Rede ist natürlich von Speicherallokation. Diese sollte man vermeiden, wenn möglich, da sie eine Fehlerquelle ist. Und das mit der Rekursion ist halt auch immer so eine Sache. Natürlich kann man damit Dinge elegant ausdrücken, aber man kann sich auch sehr schnell ins Abseits stellen. Zum Beispiel kann man auch die rekursive Definition der Fibonacci-Zahlen 1:1 abtippen in Haskell - erhält dann aber eine Funktion mit exponentieller Laufzeit. In C kann ich ganz schnell eine Version in linearer Laufzeit aufschreiben, die nicht mal den Stack überschreibt.
@codertopics343
@codertopics343 Месяц назад
Alles Toll, aber das Denglisch....,....... :)
@faultboy
@faultboy Месяц назад
Passiert schnell mit englischen Folien, aber ist jetzt nicht so dramatisch.
@codertopics343
@codertopics343 Месяц назад
Nicht so dramatisch stimmt. Nur höre ich so etwas zu oft.... :)😀
@AudioPervert1
@AudioPervert1 Месяц назад
this is a great example of technological determinism.. however bound to fail, yet again. Fearless Refactoring and what not...
Далее
100 Дней Хардкора в Valheim | Ashlands
2:08:53
JASMIN TRANS TOSHKENTDAGI UYIDAN INTERVYU 2024 #shokuz
45:40
37C3 -  Sonic Alchemy
44:14
Просмотров 10 тыс.
Joscha at Microsoft
48:46
Просмотров 3,8 тыс.
FSCK 2024 - Datum und Uhrzeit: What a mess!
54:34
Просмотров 23 тыс.
The Thirty Million Line Problem
1:48:55
Просмотров 241 тыс.
🚀  TDD, Where Did It All Go Wrong (Ian Cooper)
1:03:55
Просмотров 550 тыс.
Das Geburtstagsparadoxon
22:28
Просмотров 89 тыс.
100 Дней Хардкора в Valheim | Ashlands
2:08:53