Composing Software in an Age of Dissonance (Invited Talk)

Author Gilad Bracha

Thumbnail PDF


  • Filesize: 199 kB
  • 1 pages

Document Identifiers

Author Details

Gilad Bracha

Cite AsGet BibTex

Gilad Bracha. Composing Software in an Age of Dissonance (Invited Talk). In 31st European Conference on Object-Oriented Programming (ECOOP 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 74, p. 2:1, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)


The power of languages is rooted in composition. An infinite number of sentences can be composed from a finite set of generative rules. The more uniformly the rules apply, the more valid compositions there are. Hence simpler rules give rise to richer discourse - a case of ‘less is more’. We must however be careful as to which distinctions we preserve and which we eliminate. If we abstract too much we risk creating an undifferentiated soup with no landmarks to orient us. A uniform space of objects with simple rules governing their interaction is an obvious example of these ideas, but objects also serve as a cautionary tale. Achieving simplicity is not easy; it requires taste, judgement, experience and dedication. Ingenuity is essential as well, but left unchecked, it often leads to uncontrollable complexity. The path of least resistance follows the tautological principle that ‘more is more’, and who can argue with a tautology? Dissonance dominates. I will endeavour to illustrate these rather abstract principles by means of examples from my own work and that of others, in programming languages, software and other domains. We may speak of many things - mixins, modules and memory, graphics and generics, patterns and parsers, architecture and automobiles, objects or other things entirely.
  • Object-orientation
  • Programming languages
  • Modularity
  • IDEs
  • Software Design


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail