Команда Pharo выпустила Pharo 14: новые инструменты и RISC-V
Команда Pharo объявила о выходе Pharo 14. Pharo, это «чисто объектно-ориентированный язык программирования и мощная среда», сделанная вокруг простоты и мгновенной обратной связи. Весь стек распространяется под лицензией MIT и доступен на GitHub.
По словам команды, в этой итерации усилия сосредоточены на трёх направлениях. Первое, модернизация инструментов разработки: появились Mission Control и Pulse (замена Spotter), переработан Method Browser, переписан Settings Browser, а Epicea и ProfStef объединены с NewTools. Это продолжение миграции инструментов на стек Spec.
Второе, перестройка инфраструктуры рефакторинга и команд. Команды рефакторинга перенесены на архитектуру на основе драйверов с единым реестром команд, а возможности командной строки расширены: тестирование из командной строки, отладчик в командной строке и инструменты для скриптов Sindarin.
Третье, виртуальная машина. Объединены кадры (frames) и управление стеком, добавлена поддержка RISC-V в JIT-компиляторе, расширено управление памятью (прямое выделение в old-space, улучшения сборщика мусора), продвинута компиляция Slang/C и модернизирована кроссплатформенная сборка.
Отдельно отмечено: начиная с этого релиза график сдвинут с весны (март, май) на осень (сентябрь, ноябрь), и Pharo 14, первая версия, вышедшая по новому графику. В списке основных изменений есть также правки системного слоя (ClassBuilder, трейты, UnifiedFFI, разделение API компилятора), доработки интерфейса (File Browser, Finder, Transcript, FastTable, диалоги и окна) и большая чистка кода виртуальной машины.
Масштаб работы команда оценивает так: 978 влитых pull request только в репозитории Pharo, 616 закрытых задач с момента Pharo 13. Проект сейчас насчитывает 432 форка и 1 494 звезды на GitHub. Кроме того, в каждый релиз входят отдельные проекты: NewTools, Spec, Iceberg, Roassal, Microdown, BeautifulComments и pharo-vm. Анонс подписан «Команда Pharo» и благодарит сообщество, которое вносило правки, сообщало об ошибках и участвовало в обсуждениях.
Ключевые факты
- Pharo 14, релиз открытого объектно-ориентированного языка и среды; весь стек под лицензией MIT, код на GitHub.
- Инструменты: добавлены Mission Control и Pulse (замена Spotter), переработан Method Browser, переписан Settings Browser, Epicea и ProfStef влиты в NewTools.
- Виртуальная машина: поддержка RISC-V в JIT, объединение кадров и управления стеком, прямое выделение в old-space и улучшения сборщика мусора.
- Рефакторинг перенесён на архитектуру на драйверах с единым реестром команд; в командной строке появились тестирование, отладчик и инструменты для скриптов Sindarin.
- Релизы переехали с весны (март, май) на осень (сентябрь, ноябрь); Pharo 14 вышел первым по новому графику. В релиз вошли 978 pull request и 616 закрытых задач.
Почему это важно
Pharo, нишевая, но живая среда разработки, и новая версия показывает, куда она движется. Заметны два сдвига: переезд инструментов на единый стек Spec/NewTools и масштабная чистка виртуальной машины с добавлением RISC-V в JIT, что, по словам команды, расширяет охват платформ. Кроме того, проект впервые выпускает версию по осеннему графику вместо весеннего. Причина переноса в анонсе не названа. Прямого отношения к ИИ релиз не имеет.
Кому это важно
Прежде всего тем, кто уже пишет на Pharo и пользуется его инструментами: Spotter заменён на Pulse, изменились Method Browser и Settings Browser. Также релиз интересен авторам библиотек и фреймворков для Pharo, разработчикам виртуальной машины и тем, кого привлекает идея «живой» среды с мгновенной обратной связью и своеобразным отладчиком, где можно перезапускать выполнение методов и создавать методы на лету.
Как это применить
Скачать Pharo можно на pharo.org/download, описание возможностей, на pharo.org/features, документация, на pharo.org/documentation. Весь стек открыт и распространяется по лицензии MIT, исходники лежат на GitHub. Инструкций по переходу с Pharo 13 и списка несовместимых изменений в анонсе нет, поэтому перед переносом существующего проекта стоит искать их отдельно.
Можно ли доверять
Источник, официальный анонс на сайте проекта, подписанный «Команда Pharo»; это самоописание релиза, а не независимая оценка. Числа (978 pull request, 616 закрытых задач, 432 форка, 1 494 звезды) приведены самой командой. В тексте остался незаполненный шаблонный фрагмент про число участников («more than [X] contributors»), поэтому реального числа авторов релиза в нём нет. Бенчмарков для изменений виртуальной машины, RISC-V JIT и сборщика мусора не приводится.
Риски и подводные камни
Заявления о RISC-V и улучшениях памяти не подкреплены замерами производительности. Не описано, какие изменения ломают совместимость с Pharo 13: переработанные и заменённые инструменты (Spotter → Pulse, Settings Browser, миграция Epicea и ProfStef) могут потребовать привыкания. Сдвиг релизного окна на осень стоит учитывать тем, кто планирует обновления проектов по календарю.
«Pharo, это объекты и сообщения до самого низа.»
— из описания языка в анонсе Pharo 14 на pharo.org