Published Sep 3, 2019

Episode 8: Interview Eric Evans

Eric Evans delves into the transformative power of domain-specific languages and domain-driven design, emphasizing the significance of collaboration and communication in complex software projects, and providing insightful guidance on developing flexible models and bridging gaps in understanding.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Language Evolution

    Eric Evans discusses the challenges of evolving domain-specific languages to better meet domain needs. He highlights the issue of separation between language developers and users, which can hinder the language's ability to adapt and address complex domain problems effectively. Evans notes that successful projects often involve refining the language model to allow for more natural expression of domain concepts, as seen in his work with Smalltalk 1.

    In the successful projects that I was in, as we would address domain problems, we would modify our model and let's say we were working in small talk. The small talk code would be refined to the point where we could make statements in small talk that looked almost like a domain specific language.

    ---

    This approach contrasts with the rigid separation often found in traditional domain-specific language development 2.

       

    Custom Language Development

    The reasoning behind creating custom languages often aligns with the need for specificity and flexibility in addressing domain challenges. Marcus Blankenship points out that many developers prefer building their own languages rather than relying on standardized models like UML, as it allows for more tailored solutions 3. Evans shares his excitement about the potential of domain-specific languages in domain-driven design, cautioning against the pitfalls of creating a sharp divide between language creators and users 2.

    Domain specific languages is something that I find is very exciting. I feel like surely that is part of the future of domain driven design.

    ---

    This perspective emphasizes the importance of collaboration and iterative refinement in language development.

Related Episodes