Предисловие 9
Те, кто считает себя асом в Си, Паскале, Фортране, Лиспе, должны бу-
дут приложить определенные усилия и изменить многие привычные для
них воззрения на практику программирования. Тем, кто мало знаком с про-
граммированием, будет, как это ни удивительно, легче, поскольку на них не
будет давить груз приобретенного опыта. Именно об этом говорит практика
преподавания языка Смолток как для школьников, так и для студентов. Но в
любой среде учащихся и сам язык, и объектно-ориентированная методоло-
гия программирования воспринимались намного легче, чем при изучении
сравнимых по возможностям языков программирования Java, Lisp/CLOS,
Ada или С++.
Читайте разделы внимательно, не торопясь. Не торопитесь начинать
программировать, прочитав всего несколько страниц. Из-за непохожести
Смолтока на все остальное в мире языков программирования излишняя то-
ропливость чревата полным разочарованием. Вполне возможно, что какие-
то моменты не удастся понять сразу — не расстраивайтесь. В действитель-
ности, в языке Смолток нет ничего сложного.
Обязательно пытайтесь выполнить задания для само стоятельной рабо-
ты, это поможет вам быстрее понять особенности языка.
Книга разбита на пять частей. В первой части учебника рассказывается
об основных принципах объектно-ориентированной методологии програм-
мирования и о том, как эти принципы реализуются в языке: в его синтакси-
се, инструментах, в особенностях функционирования самой смолтоковской
среды. Другими словами, излагается некоторая «теория».
Чтобы изложение было более конкретным, мы предполагаем, что на ва-
шем компьютере установлена система Smalltalk Express. Наш выбор объяс-
няется тем, что данная реализация распространяется бесплатно, компактна,
работает на всех IBM-совместимых компьютерах, в основном соответству-
ет стандарту, содержит все необходимое для первоначального знакомства и
работы. Среди доступных нам реализаций Смолтока другой системы, удо-
влетворяющей всем этим требованиям, не нашлось, хотя по каждому от-
дельному показателю или некоторому их подмножеству другие реализации
были бы лучше. Разумеется, читатель, работая с книгой, может пользовать-
ся любой смолтоковской системой. Большая часть того, о чем мы будем
рассказывать и что не будет касаться графики и интерфейса пользователя,
справедлива в любой реализации.
Вторая часть — библиотека классов смолтоковской системы. Даже в до-
статочно небольшой системе Smalltalk Express эту библиотеку нельзя на-
звать маленькой, а в учебнике невозможно рассмотреть ее полностью. Мы
ограничились только наиболее часто используемыми и важными классами
и их функциональными возможностями.