YAPC::Europe 2011 in Riga

YAPC::Europe 2011 “Modern Perl”

Twitter #ye2011    RSS       Log in

TEACHING CLASS | Object-Oriented Programming in Perl 6

By Jonathan Worthington (‎jnthn‎)
Date: Thursday, 18 August 2011 10:00
Duration: 480 minutes
Target audience: Any
Language:
Tags: 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
* Mix-ins
* Dependency injection
* Designing classes and roles for testability
* Controlling dispatch: hyper dispatch, call-if-you-can, call-many, candidate lists, deferral
* Introspection
* A peek at meta-programming and the underlying structure of the Perl 6 object model implementation

Teacher Bio:
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.

Attended by: