{"guid":"033166dd-8065-4c05-b794-cdab0eb96292","title":"The essence of programming","subtitle":null,"slug":"bob2020-97-the_essence_of_programming","link":"https://bobkonf.de/2020/sundstroem.html","description":"Referential transparency is a property that lets us\n\tbetter understand computer programs, because it allows us to\n\tsafely replace expressions with their values without changing\n\tthe programs behavior in other places. To achieve referential\n\ttransparency, we have to program using pure functions and\n\tfunction composition as primary tools.\n\n\tSeen abstractly, the process of composing and decomposing of\n\tpure functions closely relate to the essential principle of\n\tproblem: “To solve a large problem, split it up into\n\tsubproblems and solve these recursively, then combine the\n\tsolutions.” What implications does this correlation have on\n\tfunctional programs?\n\n\tIn this talk, I argue why function composition is the essence\n\tof programming, and how it manifests itself through some\n\tabstractions we know from the functional world.\n\t","original_language":"eng","persons":["Ludvig Sundström"],"tags":["bob2020","97","2020","Talk","BOB","BOBKonferenz"],"view_count":224,"promoted":false,"date":"2020-02-28T16:35:00.000+01:00","release_date":"2020-04-17T00:00:00.000+02:00","updated_at":"2025-12-30T13:45:12.870+01:00","length":2401,"duration":2401,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2020/97-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2020/97-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2020/97-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2020/97-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2020-97-the_essence_of_programming","url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_title":"BOB Konferenz 2020","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020","related":[],"recordings":[{"size":114,"length":2401,"mime_type":"video/webm","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2020-04-17T13:36:57.741+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/webm-sd/bob2020-97-eng-The_essence_of_programming_webm-sd.webm","url":"https://media.ccc.de/public/recordings/47287","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"},{"size":25,"length":2401,"mime_type":"audio/opus","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2020-04-17T13:36:36.313+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/opus/bob2020-97-eng-The_essence_of_programming_opus.opus","url":"https://media.ccc.de/public/recordings/47286","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"},{"size":36,"length":2401,"mime_type":"audio/mpeg","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2020-04-17T13:36:07.586+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/mp3/bob2020-97-eng-The_essence_of_programming_mp3.mp3","url":"https://media.ccc.de/public/recordings/47285","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"},{"size":79,"length":2401,"mime_type":"video/mp4","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2020-04-17T13:35:52.816+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/h264-sd/bob2020-97-eng-The_essence_of_programming_sd.mp4","url":"https://media.ccc.de/public/recordings/47284","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"},{"size":177,"length":2401,"mime_type":"video/webm","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1280,"height":720,"updated_at":"2020-04-17T13:35:43.914+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/webm-hd/bob2020-97-eng-The_essence_of_programming_webm-hd.webm","url":"https://media.ccc.de/public/recordings/47283","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"},{"size":134,"length":2401,"mime_type":"video/mp4","language":"eng","filename":"bob2020-97-eng-The_essence_of_programming_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1280,"height":720,"updated_at":"2020-04-17T13:35:27.431+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/h264-hd/bob2020-97-eng-The_essence_of_programming_hd.mp4","url":"https://media.ccc.de/public/recordings/47282","event_url":"https://media.ccc.de/public/events/033166dd-8065-4c05-b794-cdab0eb96292","conference_url":"https://media.ccc.de/public/conferences/bobkonf2020"}]}