Писк или Pharo для начинающего Smalltalker? - PullRequest
37 голосов
/ 08 декабря 2011

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

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

Ответы [ 8 ]

28 голосов
/ 08 декабря 2011

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

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

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

10 голосов
/ 08 февраля 2013

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

Из описания:

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

Код на Github.Самые последние файлы изображений здесь .

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

10 голосов
/ 08 декабря 2011

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

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

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

5 голосов
/ 09 декабря 2011

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

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

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

5 голосов
/ 08 декабря 2011

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

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

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

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

3 голосов
/ 11 сентября 2013

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

3 голосов
/ 22 декабря 2011

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

2 голосов
/ 09 декабря 2011

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

...