This talk by Yehonathan Sharvit is about the principles of Data-Oriented programming and how to reduce the complexity of software. As the talk is not focused on Go, the video is an interactive session between our speaker and the #gofrm community.
Data-Oriented programming is a paradigm that aims at reducing the complexity of software systems and making the development experience more productive. Data-Oriented programming draws a clear separation between code and data. It treats data as a value that is manipulated by general-purpose functions. 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, whether it's Object-Oriented or Functional, and reduce the complexity of the systems you build.
➡️ Yehonathan Sharvit ⬅️ (https://twitter.com/viebel) has been working as a software engineer since 2000, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript. He currently works as a software architect at Cycognito, building software infrastructures for high scale data pipelines. He shares insights about software at https://blog.klipse.tech/, he writes technical books, he speaks at conferences and leads Clojure workshops around the world. He is the author of Data-Oriented programming, published by Manning. Yehonathan is passionate about making interesting things easy to understand.
This talk by Yehonathan Sharvit is about the principles of Data-Oriented programming and how to reduce the complexity of software. As the talk is not focused on Go, the video is an interactive session between our speaker and the #gofrm community.
Data-Oriented programming is a paradigm that aims at reducing the complexity of software systems and making the development experience more productive. Data-Oriented programming draws a clear separation between code and data. It treats data as a value that is manipulated by general-purpose functions. 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, whether it's Object-Oriented or Functional, and reduce the complexity of the systems you build.
➡️ Yehonathan Sharvit ⬅️ (https://twitter.com/viebel) has been working as a software engineer since 2000, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript. He currently works as a software architect at Cycognito, building software infrastructures for high scale data pipelines. He shares insights about software at https://blog.klipse.tech/, he writes technical books, he speaks at conferences and leads Clojure workshops around the world. He is the author of Data-Oriented programming, published by Manning. Yehonathan is passionate about making interesting things easy to understand.
➡️ Learn more about Yehonathan's DOP challenge: https://blog.klipse.tech/dop/2021/04/01/dop-challenges.html ⬅️
📘 If you want to order Yenothans book Data-Oriented Programming: https://livebook.manning.com/book/data-oriented-programming/welcome/v-14/, you can use our 35% discount code: mtpffmgo21. 📘
00:00 Introduction Yehonathan Sharvit
06:18 What is complexity? 😰 & Information systems
09:16 Principles of Data-Oriented programming
14:10 What makes a software system complex?
17:36 Principle #1: Separate Code from Data
27:55 Principle #2: Represent Data with generic data structures
39:25 Data is represented as data
42:03 Principle #3: Do not mutate Data
45:14 Immutability in practice (native data structures)
46:54 What about data validation? & Data validation
55:30 A brief history of Data-Oriented programming
57:36 Summary
58:40 DOP challenge