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
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.