Back to 2015-proposals
Title: Reflections on Reflection
Proposer: Jim Coplien
Type: Keynote
Duration: 60 mins
Description:
This is an updated (since SPLASH 2013) look at concerns that usually play out far outside C++ circles: recognising the central role of reflection in effective programming. Programming is cursed with a mathematical heritage, and is laden with deductive formalisms suitable to building algorithms that deliver an answer and halt. Contemporary object-orientation follows in this tradition with its focus on individually testable methods. Systems thinking requires more of an inductive approach, a view into open systems and more dynamic approaches to programming. Such approaches have not fared well in past computing efforts for lack of the same sense of safety that effective type systems bring. We'll revisit anew the spectrum between strongly-typed Smalltalk and weakly-typed C++, and compare the original goals of object-orientation - to capture fluid operational models of human volition - with the more strongly data-centric and software-engineering focus of C++. I'll present DCI as an approach that offers a fine balance between these two historically antagonistic perspectives.