Как узнать Фаро

Я установил Pharo 1.4 и попытался прочитать "Pharo на примере".

К сожалению, книга и изображение Pharo полностью не синхронизированы друг с другом: меню были разными; классов, используемых в качестве примеров, не было, например; Класс BouncingAtomsMorph.

Жаль. Возможно, следует использовать определенную версию Pharo для изучения, а другую - для обновления... может ли кто-нибудь помочь?

Ответ 1

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

ProfStef go.

в рабочей области. Просто введите его в рабочее пространство, выберите его, щелкните правой кнопкой мыши, Сделайте это

Существует также сборник Pharo, который имеет интересные вещи. И есть Pharocasts, которые помогут вам узнать что-то интересное.

Также вы можете задать здесь вопросы о переполнении стека тегами или если это более общее, и люди помогут вам.

Ответ 2

Как сказал @Sharphawk, есть изображение которое будет использоваться с книгой, доступной с домашней страницы. Это немного устарело, но оно должно быть синхронизировано с книгой.

Pharo просто слишком быстро развивается для нас, чтобы идти в ногу с книгой (все еще есть много глав), поэтому с недавними изображениями вам придется немного адаптироваться и обнаружить немного. К счастью, есть много других ресурсов, где вы можете получить помощь: здесь, конечно, списки рассылки для book и для сам Pharo, IRC-канал # pharo-project на irc.freenode.net, книги и скринкасты, на которые указывает @uko и т.д.

Из опыта Smalltalk намного легче учиться с помощью некоторых исследований и наставничества

Ответ 4

Поскольку ваш вопрос немного расплывчатый (понятно), и я не знаю вашего фона или ваших потребностей, я попытаюсь дать краткий обзор Pharo, чтобы вы знали, где искать, поскольку вы получаете больше опыт и ваши потребности развиваются.

Основы языка

Как отметил Уко, если вы новичок в Smalltalk, лучший способ начать работу должен следовать учебному пособию проф. Стефа. Это познакомит вас с основными аспектами языка. Для быстрой справки вы можете использовать Pharo Cheatsheet.

Основной инструмент

После завершения учебного курса вы должны ознакомиться с инструментами, чтобы вы могли эффективно работать в Pharo. Жизненно важные инструменты, как вы, наверное, уже знаете, - Браузер классов, Инспектор и Отладчик.

Изучение примеров кода

В браузере классов есть много полезных функций, в частности, он позволяет вам искать систему для ссылок на методы и классы, указывая на конкретные примеры кода. Вы можете щелкнуть правой кнопкой мыши по любому методу, а затем выбрать "Отправители..." в контекстном меню. Аналогично, для классов вы можете искать ссылки (Analyze → Class Refs). Это расскажет вам, как используются определенные классы и методы, и чаще, чем быстрее, вы получите быстрее информацию, которая вам нужна.

Другим незаменимым инструментом является Spotter (shift-enter), который обеспечивает простой в использовании интерфейс для просмотра системы (для классов и примеров). Но вам придется использовать последнюю версию Pharo.

Обзор экосистемы

Таким образом, экосистема Pharo довольно велика, и вам потребуется некоторое время, чтобы получить максимальную отдачу от нее (я уже довольно давно работаю с Pharo, и мне еще нужно многому научиться).

В зависимости от ваших потребностей, Pharo может многое предложить:

  • Roassal (для программного обеспечения и визуализации данных)
  • Glamourous Toolkit (GT) (включая Spotter, отладчик и инспектор). GT позволяет вам настроить все свои инструменты. Например, вы можете настроить инспектор очень легко, чтобы иметь вид объектов для ваших объектов. Множество встроенных библиотек, таких как PetitParser, имеют настраиваемые интерфейсы, которые позволяют более эффективно работать с объектами.
  • Морфий для написания графических интерфейсов. Существует также Spec, DSL, построенный поверх морфика, который позволяет вам описывать пользовательские интерфейсы.
  • Monticello для управления версиями и создания пакетов, которые можно развернуть на другие изображения.
  • SUnit для написания тестовых файлов.

Roassal сильно отличается от Morphic, поскольку он предназначен для рендеринга графов всех видов в красивых макетах (хотя это возможно сделать и в Morphic, вам нужно написать много кода). Также Roassal использует векторную графику, Morphic - на основе растра. Если вы хотите писать графические интерфейсы или игру, я буду придерживаться морфика. Если вам нужно визуализировать данные, используйте Roassal.

Отличное введение в основные понятия Морфика дается Maloney (создатель Morphic). Некоторые имена классов изменились, но вы поймете это. Существуют также различные способы при обработке событий в Morphic. Один из способов - переопределить методы (например, вы используете другие объектно-ориентированные графические интерфейсы), другой способ - "маршрутизировать" события на методы. Я использовал оба метода, и я бы выбрал первый для более простых приложений.

Начните с простого проекта

Моим советом было бы начать с самых основ, лучше всего с небольшим проектом, например, с игрой, такой как Снейк. Добавляйте вещи, когда вы учитесь, и если вы застряли, не стесняйтесь задавать вопросы о stackoverflow. Кроме того, есть список рассылки Pharo. Я обнаружил, что сообщество Pharo/Smalltalk очень приветствует.

Мой последний совет был бы: Держите вещи простыми. Это не всегда легко сделать, но Smalltalk - отличная среда для изучения этого принципа. Вы также хотели бы взглянуть на Kent Beck Best Practice Patterns, если вы ищете способы организации своего кода.

Удачи!

Править: воскрешение Святой нити! Я только понял, что вопрос уже более 4 лет. Ну, может быть, этот пост, если какая-то помощь другим новичкам.