Мне очень нравится живая среда smalltalk (хотя я только немного поэкспериментировал с Pharo), но есть одна вещь, по которой я не могу использовать ее для повседневной разработки. Кажется, что невозможно создать собственный автономный исполняемый файл из системы smalltalk. Собственный автономный исполняемый файл означает создание одного исполняемого файла (PE в Windows, ELF в Linux, Mach-O в macosx), который пользователь может запустить, дважды щелкнув его, без необходимости установки каких-либо дополнительных сред выполнения. Я что-то упустил, и на самом деле можно создать собственный автономный исполняемый файл с помощью smalltalk?
Если говорить конкретно о Pharo. Я знаю, что среда Pharo включает эффективный своевременный компилятор (который генерирует настоящий собственный код из байт-кода виртуальной машины Pharo), я знаю, что образ виртуальной машины можно урезать, вырезав код, который моему приложению никогда не понадобится. Итак, в основном у нас уже есть почти все (кроме компоновщика, я думаю), чтобы иметь возможность создавать собственные автономные исполняемые файлы. Кросс-компиляция тоже не должна быть проблемой, если мы поместим в образ весь материал для генерации кода (для всех целевых процессоров).
Я знаю, что в мире smalltalk считается хорошим делом доставлять весь образ виртуальной машины отдельно от среды выполнения, чтобы пользователь мог взломать программное обеспечение, которое он / она использует. Однако я не вижу веских причин, по которым ваша программа smalltalk не может быть предоставлена в виде полностью скомпилированного автономного исполняемого файла. Не могли бы вы объяснить мне, почему это не обычное дело в мире smalltalk? Есть ли какая-нибудь хорошая реализация smalltalk, позволяющая это сделать?
Подводя итог всему этому. Я мечтаю о живой среде smalltalk, в которой я мог бы разрабатывать и тестировать свое программное обеспечение, а затем (когда программное обеспечение действительно готово к доставке) кросс-компилировать его в нативные исполняемые файлы для Windows, Linux и macosx с моей единственной машины разработки. Это было бы действительно здорово.