Reduce system complexity with Data-Oriented Programming by Yehonathan Sharvit
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
Yehonathan Sharvit
Yehonathan has been working as a software engineer since 2000, programming with C++, Java, Ruby, JavaScript, Clojure, and ClojureScript.
Currently, he is a software architect at Cycognito, building software infrastructures for high-scale data pipelines.
He is the author of Data-Oriented programming, published by Manning.
https://www.linkedin.com/in/viebel/
https://blog.klipse.tech/
https://twitter.com/viebel
https://www.manning.com/books/data-oriented-programming
Video sponsor – Ada Beat
https://adabeat.com/
If you want to spread functional programming and support the channel, buy something from the shop: https://funcprogsweden.myspreadshop.net/
The chapters:
00:00 Welcome Yehonathan
01:34 Who am I
02:00 What is complexity?
03:55 Information Systems
05:41 Principles of Data-oriented programming
07:51 What makes a software system complex?
09:27 Principle #1: Separate code from data
11:34 Reduction of system complexity
12:05 Principle #2: Represent data with generic data structures
13:37 Reduction of system complexity even more
15:15 Principle #3: Do not mutate data
20:57 Principle #4: Separate data schema from data representation
26:52 A brief history of data-oriented programming
30:30 Summary
30:53 Questions
#funcprogsweden
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Reduce system complexity with Data-Oriented Programming by Yehonathan Sharvit», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.