• 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