Там какой-либо путь состоит в том, чтобы разработать в Smalltalk без Использования VM?

Я действительно начинаю изучать Smalltalk. Теперь я использую Писк, но существует какой-либо способ разработать в Smalltalk, не используя VMs, но что-то как IDE?

9
задан Seki 14 June 2015 в 09:53
поделиться

5 ответов

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

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

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

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

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

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

Если вам нужны действительно нативные виджеты, на данный момент у вас есть несколько вариантов. 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 . Вам следует внимательно оценить, насколько вы

24
ответ дан 4 December 2019 в 06:35
поделиться

Squeak is an IDE. The concept of "IDE" arguably came from Smalltalk! Do you perhaps want a "file oriented" workflow? GNU Smalltalk is one implementation that works that way.

5
ответ дан 4 December 2019 в 06:35
поделиться

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

РЕДАКТИРОВАТЬ: Все сказанное см. В ссылке Логана на GNU Smalltalk.

4
ответ дан 4 December 2019 в 06:35
поделиться

Using a VM does not prevent you from using an IDE. The question you should be asking is which IDE has good Smalltalk integration. Squeak is definitely the way to go for a Smalltalk IDE

Maybe others have other IDE's in mind, since you are already using Squeak and don't seem to be content. What exactly are you looking for that Squeak is not providing?

2
ответ дан 4 December 2019 в 06:35
поделиться

Working in a Squeak image can be really fun.

The environment is a bit confusing at first but it's very powerful.

Working in a live system makes it easy to explore and change things. You can take an object on the screen look at its state, play with it, browse the object class, run some code and see the world change.

The Smalltalk Browser is also much more focused on "browsing" the code than writing it. You can quickly find all the places where a class is being used (from compiler to http server) and understand how it all fit together.

Try getting used to the image for a while. I think you would loose something by using an external IDE.

1
ответ дан 4 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: