Behavioral Programming: Aligning Code with How We Think – Luca Matteis – DDD Europe 2020

video:

Domain-Driven Design Europe 2020
http://dddeurope.com – https://twitter.com/ddd_eu

Automation has taken over many things in our society: agriculture, medicine, transport, entertainment. Many say that the future depends on software; unprecedented global problems are already in a state of no-return and fixing these problems will require unseen complex technological systems, most likely driven by software. The way we control these layers of automation, that we have become so dependent on, is through "programming".

The problem seems that we (humans) have to abnormally force our minds to learn programming. We adapt our unskilled reasoning to work in the way the computer wants. As the layers of abstractions and patterns grow bigger and stronger, the same fundamental issue remains: programming is an unnatural process that will forever require us to override our natural model of thinking in order to learn to think like a computer.

What if we could take the opposite road: figure out which paradigms best fits our model of thinking; since that is precisely one thing that will hardly change.

In this talk we will take a look at one of the paradigms that seems to go towards this direction: Behavioural Programming (BP). We will see how programming this way does not need to adhere so rigorously to structure and is more aligned with how we generally think about things.

We will drive the talk through real-world examples and compare current standard programming practices to see how BP differs and how. Demonstrating that new paradigms are better fit for specific tasks is difficult, hence we will try our best to provide some evidence of this using three dimensions: (i) understandable (how easy it is to understand what the system is doing and why), (ii) changeable (how easy it is to make changes to the system) and (iii) aligned with requirements (how easily we can take requirements and confidently say: this is implemented in the system or not).

Bio
I’m from Rome Italy, currently living in Amsterdam. Everything changed when I started reading more academic papers on subjects relating Statecharts and Behavioral Programming. I got hooked on these subjects over the past 2 years and have not been able to think about other things – my passion in this area is very strong and am an avid believer that some of these technologies will be crucial for making software development more sustainable. In the near future a tsunami wave of automation will be required, and I believe we do not yet possess the right tools or mindsets to handle such extreme necessities. Hence finding ways to make complex systems more manageable is very high on the list of things I would like to “make a dent” to in the world.

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Impact Mapping – The Secret Sauce

Details "Impact mapping is a lightweight, collaborative planning technique for teams that want to make a big impact with software products. It is based on user interaction design, outcome-driven planning and mind mapping. Impact maps help delivery teams and...

Pragmatic Architecture: How to Know When It’s Enough

Details Overengineering wastes time and effort, while underengineering creates future pain. How do you strike the right balance? This talk explores how you can use the balanced coupling model to achieve the just-right engineering. You’ll learn to predict volatility of...