Simplifying System Complexity through Data-Oriented Programming

In this GOTO Aarhus 2023 presentation, Yehonathan Sharvit discusses the principles of Data-Oriented Programming and how it can be utilized to reduce complexity in system design.

GOTO Conferences45.4K views39:34

About this video

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.instagram.com/goto_con
https://www.facebook.com/GOTOConferences
#Complexity #DataOriented #DataOrientedProgramming #Programming #SoftwareEngineering #YehonathanSharvit #Viebel #Immutability #Clojure

CHANNEL MEMBERSHIP BONUS
Join this channel to get early access to videos & other perks:
https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join

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

Tags and Topics

This video is tagged with the following topics. Click any tag to explore more related content and discover similar videos:

Tags help categorize content and make it easier to find related videos. Browse our collection to discover more content in these categories.

4.2

9 user reviews

Write a Review

0/1000 characters

User Reviews

0 reviews

Be the first to comment...

Video Information

Views
45.4K

Total views since publication

Likes
292

User likes and reactions

Duration
39:34

Video length

Published
Jun 26, 2023

Release date

Quality
hd

Video definition

Related Trending Topics

LIVE TRENDS

This video may be related to current global trending topics. Click any trend to explore more videos about what's hot right now!

THIS VIDEO IS TRENDING!

This video is currently trending in Turkey under the topic 'g'.

Share This Video

SOCIAL SHARE

Share this video with your friends and followers across all major social platforms including X (Twitter), Facebook, Youtube, Pinterest, VKontakte, and Odnoklassniki. Help spread the word about great content!