For those in the Bay Area:
A practice run of the ECOOP'91 Self tutorial will be held in the first week of July. Attendance to the half-day tutorial is free (all participants will receive a copy of the tutorial materials). Please contact me if you are interested.
[For those NOT in the Bay Area: come to the ECOOP tutorial in Geneva!]
Objectives (not more than 50 words):
To understand Self's object model and inheritance semantics, and the rationale behind them; to explore some typical situations where Self's flexibility allows simpler solutions than are available in more traditional languages like Smalltalk-80 and C++; to discuss techniques which allow an efficient implementation of Self.
Self is an object-oriented language for exploratory programming based on a small number of simple yet powerful ideas. We start the tutorial by presenting the design principles underlying Self. Using simple examples, we then demonstrate how easy it is to reuse Self code even in situations where more traditional languages like Smalltalk stand in the programmer's way.
The second part of the tutorial covers programming on a larger scale, showing how Self programs can be organized in the absence of classes. We also show how inheritance can be used to model concepts such as global variables and scoping without introducing extra language mechanisms.
Finally, we address some of the performance implications of the Self language model and discuss how very good performance can be achieved despite the seemingly costly "everything is a message send" model.
Who should attend:
Programmers, students and researchers who are interested in a fresh look at object-oriented language design and prototype-based systems; anybody who is wondering why it is often harder than expected to reuse code in his/her favorite programming language.
Required previous knowledge:
Participants are expected to be familiar with the principles of object-oriented programming. Previous experience with Smalltalk-80 is helpful but not necessary.