Smalltalk объединяет инструменты разработчика, приложения и библиотеки в единую работающую систему, которая называется image . image содержит состояние каждого объекта в системе, включая код для классов и методов, которые также представлены в виде объектов. Каждая часть системы, такая как компилятор или класс String , может быть настроена разработчиком так же легко, как его собственный код, и состояние всей системы может быть сохранено и восстановлено в одно мгновение.
Тот факт, что Smalltalk так тесно связан с собственным набором инструментов, часто отталкивает разработчиков, живущих в vi или emacs, но обеспечивает непревзойденный уровень интеграции.
Редактирование кода вступает в силу немедленно, окна инспектора позволяют отображать состояние переменных в режиме реального времени, и вы можете оценивать биты кода практически из любой точки, где вы можете набирать.
При возникновении ошибки вам сразу же предоставляется отладчик уровня источника, независимо от того, насколько глубоко в системе происходит эта ошибка. Отладчик использует тот же компонент редактора кода, с которым вы обычно работаете, чтобы вы могли легко вносить изменения на месте. Python и Ruby, безусловно, упрощают настройку исходного файла по сравнению со скомпилированными языками, но указание вашего редактора на нужный файл все же требует некоторой работы по сравнению (или некоторого дополнительного инструментария).
Еще одним преимуществом инструментария Smalltalk является то, что он облегчает чтение и понимание кода. Браузер Smalltalk является центральной частью IDE. Как следует из названия, он ориентирован на «просмотр» классов и методов системы. Например, он позволяет быстро найти все места, где вызывается метод, или перемещаться по иерархии наследования классов. Инструменты также помогают легко анализировать работающее приложение, проверяя его состояние.
Среды Smaltalk также предоставляют хорошую поддержку для автоматического рефакторинга кода и модульного тестирования. Фактически автоматизированный рефакторинг и платформа тестирования семейства xUnit были изначально разработаны для Smalltalk.
Набор инструментов Smalltalk, безусловно, лучший из тех, что я использовал, но я должен признать, что его особенность может оттолкнуть некоторых разработчиков. Например, поскольку код не хранится в обычных исходных файлах, вы не можете использовать свой собственный редактор или систему контроля версий и должны делать все способом Smalltalk .