Ruby and Its Neighbors: Smalltalk
Smalltalk оказал значительное влияние на Ruby, хотя его синтаксис практически не перешёл в Ruby. Основное влияние проявилось в объектно-ориентированных принципах, особенно в идее, что все данные являются частью объектной системы. В отличие от Perl, автор статьи работал с Smalltalk несколько лет и считает его одним из любимых языков, хотя вряд ли будет использовать его снова.
Smalltalk возник в Xerox PARC, той же команде, что создала графический интерфейс, Ethernet и лазерный принтер. В 80-90-х годах Smalltalk был коммерческим продуктом (ObjectWorks/VisualWorks), широко использовался в авиационной промышленности и для проектов, лёгших в основу экстремального программирования. В 1995 году бывшие сотрудники Xerox PARC в Apple выпустили Squeak — открытую реализацию Smalltalk, написанную в основном на самом себе, что обеспечило её лёгкую переносимость. В отличие от большинства современных языков, Smalltalk развивался независимо от Unix/C, представляя собой собственную операционную систему с уникальным синтаксисом и интегрированной средой разработки.
Комментарии (124)
- Smalltalk-80 и его наследие: образ системы (image) как способ распространения состояния, но его нет в современных системах, что делает Smalltalk-80 уникальным.
- Проблема в том, что Smalltalk-80 не имеет синтаксиса, который бы соответствовал современным ожиданиям, и это делает его непривлекательным для новых разработчиков.
- Ruby унаследовал объектную модель Smalltalk, но не его среду разработки, что делает Smalltalk-80 уникальным в своем роде.
- Сообщество Smalltalk активно разрабатывает Pharo и другие современные реализации, но они не могут конкурировать с уже устоявшимися языками, потому что не имеют большой экосистемы.
- Проект, который начинал как Smalltalk-80, теперь может быть выжившимся только как встроенный язык в некоторых проприетарных системах.
The Unix Executable as a Smalltalk Method [pdf]
Исследователь из Карлова университета предлагает отождествить Unix-исполняемые файлы с методами Smalltalk, открывая путь к объединению этих систем. Хотя Unix и Smalltalk существенно различаются в деталях, они демонстрируют поразительные сходства в своей общей структуре. Автор утверждает, что если файлы Unix соответствуют объектам Smalltalk, то исполняемые файлы должны соответствовать методам, а процессы — активациям этих методов. Это позволяет легко реализовать Smalltalk VM через файловую систему Unix.
Однако серьезные накладные расходы, связанные с Unix-процессами, ставят под сомнение практическую реализацию этого подхода. Тем не менее, автор видит несколько путей решения этой проблемы, которые позволят реализовать преимущества Smalltalk в Unix без изоляции в герметичной среде. Такое объединение сохранит плюральность языков Unix, в отличие от необходимости писать все методы на Smalltalk, и позволит преодолеть фрустрацию от существующих, но недостаточно развитых возможностей Unix в области персистентности, динамического обновления ПО, единообразия и открытости GUI.
Комментарии (14)
- Пользователи обсуждают, что Xerox PARC мог бы стать основой для UNIX, но вместо этого остался в истории как упущенная возможность.
- Конференция ICFP/SPLASH 2024 стала поводом вспомнить о том, как давно не было никаких прорывов в области ОС и языков программирования.
- Участники обсуждают, что современные исследования в области ОС и языков программирования не предлагают ничего нового, а лишь переосмысливают старые идеи.
- Участники также отмечают, что даже такие концепции как компонентное программирование и модулярность, которые когда-то были новаторскими, сегодня являются лишь переосмыслением старых идей.
- В обсуждении также поднимается вопрос о том, что сообщество открытого кода могло бы внедрить эти идеи, но вместо этого сосредотачивается на полемике вокруг лицензий и "open source"-а.