A magazine about programmers, code, and society. Written by humans since 2018.

Download PDF of this issue.

Issue 017: A Retrospective Of The 2010s

Welcome to the seventeenth issue of De Programmatica Ipsum, dedicated to a Retrospective of the 2010s. In this edition, Graham tells the story of how iOS and Android ate and subsequently threw up the mobile market, Adrian talks about how type inference brought peace in the infamous dynamic vs static typing war, and in the Library section, Graham reviews Barbara Liskov's 1994 influential paper about object orientation, A behavioral notion of subtyping.

The Rise And Fall Of Mobile

The phrase "Rise and Fall" often suggests a roughly hump-shaped distribution of "successfulness". The Roman Empire had to rise before it could fall. Extremist authoritarian regimes rose across Europe in the beginning of the 19th Century, falling (for the most part) by the end of the 20th. My suggestion is that in the world of mobile computing, the two have happened simultaneously.

The Truce Of Type Inference

Type inference is not a new idea. The most common approach to provide such a service in a programming language, the Hindley-Milner type system and algorithm, bears the names of two scientists who discovered it independently a decade apart from each other. It is even rumored that Haskell Curry used it as early as in the 1930s, or even that Alfred Tarski used it in the 1920s.

Barbara Liskov

Many developers will have heard of Barbara Liskov, through her appearance in Robert C. Martin's SOLID list of design principles. The abstract of her 1994 paper with Jeanette Wing, A Behavioral Notion of Subtyping, makes the principle sound easy in, well, in principle.

Back to top