TEACHING CLASS | Object-Oriented Programming in Perl 6
***** NOTE: This class will be held in Konventa Seta hotel located at Kaleju iela 9/11. Look for directions at http://www.hotelkolonna.com/konventa-seta/how-to-find-us. *****
After years of careful design and implementation work, Perl 6 is now in a state where you can start using it to solve real world problems. Like Perl 5, Perl 6 is decidedly multi-paradigm. However, it offers a much richer object system out of the box, and has object-oriented principles deeply embedded in its design.
This course offers the opportunity to learn about object-oriented programming from a Perl 6 point of view. Starting from the basics and working up towards more advanced features, it also includes some insights into object-oriented design and best practices.
The morning will focus on introducing the Perl 6 object model and explaining the features developers will use most often.
* A quick refresher on object-oriented principles
* Classes, attributes and methods
* Inheritance and sub-type polymorphism
* Custom constructors and initialization logic
* Best practices: encapsulation, the open-closed principle, the Liskov substitution principle
* Introduction to roles and flattening composition
* Roles versus classes
The afternoon will cover some of the more advanced topics, as well as offering some insight into best practices for object-oriented design.
* Classes and roles from a type system point of view
* Parametric roles
* Dependency injection
* Designing classes and roles for testability
* Controlling dispatch: hyper dispatch, call-if-you-can, call-many, candidate lists, deferral
* A peek at meta-programming and the underlying structure of the Perl 6 object model implementation
Jonathan Worthington has been involved in Perl 6 compiler development since 2007, with a focus on the object model and type system. He is the designer and primary implementor of the Rakudo Perl 6 meta-model, and is leading the way in porting Rakudo to the .Net platform. He is a regular and well-rated speaker at Perl conferences throughout Europe.
As well as his involvement in the Perl 6 project, Jonathan works as a consultant, and has helped a wide range of businesses by developing software solutions in multiple technologies (Perl, C#/.Net and Java), delivering training, and mentoring development process improvements.
Putting the two together, he can offer an in-depth knowledge of how object orientation works in Perl 6 along with a great deal of experience of how it is put to use in the real world.
Price: 150 €.
To attend the class please buy a ticket at purchase page: http://yapceurope.lv/ye2011/purchase.
- Peter Edwards (peterdragon)
- Christoph Otto (cotto)
- Andreas Vögele
- Burak Gürsoy (burak)
- Snorri Briem