Squeak или Pharo для начинающих Smalltalker?

Я Rubyist, который только начинает баловаться Smalltalk и пытаюсь выбрать реализацию для экспериментов. Кажется, что Squeak или Pharo были бы хорошим выбором, но у меня возникли проблемы с поиском текущей информации, которая помогла бы решить, какой из них будет лучше. Многое из того, что я нахожу с помощью поиска в Google, появилось пару лет назад и может быть уже неактуально.

Есть ли явный фаворит в эти дни? Если нет, то каковы плюсы и минусы каждого?


person gregspurrier    schedule 08.12.2011    source источник


Ответы (8)


В какой-то степени это вопрос личного вкуса. Pharo — это форк Squeak, призванный сделать его более современной версией Smalltalk, иногда за счет отказа от обратной совместимости со Squeak.

Pharo, будучи форком, также означает, что у них много общего, от виртуальной машины до огромных частей библиотеки классов. Многие дополнительные пакеты работают с обоими из них, а некоторые разрабатываются с помощью Squeak в качестве основной платформы разработки, и я думаю, что немного большее их количество разработано в Pharo (Seaside, Pier и т. д.). Оба варианта имеют бесплатные вводные книги: Squeak by Example и Pharo by Example, но Pharo кажется более современным.

Лично я предпочитаю Pharo, так как он дает мне ощущение чистоты и современности.

person Davorin Ruševljan    schedule 08.12.2011

Другой вариант изучения Smalltalk – Cuis.

Из описания:

Cuis отличается от других вариантов Squeak тем, что активно относится к сложности системы: по мере того, как системы стареют, они обычно становятся более сложными. Новые функции добавляются как слои поверх того, что находится ниже, иногда без реального понимания этого и почти всегда без его изменения. ... Единственный способ избежать этого - понять всю систему и постоянно перепроектировать всю систему. Делайте это просто и последовательно.

Код находится на Github. Последние файлы изображений находятся здесь.

Cuis имеет около 600 классов. Это делает очень выполнимым для одного человека, чтобы понять все. Позже вы, возможно, захотите переключиться на Squeak, Pharo или другой Smalltalk, поскольку подавляющее большинство классов и методов совместимы.

person z--    schedule 08.02.2013
comment
600 классов по сравнению с 7000 классами фаро. Совсем неплохо, это более чем в 10 раз проще, я обязательно посмотрю на CUIS. На самом деле в pharo даже больше классов, чем в Java 7 и Java 5 вместе взятых: D title="сколько классов в стандартной версии Java"> stackoverflow.com/questions/3112882/ - person Kilon; 24.09.2013
comment
Я обновил веб-ссылку на репозиторий Cuis github. Начиная с версии 4.2 есть новый репозиторий. - person z--; 24.09.2013

Есть несколько интересных возможных отправных точек:

  • Seaside-один клик, чтобы заняться веб-разработкой;
  • MOOSE одним щелчком мыши выполняет реинжиниринг программного обеспечения и создает обозреватели моделей и визуализации;
  • Pharo одним щелчком мыши, чтобы следовать книге Pharo на примерах (более актуальной, чем писк) с более чистой библиотекой;
  • Cuis для очищенной графической модели (Morphic);
  • EToys в один клик, если вас интересуют образовательные аспекты;
  • Нажмите один щелчок, чтобы создать среду с множеством интересных инструментов и игрушек.

Объясните больше о том, чего вы хотите достичь, и мы сможем помочь вам лучше

person Stephan Eggermont    schedule 08.12.2011

Сейчас наибольшей популярностью пользуется Pharo, так что я бы пошел туда. Второе место занимает Visual Works. Просто будьте осторожны, ни один из диалектов Smalltalk сейчас не пользуется большой популярностью.

Мое рассуждение выглядит следующим образом. Сегодня Smalltalk используется для двух целей: веб-программирования и исследований. В обоих случаях Pharo имеет преимущество (Seaside использует Pharo в качестве платформы по умолчанию, а Университет Лилля выпускает больше всего статей по Smalltalk — все они построены на Pharo).

Третье, для чего используется Smalltalk, хотя и в меньшей степени, — это разработка банковского программного обеспечения. Там VW по-прежнему популярен. Кроме того, у VW самый приятный инспектор объектов.

person nes1983    schedule 08.12.2011
comment
№ 4. Я пишу десктопные приложения (и даже шелл-скрипты) с Pharo ;) Можно мне одному остаться?! - person Sean DeNigris; 01.03.2013

Может быть явный фаворит, но вы должны разработать его для себя.

Фаро и писк имеют много общего. Но так как фаро является ответвлением от скрипа, это также означает, что они расходятся друг от друга.

Если вы посмотрите с точки зрения изучения smalltalk, то оба равны. Если посмотреть с точки зрения поддерживаемых технологий, то ситуация может быть несколько иной. Большинство разработчиков либо пищали, или фараоны. А разработчики создают библиотеки и фреймворки, поддерживающие технологии. Если разработчик библиотеки является фароером, я ожидаю, что библиотека будет лучше поддерживаться в фаро, чем в скрипке (и наоборот).

Вероятно, вам следует взглянуть на оба и попробовать то, чего вы хотите достичь. В большинстве случаев опыт будет таким же. Как только он перестанет быть прежним, вы, возможно, уже узнаете своего фаворита.

person Norbert Hartl    schedule 08.12.2011

Я делаю серию руководств по использованию писка с самого начала поэтому, естественно, я предвзято отношусь к Писку. Конечно, я не боюсь использовать другую вилку, чтобы проще всего продемонстрировать определенные пакеты. Например, я использую изображение пирса одним щелчком мыши, чтобы представить Seaside и Pier, и это в основном Pharo.

person Community    schedule 22.12.2011
comment
О, классно. Я посмотрю видео. - person gregspurrier; 24.12.2011

Хотя это и не совсем реализация Smalltalk, не следует упускать из виду новояз. Пока еще не производственная среда, но если вы разрываетесь между Аланом Кеем и Николасом Виртом, поскольку эксперты по языку новояз подобен Комбинация Smalltalk и Modula2.

person Brian Atkins    schedule 11.09.2013

Существует также VisualAge (VAST) от Instantiations и недавняя версия Smalltalk/X, обе из которых имеют схожий интерфейс, который, в свою очередь, сильно отличается от Pharo или Squeak. Я использую Pharo для своих исследований, домашних проектов и некоторых доказательств концепций. Мой корпоративный программный пакет написан на VAST/VASmalltalk/VisualAge, какое бы имя вы ни предпочли. Кроме того, помните, GNUSmalltalk.

person Dusty    schedule 09.12.2011