Появилась новая версия языка самопрограммирования с новыми системами управления версиями для его ключевых подсистем.
Self-это язык программирования, который первоначально финансировался Sun, в то же время, когда он также финансировал Java и TCL, еще в середине 1990-х годов. Затем Sun решила сосредоточиться на Java, и с тех пор Self разрабатывался в основном энтузиастами. Self состоит из пользовательского интерфейса и среды программирования, поэтому вы можете создавать и изменять объекты полностью в среде IDE, а затем сохранять объекты в файлы для целей распространения.
Self основывает свою обработку объектов на подходе, используемом в Smalltalk, но с использованием прототипов, а не классов. В Self вы создаете объекты непосредственно, определяя коллекцию слотов — методов, возвращающих значения. В Self нет класса и нет наследования, но объекты могут делегировать метод родительскому объекту.
Другое большое различие между Self и другими языками заключается в том, что программы строятся с использованием постоянного подхода. То есть программа-это не только ее исходный код, но и вся ее среда памяти, включая любые объекты, которые были созданы в более раннее время. Это подход к программированию, который почти вымер, но теперь делает небольшое восстановление в виде множества пользовательских интерфейсов REPL для таких языков, как Python.
Новая версия Self (названная Мандарином в честь утки — предыдущая версия была Кряквой), имеет ряд новых функций. Новая система управления версиями была применена к выпуску в целом и к ключевым подсистемам, а именно к виртуальной машине, ядру, морфологии и разработчикам.
Есть новый объект about, который доступен из главного меню и предоставляет информацию о системе. По-прежнему на стороне системы для доступа к системным настройкам можно использовать новый объект preferences. У составителей есть новая система тематизации, и внешний вид был улучшен.
В более практическом плане категории объектов были широко реорганизованы в глобальные, чтобы сделать глобальные объекты более легко обнаруживаемыми и понятными. В скрипте worldbuilder.self появилась новая опция, позволяющая полностью автоматизировать создание собственных миров, задав параметры подсистемы в командной строке.
Добавлены три новых вспомогательных метода строк:
сплитОн:
Присоединяйтесь:
ломтик:
В других местах транспортер теперь знает, что код находится в нескольких независимых деревьях. В предыдущей версии весь код рассматривался как находящийся в одном дереве Self. Поддержка нескольких деревьев означает, что вы можете создавать отдельные проекты и хранить их в отдельных репозиториях управления версиями.
Наконец, для стандартизации методов ведения журнала в Self был включен общесистемный регистратор, а веб-сервер был перемещен в отдельный репозиторий на Github.