back

A farewell to soul-crushing code

Towards correct software that enriches our lives

If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!

Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.

Video duration
01:00:56
Language
English
Abstract
A major part of software development is maintenance, i.e. tinkering with software that should already be completed but still somehow does not work as it should. Software developed by tinkering is the antithesis to resilient technology, and a growing threat to our profession and our lives. Working on this kind of software crushes the soul. Yet this is exactly how most IoT devices (and computers in general) are programmed these days. We need to replace the dead technology-oriented objects of the past with supple models enriching our domains and our souls. This talk shows how it is done.

So how do we gain autonomy over the software of the future, which is currently spiralling out of control? Not with object-oriented programming, as it turns out: Mutable state, the absence of uniform abstraction mechanisms and the complexity introduced by inheritance make it hard for humans to develop correct and robust software. While "agile" has given developers autonomy over the soul-crushing processes of the past, the prevalent technology - object-orientation - is a fundamental part of the problem, not of the solution. It is time to say goodbye; we must start to teach the principles of systematic construction of correct software instead. At the core of this revolution is the consistent application of functional programming, i.e. of immutable data structures, systematic abstraction and data modelling. The talk illustrates the problems of the programming techniques of the past, and shows how to build robust models that lead to useful software.

Talk ID
9812
Event:
35c3
Day
2
Room
Dijkstra
Start
11:30 a.m.
Duration
01:00:00
Track
Resilience
Type of
lecture
Speaker
Mike Sperber
Nicole Rauch
Talk Slug & media link
35c3-9812-a_farewell_to_soul-crushing_code

Talk & Speaker speed statistics

Very rough underestimation:
163.3 wpm
882.5 spm
100.0% Checking done100.0%
0.0% Syncing done0.0%
0.0% Transcribing done0.0%
0.0% Nothing done yet0.0%
  

Work on this video on Amara!

Talk & Speaker speed statistics with word clouds

Whole talk:
163.3 wpm
882.5 spm
codefunctionalprogrammingroutetimelistoperationexampleobjectthingscoursetypethinghaskellmodelbittalkproblemlanguagescalledwritesoftwareorientedrouteqtzonetalkingemptyobjectsgoodprettyoptionpointpeoplerememberrealdatanumberprocessprogramsoperationsslidesstepscoolrouteelementoptionsmethodelephantaudiencequestionmachinehappen