2026-03-25 Знакомство с Cuis Smalltalk

Много раз я пытался познакомиться с таким языком программирования как Smalltalk. Эксперименты были с его современными реализациями - Squeak и Pharo, но каждый раз меня отпугивала их непохожесть на привычный мейнстрим.

Основные моменты, которые вызывали диссонанс:

  • В Smalltalk код хранится не в файлах, а внутри образа (снапшота памяти). Это ломало классический паттерн разработки: редактор -> терминал.
  • Яркие темы по умолчанию и специфичная графика в Squeak создают ощущение, что ты попал в 90-е, хотя под капотом скрывается одна из самых мощных сред для живой разработки.
  • Да и просто непонятность, как же этим пользоваться и с чего вообще начать.

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

Свой шанс я нашел в реализации Cuis Smalltalk. Это форк Squeak, который стремится к минимализму. Cuis оказался гораздо дружелюбнее для новичка, особенно благодаря наличию The Cuis Book. После ее прочтения исчезает большинство "магических" непоняток, и становится видна стройность системы.

Но был один минус: по умолчанию Cuis выглядит довольно ярко и, скажем так, "по-детски":
Pasted image 20260325093315.png

В попытках это исправить родился мой первый пакет для Cuis Smalltalk- Cuis-Smalltalk-XCodeTheme.

Он включает несколько цветовых схем, вдохновленных Apple Xcode:

  • XCodeThemeLight - Светлая
    • XCodeThemeLightRounded - Светлая с закругленными элементами интерфейса
  • XCodeThemeDark - Темная
    • XCodeThemeDarkRounded - Темная с закругленными элементами интерфейса

Теперь Cuis выглядит более строго и современно, на мой взгляд:
Pasted image 20260325095056.png
Pasted image 20260325095152.png

Пакет устанавливается очень просто:

  1. Скачайте из репозитория файл пакета XCodeTheme.pck.st.
  2. Перетащите его на открытое окно Cuis. Пакет автоматически загрузится в ваш образ.
  3. В окне Workspace (или через настройки) выполните код для применения нужной темы:
    XCodeThemeLight beCurrent.
  1. Наслаждайтесь результатом :)

Теперь, когда визуальный барьер снижен, ничто не мешает погружаться в мир живых объектов и отладки на лету. Возможно, это будет та самая "точка входа" в Smalltalk, которую я так долго искал.