Pharo 6.0 имеет новую систему управления изменениями кода и 64-разрядные версии для Linux и OSX. Pharo-это язык с открытым исходным кодом, вдохновленный Smalltalk, и основная библиотека.
Все в языке Фаро является объектом в смысле объектно-ориентированного программирования. Язык динамически типизирован; наследование простое; управление памятью осуществляется автоматически с помощью сборщика мусора, а его синтаксис очень прост и мал. Существует значительное сообщество Pharo, и разработчики регулярно совершают коммиты и почти ежедневно исправляют ошибки. Язык имеет несколько способов взаимодействия с C, а также библиотеки Java и JavaScript.
Новая 64-разрядная версия повышает производительность и стабильность, но разработчики отмечают, что это новая технология, которая по-прежнему показывает сбои при небольшом количестве тестов.
Новая система управления изменениями кода называется Epicea. Он предназначен для облегчения просмотра и восстановления кода. Он предназначен для разработчиков, которые не используют git, и вместо того, чтобы иметь файлы .changes, он позволяет вам видеть, что вы изменили в данном сеансе.
Еще одним дополнением является интегрированная поддержка Git с помощью простого в использовании инструмента для управления репозиториями и коммитами. Новый инструмент называется Iceberg и включен в качестве предварительного просмотра для Pharo 6 с планами сделать его по умолчанию в Pharo 7.
В других местах интерфейс унифицированных внешних функций (UnifiedFFI) для взаимодействия с внешним миром значительно улучшен, и теперь Pharo можно загрузить из исходного кода, управляемого Git.
PharoVM теперь является частью инициативы OpenSmalltalk. OpenSmalltalk-это кросс-платформенная виртуальная машина для Squeak, Pharo, Cuis и Newspeak. Предыдущие выпуски Pharo использовали вилку CogVM, которая затем была перенесена на GitHub и переименована в OpenSmalltalkVM. Разработчики Pharo 6 теперь объединили свои изменения обратно в основной репозиторий виртуальных машин OpenSmalltalk.
Другие изменения в новом выпуске включают введение неизменяемости объектов, альтернативных наборов байт-кодов и замыканий блоков, независимых от внешнего контекста. Говорят, что новый релиз улучшил модульность и стал быстрее. Виртуальные машины, по-видимому, на 200 процентов быстрее, в то время как использование FastTable способствует повышению производительности графического пользовательского интерфейса. FastTable-это повторная реализация списков Pharo, которые используются для отображения данных.Источники данных для старых списков были ограничены парой сотен строк, и предыдущие реализации обрабатывали элементы списка как большую коллекцию виджетов морфинга, что было очень медленно. FastTable решает эту проблему, используя реализацию на основе источника данных, которая создает экземпляры своих элементов только тогда, когда им нужно показать их.