Образ в Smalltalk аналогичен машине VMware: это просто замороженное состояние работающего приложения Smalltalk. Все Smalltalks используют изображения, и разработка с одним из них является предпочтительным способом разработки на всех Smalltalks. Точно так же все Smalltalks компилируются в байт-код и запускаются на виртуальных машинах, как это делают Java, .NET, Python и другие. Но это совершенно не связано с тем, какую программу вы используете для разработки программы Smalltalk, и насколько она ощущается.
Как уже упоминали другие, Squeak на самом деле поставляется с очень хорошей IDE, а именно со всеми Squeak. Тем не менее, я не думаю, что это то, что вы на самом деле спрашиваете. Насколько я понимаю, ваш вопрос: один или оба:
- Могу ли я разработать для Smalltalk инструменты, с которыми я знаком, методами, знакомыми мне? Например, для каждого отдельного файла в обычном текстовом редакторе?
- Могу ли я создавать нормально выглядящие приложения, используя Smalltalk?
Могу ли я разработать для Smalltalk инструменты, с которыми я знаком?
В ответ на первый вопрос: почти для всех Smalltalks нет. Формат файла Smalltalk был разработан для работы в среде IDE Smalltalk, а не непосредственно в текстовом редакторе. Вот почему Squeak, Pharo, VisualWorks, VisualAge и все другие Smalltalk, которые я когда-либо использовал, избегают прямого редактирования исходного кода и вместо этого предоставляют свои собственные пользовательские IDE. Поскольку эти инструменты являются кроссплатформенными, их IDE, как правило, не являются родными, а скорее представляют собой эмулированное кроссплатформенное ощущение. В то время как вы можете редактировать источник напрямую для всех этих систем (например, вы можете отредактировать файл foo.sources
для изображения Squeak, а затем использовать браузер изменений для загрузки ваших изменений), на самом деле никто не может делает это.
Есть два пути, которые могут сделать вас счастливее в этом отношении. Во-первых, как уже отмечали другие, GNU Smalltalk ломает шаблон и, фактически, имеет удобный для редактирования формат на основе файлов. GNU Smalltalk плохо работал в Windows, которую я проверял в последний раз, и имеет лицензию GPL, что может быть проблемой для вас. Но это позволяет вам использовать редактор по вашему выбору. И vim, и Emacs имеют подсветку синтаксиса для GNU Smalltalk, и хотя я не знаю пакета для NetBeans, Emacs или одного из других основных IDE, написать его будет не очень сложно.
Второй путь, который вы могли бы выбрать, если ваша единственная забота состоит в том, чтобы Squeak выглядел «некрасиво», это использовать Dolphin Smalltalk . Dolphin Smalltalk - это версия Smalltalk для Windows. Хотя его будущее в настоящее время сбивает с толку, вы, возможно, захотите взглянуть на него, поскольку вы, вероятно, почувствуете себя намного лучше дома в его родной среде, если Squeak беспокоит вас.
Можно ли создавать нативные приложения?
Если вы хотите по-настоящему родные виджеты, у вас есть несколько вариантов на данный момент. Dolphin предоставляет нативные виджеты, но, как я упоминал ранее, его будущее в настоящее время неопределенно. Squeak, VisualWorks и GNU Smalltalk предоставляют хорошие системы FFI, и поэтому вы можете создавать собственные пользовательские интерфейсы, но это будет сравнительно трудным и сложным. Итак, в основном: если это очень важно для вас, тогда прямо сейчас , использование Smalltalk может быть не лучшим вариантом.
Обратите внимание, что существует много приложений, для которых наличие родных виджетов не важно. В играх и киосках, разумеется, нет необходимости использовать стандартные виджеты, но если вы посмотрите вокруг, очень немногие основные приложения потрудятся использовать их. Собственные продукты Microsoft славятся тем, что имеют индивидуальный внешний вид, Chrome выглядит забавно неуместно на всех платформах, на которых он работает, iTunes невероятно популярен, несмотря на то, что выглядит действительно странно в системах Windows, и так далее. Обилие интерфейсов на сайтах также лучше приспособило людей к нестандартным интерфейсам. Так что есть реальная возможность, что вам просто все равно - и, поскольку интерфейс Squeak очень тематический, сделать его "красивым", когда вы близки к доставке, не составит труда.
(GNU Smalltalk имеет очень хорошие привязки Gtk +, которые могут быть приемлемы для вас, в зависимости от того, что вы пытаетесь сделать. Существуют основные приложения, такие как GIMP и Pidgin, написанные против Gtk +, которые прекрасно выглядят в Windows. Тем не менее, я бы простил вас за то, что вы не сочли это приемлемым вариантом.)
Моя рекомендация
Если честно, я настоятельно рекомендую вам найти один из Smalltalks с IDE, который вам нравится, и использовать его. Вы будете гораздо продуктивнее, чем пытаться использовать текстовый редактор, будь то закрытый, например, Eclipse, или дрянной, как Scite. Если вы пойдете другими путями, вам будет очень не хватать величия Smalltalk: нет REPL, неполноценная отладка, неполный просмотр кода и т. Д.
Если вы настаиваете на использовании традиционной среды разработки, лучшим вариантом будет GNU Smalltalk. Вы должны тщательно оценить, довольны ли вы ее стабильностью и производительностью в Windows, прежде чем использовать ее, и убедиться, что вас устраивают последствия ее лицензии GPL, но если это так, то это единственный Smalltalk, который действительно и действительно поддерживает модель разработки на основе файлов.