Every day, we write software that solves business problems. How we actually do that is largely up to us. We tend to build models that encapsulate complexity and provide abstractions that help us reason about the problems we solve.
We stress our models with incremental development. Changing business requirements challenge the durability of our models. The magnitude of change is an indicator for the effectiveness of our models' ability to represent the problem domain.
At Which? we used Domain Driven Design to deliver our most recent project. In this talk, I will share those insights. I aim to cut through the jargon and give concrete, real-world examples of how we applied the principles of DDD to build a product that anticipates change.
Chris is currently a technical lead at Which? and specialises in Ruby and object-oriented design. He enjoys exploring the ideas of Computer Science and programming in general, through playful experimentation.
Ruby’s billed as a “multi-paradigm” language, but, let’s face it, we use it to write imperative object-oriented programs
I'm interested in different ways of programming computers, because I reckon imperative programs are far too low-level and overspecified, which is why as a species we're generally terrible at writing them. In this talk I want to encourage you to think outside of your normal programming habits; I’ll present a more abstract and declarative style called relational programming, and show you how to implement a minimal relational language in Ruby. (Dog whistle: this is μkanren.)
Tom is a computer scientist and programmer. He has lectured on optimising compilers at the University of Cambridge, co-organises the Ruby Manor conference, and is a member of the London Ruby User Group.