notice
Object-Oriented Design Workshop (with Fun and Pharo)
The two-day workshop "Revisiting the essence of Object-oriented Design (with Fun and Pharo)" led by Stéphane Ducasse will take place on May 23 and May 24, 2019.
Time: 9am - 5pm each day
Room: EV 11.119
*No registration required. Free and open to the public.
This workshop revisits the fundamental aspects of object-oriented programming. Using simple but rather subtle exercises, the lecture shows essential points of object-oriented programming and their impact of the quality of the design. While often developers believe that they understood late-binding, the lecture shows that its deep understanding is not that obvious. Similarly while inheritance is well understood, the power of self-send message is often underestimated.
The lectures will use Pharo (http://www.pharo.org) an open-source pure object-oriented programming exhibiting its excellent design.
Pharo with its compact syntax fitting on a single postcard, its uniform and simple object model, its natural use of iterators and its excellent immersive environment is one of the best language to deeply understand object-oriented programming.
Outline of the lecture
- Fast and fun introduction to Pharo
- Sending a message is making a choice
- Semantics of this and super
- Double dispatch
- Self-sends are plans for reuse
- Reassessing composition and inheritance
- Hook and template
Bio: Stéphane Ducasse is directeur de recherche at Inria. He leads the RMoD (http://rmod.lille.inria.fr) team. He is expert in two domains: object-oriented language design and reengineering. He worked on traits, composable groups of methods. Traits have been introduced in Pharo, Perl, PHP and under a variant into Scala, Groovy, and Fortress. He is also expert on software quality, program understanding, program visualisations, reengineering and metamodeling. He is one of the developer of Moose, an open-source software analysis platform http://www.moosetechnology.org/. He created http://www.synectique.eu/ a company building dedicated tools for advanced software analyses. He is one of the leader of Pharo (http://www.pharo.org/) a dynamic reflective object-oriented language supporting live programming. The objective of Pharo is to create an ecosystem where innovation and business bloom. He wrote several books such as Functional Programming in Scheme, Pharo by Example, Deep into Pharo, Object-oriented Reengineering Patterns, Dynamic web development with Seaside. According to google his h-index is 54 for more than 11300 citations. He would like to thanks all the researchers making reference to his work!