Carlo has been programming since 1978 and somehow managed to maintain a balance between hacking machine code and doing academic research.
In his everyday life, he designs software-intensive systems at different scales, using a number of paradigms, languages and technologies. He keep learning and practicing, and occasionally he’s writing and teaching. His recent work on the physics of software is a step beyond the traditional notions of paradigms, idioms and principles, toward a model of software as a material responding to forces, and to be shaped according to those forces.
Successful software tends to grow.
In practice, software can grow only in two ways: by adding new, independent blocks of code (whatever those are in a given language / paradigm: procedures, functions, classes, clauses, aspects, …) or by making existing blocks of code bigger. In many cases, it grows through a combination of the two.The way we shape our software encodes an implicit growth model, and correspondingly, supporting specific growth models requires specific shapes and leads to the natural emergence of known (and novel) language constructs.
This talk will explore the relationship between the demands of growth and the responses of software constructs, with examples in Scala, Haskell, and just a sprinkle of C#.
Room: Orval - Time: 5/12/2016 3:45:00 PM