Здравствуйте, Буравчик, Вы писали:
Б>Да, смоллтолк крутейший язык. На мой взгляд, это такой упрощенный, объектно-ориентированный лисп. Он позволяет быстро создавать DSL и писать на нем.
Б>Но этот язык "был", сейчас его время ушло. Для промышленной разработки у него есть неустранимые недостатки:
Б>1. Библиотеки. В языке отсутствует модульность и неймспейсы, все классы живут в одной среде. Как интегрироваться с имеющимися библиотеками на си? Как создавать и распространять библиотеки и фреймворки?
Б>2. Инструменты разработки. С языком идет среда разработки, но она сильно интегрированная с самим языком. Да, это сильно меняет способ разработки, упрощает и делает ее более интерактивной. Но как расширять эту среду, как делать линтеры, анализаторы, профилировщики и т.п.?
Немного поигрался с Pharo. Там есть интеграция с Git. Можно распространять код через гитовые репозитории. Есть в интернете свой репозиторий, заточенный под смолток. Распространение библиотек — по-моему решаемая вещь.
Неймспейсы есть в VisualWorks, к которому нас не пущают (не открывают сайт). Когда-то лет 13-15 назад я с ним игрался. Мне VisualWorks понравился, правда тогда неймспейсов, возможно, что не было, или я не обратил внимания.
Судя по книжке по установке Seaside, нейсмспейсы в VisualWorks могут быть похожи на пакеты Common Lisp с той же идеологией импорта-экспорта символов, но я видел только издалека по короткому упоминанию.
И еще я заметил, что неймспейсы сейчас активно добавляют в Dolphin Smalltalk, который сделали бесплатным опенсорсом. Он только под винду, но GUI там шикарный, и есть возможность создания исполняемых двоичных файлов (как в тех же LispWorks и Allegro CL).
В принципе, даже если бы сделали неймспейсы по подобию пакетов из лиспа, то этого было бы вполне достаточно.
Для интеграции с языком C, я видел в Pharo вещи из FFI. Не вникал, но внешне похоже на привычный FFI.
На счет инструментов разработки не совсем понял, почему это настолько важный недостаток, да и недостаток ли.
В Pharo меня больше всего смутил способ деплоя десктопных приложений. Похоже, что нужно таскать с собой виртуальную машину, а еще нужно самому в полуручном режиме убирать из образа все лишнее. В итоге получится довольно увесистый архив, хотя жаберы/скалисты тоже кладут почти всегда в свои инсталяторы виртуальную машину джавы. Да и размером архива сейчас в 2024-м никого не удивишь, но все же!
Что касается VisualWorks, то он вроде как заточен под деплой десктопных приложений. А еще создавать приложения умеет Dolphin Smalltalk, о чем я написал выше.
Б>Сейчас у смоллтолка нет киллер-фичи. Да, жаль
Я сейчас офигеваю от концептуальной простоты смолтока, помноженной на его выразительность. Может быть, меня зацепит, как когда-то зацепили лисп и хаскель