Перейти к содержимому

Язык программирования Smalltalk

Язык Smalltalk разработан участниками группы исследовательского центра фирмы Xerox в Palo Alto как элемент программы фантастического проекта Dynabook Алана Кая (Alan Kay). В основу языка Smalltalk были положены идеи языка Simula, а также языка FLEX и разработки Сеймора Паперта и Валласа Фьюрзича (Seymore Papert, Wallace Feurzeig). Smalltalk является одновременно языком программирования и программной оболочкой. Это "чистый" объектно-ориентированный язык, в котором все рассматривается в виде объектов, включая целые числа и классы. Smalltalk, как и язык Simula, является наиболее представительным объектно-ориентированным языком, поскольку он оказал влияние не только на последующие поколения языков программирования, но и на принципы построения графического интерфейса пользователя (например, на наиболее популярные сегодня средства визуализации Macintosh и Motif).

Работа над языком Smalltalk продолжалась почти 10 лет. Главным архитектором проекта Smalltalk на протяжении всей работы был Дэн Ингалс (Dan Ingalls), но значительный вклад в него внесли также Питер Дейтч, Глен Краснер и Ким Мак-Колл (Peter Deutsch, Glenn Krasner, Kim McCall). Элементы оболочки Smalltalk разрабатывались параллельно Джеймсом Альтхофом, Робертом Флеганом, Тедом Кехлером, Дианой Мерри и Стивом Рутцом (James Althoff, Robert Flegal, Ted Kaehler, Diana Merry и Steve Rutz). Важную роль в проекте играли также Адель Гольдберг и Девид Робсон (Adele GoldBerg, David Robson), которые вели учет по ходу проектирования. Известно пять реализаций языка Smalltalk: Smalltalk-72, -74, -76, -78, -80 (цифры обозначают год создания). Реализации Smalltalk-72, -74 заложили основу языка, но не имели механизма наследования.

В последующих версиях был введен общий суперкласс и завершено формирование идеи о том, что все элементы языка должны быть объектами. Smalltalk-80 реализован на многих классах ЭВМ и является сегодня коммерческим продуктом в первую очередь для персональных компьютеров и рабочих станций.

По утверждению Ингалса: "Цель проекта Smalltalk состоит в том, чтобы сделать мир информации доступным даже для детей любого возраста. Вся трудность состоит в том, чтобы найти и использовать достаточно простые и эффективные средства, которые позволят отдельному человеку свободно оперировать самой разной информацией от простых чисел и текста до звуковых и зрительных образов". Основу языка составляют две простые концепции: 1) все рассматривается в качестве объектов; 2) объекты взаимодействуют путем обмена сообщениями. Ниже приведены характеристики языка Smalltalk, имеющие отношения к семи основным элементам объектного подхода.

Абстракции Переменные объектов
Методы объектов
Переменные классов
Методы классов
Да
Да
Да
Да
Ограничение доступа Для переменных
Для методов
Обособленные
Общедоступные
Модульность Виды модульности Отсутствует
Иерархия Наследование
Обобщенные блоки
Метаклассы
Простое
Нет
Да
Типирование Строгое типирование
Полиморфизм
Нет
Да (простой)
Параллельность Многозадачность Да (определяется в классе)
Устойчивость Устойчивость объектов Нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *