Reduce system complexity with Data-Oriented Programming by Yehonathan Sharvit

December 7, 2022


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

Check out more from the MeetUp Func Prog Sweden. Func Prog Sweden is the community for anyone interested in functional programming. At the MeetUps the community explore different functional languages like Erlang, Elixir, Haskell, Scala, Clojure, OCaml, F# and more.