2009-12-18 5 views
9

Я действительно начинаю изучать Smalltalk. Теперь я использую Squeak, но есть способ разработки в Smalltalk без использования виртуальных машин, но что-то вроде IDE?Есть ли способ развиваться в Smalltalk без использования виртуальной машины?

+3

Я бы посоветовал привыкнуть к Squeak IDE. Это не так уж плохо, если вы привыкнете к этому; на самом деле, я слышал, что он действительно очень эффективен по сравнению с обычным циклом записи/компиляции/запуска. (Я только общался с ним, поэтому я не могу ручаться за него, но общий консенсус в том, что Smalltalk> традиционные IDE.) –

ответ

24

Изображение в Smalltalk аналогично машине VMware: это просто замороженное состояние запущенного приложения Smalltalk. Все Smalltalks использует изображения, а разработка с помощью одного из них является предпочтительным способом разработки во всех Smalltalks. Аналогично, все Smalltalks компилируются в байт-код и запускаются на виртуальных машинах, как и Java, .NET, Python и другие. Но это совершенно не связано с тем, какую программу вы используете для разработки программы Smalltalk, и как она ощущается на собственном опыте.

Как уже упоминалось, Squeak на самом деле поставляется с очень хорошей IDE —, а именно, всем Squeak. Однако я не думаю, что это то, о чем вы на самом деле спрашиваете. Насколько я могу понять, ваш вопрос один или оба:

  1. Могу ли я разработать для Smalltalk инструменты, с которыми я знаком, в знакомых мне методах? Например, в файловом режиме, в обычном текстовом редакторе?
  2. Могу ли я сделать обычные приложения с помощью Smalltalk?

Могу ли я разработать для Smalltalk инструменты, с которыми я знаком?

В ответ на первое: почти для всех Smalltalks, no. Формат файла Smalltalk был разработан для управления в среде Smalltalk IDE, а не непосредственно в текстовом редакторе. Вот почему 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 вас беспокоит.

Могу ли я создавать приложения, ориентированные на внешний вид?

Если вы хотите по-настоящему родные виджеты, у вас есть несколько вариантов на данный момент. Дельфин предоставляет собственные виджеты, но, как я уже упоминал ранее, его будущее в настоящее время неопределенно. 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, который действительно и действительно поддерживает основанная на файлах модель разработки.

+2

+1 Отличный обзор текущих параметров. Благодарю. –

+0

Не совсем: вы можете создавать приложения (даже не-gui, приложения командной строки) в Smalltalk/X, используя make и stc-компилятор (который также является инструментом командной строки). Сам ST/X построен без изображения и компилируется из отдельных файлов st-source. Но ST/X также включает в себя IDE, если вы предпочитаете. Поэтому в среде IDE создаются файлы и файлы. – blabla999

+0

Если вы не попали в наземные мины ... –

2

Использование виртуальной машины не мешает вам использовать IDE. Вопрос, который вы должны задать, - это какая у IDE хорошая интеграция Smalltalk. Squeak определенно способ пойти на Smalltalk IDE

Возможно, у других есть другие IDE, поскольку вы уже используете Squeak и, похоже, не довольны. Что именно вы ищете, что Squeak не предоставляет?

+2

Я хочу разрабатывать в Windows для Windows, не используя этот сложный интерфейс Squeak. –

4

Squeak является IDE. Концепция «IDE», возможно, пришла из Smalltalk! Возможно, вам нужен рабочий процесс с файловой ориентацией? GNU Smalltalk - это одна реализация, которая работает именно так.

+4

+1 Несмотря на мое утверждение, что такая вещь не будет Smalltalk больше, GNU Smalltalk, вероятно, очень близка к тому, что имел в виду OP. –

4

Как правило, ответ не является таковым, поскольку Smalltalk - это не просто язык, это тоже среда, включая изменения, которые вы им делаете. Вы могли бы перевести его в более статичную систему с каркасом, а не с вселенной живых объектов, но это было бы совсем иначе. NeXTSTEP и, таким образом, Cocoa по существу сделали это. Таким образом, ответ может быть «уверен, это называется Objective-C».

EDIT: Все, что сказано, см. Ссылку Логана на GNU Smalltalk.

1

Работать в изображении Squeak может быть очень весело.

Среда немного запутанна, но она очень мощная.

Работа в живой системе позволяет легко исследовать и изменять вещи. Вы можете взять объект на экране, посмотреть его состояние, поиграть с ним, просмотреть класс объекта, запустить некоторый код и увидеть изменение мира.

Браузер Smalltalk также гораздо более ориентирован на «просмотр» кода, чем написание его. Вы можете быстро найти все места, где используется класс (от компилятора до http-сервера), и понять, как все это сочетается.

Старайтесь привыкать к изображению какое-то время. Я думаю, что вы потеряете что-то, используя внешнюю среду IDE.

0

Если вы загружаете проект SVI из squeaksource, вы можете использовать привязки VI в инструментах Smalltalk. Я обновил его для запуска в Squeak 4.1, не уверен в 4.2.

 Смежные вопросы

  • Нет связанных вопросов^_^