Загрузка страницы

Reduce System Complexity with Data-Oriented Programming • Yehonathan Sharvit • GOTO 2023

This presentation was recorded at GOTO Aarhus 2023. #GOTOcon #GOTOaar
https://gotoaarhus.com

Yehonathan Sharvit - Author of Data-Oriented programming @viebel

RESOURCES
https://twitter.com/viebel
https://github.com/viebel
https://linkedin.com/in/viebel
https://blog.klipse.tech

ABSTRACT
Complexity is one of the main difficulties in the development of successful software systems. Modern programming languages and frameworks make it easy to develop and deploy our code quickly, but as the code base grows, complexity makes it challenging to add new features.

Data-Oriented programming is a paradigm that aims at reducing the complexity of information systems such as back-end applications, web services, web workers, and front-end applications by rethinking data.

Data-Oriented programming treats data as an immutable value that is manipulated by general-purpose functions. Moreover, data is validated à la carte.

In this talk, we illustrate the principles of Data-Oriented programming in the context of a software production system.

After attending this talk, you will be able to apply Data-Oriented programming principles in your preferred programming language and reduce the complexity of the systems you build.

Takeaways
• Apply Data-Oriented Programming principles in your preferred programming language
• Apply data validation techniques without using static types
• Represent data with immutable data structures
• Manipulate data with generic functions [...]

TIMECODES
00:00 Intro
01:10 What is complexity?
03:00 Information systems
03:54 Principles of data-oriented programming
05:49 What makes a software system complex?
07:23 Principle No 1: Separate code from data
12:16 Principle No 2: Represent data with generic data structures
22:51 Principle No 3: Do not mutate data
28:42 Immutability in practice
29:42 What about data validation?
36:06 History of data-oriented programming
38:38 Summary
39:17 Outro

Read the full abstract here:
https://gotoaarhus.com/2023/sessions/2535

RECOMMENDED BOOKS
Yehonathan Sharvit • Data-Oriented Programming • https://amzn.to/3NFPbSV
Yehonathan Sharvit • The Clojure Workshop • https://amzn.to/3NfFN77

https://twitter.com/GOTOcon
https://www.linkedin.com/company/goto-
https://www.facebook.com/GOTOConferences
#Complexity #DataOriented #DataOrientedProgramming #Programming #SoftwareEngineering #YehonathanSharvit #Viebel #Immutability #Clojure

Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech
Sign up for updates and specials at https://gotopia.tech/newsletter

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
https://www.youtube.com/user/GotoConferences/?sub_confirmation=1

Видео Reduce System Complexity with Data-Oriented Programming • Yehonathan Sharvit • GOTO 2023 канала GOTO Conferences
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
26 июня 2023 г. 17:00:46
00:39:34
Другие видео канала
10 Learnings From Running Production Infrastructure at Google • Christof Leng • GOTO 202310 Learnings From Running Production Infrastructure at Google • Christof Leng • GOTO 2023How to Scale Everything, Not Just Technology • Lea Medhurst • YOW! 2018How to Scale Everything, Not Just Technology • Lea Medhurst • YOW! 2018Building a Culture of Experimentation at Pinterest • Andrea Burbank • YOW! 2018Building a Culture of Experimentation at Pinterest • Andrea Burbank • YOW! 2018Cost of a Dependency • Lee Campbell • YOW! 2019Cost of a Dependency • Lee Campbell • YOW! 2019Learning from Incidents • Andrew Hatch • YOW! 2019Learning from Incidents • Andrew Hatch • YOW! 2019Don’t Do E2E Testing • Dave Farley • GOTO 2023Don’t Do E2E Testing • Dave Farley • GOTO 2023Has My IoT Device Been Hacked? Establishing Trust w/ Remote Attestation • Edlira Dushku • GOTO 2023Has My IoT Device Been Hacked? Establishing Trust w/ Remote Attestation • Edlira Dushku • GOTO 2023Concurrency Oriented Programming in a Modern World • Robert Virding & Francesco Cesarini • GOTO 2023Concurrency Oriented Programming in a Modern World • Robert Virding & Francesco Cesarini • GOTO 2023Five Lines of Code • Christian Clausen & Kevlin Henney • GOTO 2023Five Lines of Code • Christian Clausen & Kevlin Henney • GOTO 2023Shaping Language in Cybersecurity For People • Ceri Jones • GOTO 2023Shaping Language in Cybersecurity For People • Ceri Jones • GOTO 2023Simplifying Dev Environments with the Right Tools • Christian Heilmann & Julian Wood • GOTO 2022Simplifying Dev Environments with the Right Tools • Christian Heilmann & Julian Wood • GOTO 2022Writing For Nerds - Blogging For Fun and (Not Much) Profit • Charles Humble • GOTO 2023Writing For Nerds - Blogging For Fun and (Not Much) Profit • Charles Humble • GOTO 2023Minimum Viable Architecture • Randy Shoup • YOW! 2022Minimum Viable Architecture • Randy Shoup • YOW! 2022Protect Your Code with GitHub Security Features • Rob Bos • GOTO 2023Protect Your Code with GitHub Security Features • Rob Bos • GOTO 2023Why Most Data Projects Fail & How to Avoid It • Jesse Anderson • GOTO 2023Why Most Data Projects Fail & How to Avoid It • Jesse Anderson • GOTO 2023Java in the Cloud with GraalVM • Alina Yurenko • GOTO 2023Java in the Cloud with GraalVM • Alina Yurenko • GOTO 2023Sonic Pi - BEAM Up The VJ! • Sam Aaron • GOTO 2023Sonic Pi - BEAM Up The VJ! • Sam Aaron • GOTO 2023Typing Is Not The Bottleneck • Damian Maclennan • YOW! 2019Typing Is Not The Bottleneck • Damian Maclennan • YOW! 2019Platform Engineering on Kubernetes • Mauricio Salatino & Thomas Vitale • GOTO 2023Platform Engineering on Kubernetes • Mauricio Salatino & Thomas Vitale • GOTO 2023Why Static Typing Came Back • Richard Feldman • GOTO 2022Why Static Typing Came Back • Richard Feldman • GOTO 2022
Яндекс.Метрика