Создание приложений для начинающих на Smalltalk

Я новичок в технологии Smalltalk. Мой опыт программирования связан с C и C ++. Я хотел бы понять методологию проектирования smalltalk. Может ли кто-нибудь предложить несколько простых приложений реального времени, разработанных на smalltalk, которые могут помочь новичку вроде меня исследовать возможности smalltalk. В настоящее время я экспериментирую с обучением smalltalk на Pharo.


person Sourav    schedule 10.08.2011    source источник


Ответы (4)


Один из лучших ресурсов для изучения Smalltalk - это почти бесконечный просмотр изображения Smalltalk кончиками пальцев с помощью обозревателя классов. Практически весь язык и реализация IDE доступны для просмотра и даже отладки. Вначале это может быть ошеломляющим, по крайней мере, для меня, но это того стоит. Только не ждите, что за несколько вечеров вы его проглотите. А если вам действительно интересно, в Pharo и Squeak вы даже можете просматривать и взламывать свою собственную виртуальную машину.

Что касается других ресурсов, я искренне рекомендую его, если вы можете получить "Шаблоны проектирования Smalltalk" Кента Бека. Стефан Дукас собрал коллекцию бесплатных книг по Smalltalk: http://stephane.ducasse.free.fr/FreeBooks.html. Хотя он и не обновлялся в течение некоторого времени, часто задаваемые вопросы о Smalltalk Дэвида Н. Смита по-прежнему блестяще раскрывают многие не столь очевидные углы для новичков, а также для некоторых менее проницательных постоянных клиентов, таких как я.

Для приложений реального времени я не думаю, что есть какие-то жесткие приложения реального времени, такие как управление зажиганием двигателя внутреннего сгорания. Но есть много приложений, близких к реальному времени, например, я работал над системой биржевой торговли, написанной на Smalltalk, но, боюсь, она проприетарная. Что касается очень простых примеров, я думаю, что Seaside включает демонстрацию счетчика Comet, и я думаю, что Dolphin Smalltalk все еще включает пример чата.

В заключение вы обнаружите, что в Smalltalk все очень мало. От методов к дизайну. Настолько маленькое, что в первый момент начинаешь задумываться, ладно, все просто и очевидно, но где же «настоящие вещи»? Требуется время, чтобы осознать, что в Smalltalk настоящая вещь заключается в этой мелочи и ее взаимодействии. Это немного натянуто, но Smalltalk в некоторой степени похож на Haiku :)

Удачи и поменьше!

person Davorin Ruševljan    schedule 10.08.2011
comment
отличный ответ, от меня большой палец вверх, это как раз и есть сок smalltalk. Все дело в просмотре объектов и упрощении понимания того, почему и как что-то происходит внутри smalltalk. Я удивлен, что другие языки и IDE не сильно копируют это. - person Kilon; 22.08.2012

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

Если вы собираетесь создавать более традиционные приложения с графическим интерфейсом, это возможно. Но он становится все более нишевым. Вот как развертывать приложения, созданные в Pharo.

person nes1983    schedule 10.08.2011
comment
Отличная ссылка! Кроме того, вы говорите, что настольный компьютер в целом становится нишевым или что он становится нишевым специально для Pharo (чего я не заметил)? - person Sean DeNigris; 23.01.2013
comment
Последний. В 2011 году, когда я написал это, за Seaside все еще был какой-то импульс. - person nes1983; 23.01.2013

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

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

Также: начните читать Pharo by Example. И поймите, что большая часть документации Squeak переносится в Pharo, потому что Pharo разветвляется от Squeak. (Жаль, что в Pharo еще нет комплексных чисел.)

person Kristoff vdH    schedule 16.08.2011
comment
Да, исследуйте, исследуйте, исследуйте ... это способ Smalltalk. Используйте свой динабук ... Я имею в виду изображение;), чтобы выразить себя и узнать о вселенной :) - person Sean DeNigris; 23.01.2013

Я рекомендую приобрести себе копию Squeak. Хотя "Squeak" является диалектом Smalltalk, я настоятельно рекомендую пройти бесплатную загрузку книги в формате pdf Подать пример. Еще одна книга, которая, возможно, называется «Папа», - это Smalltalk 80, также известная как «Синий Книга". ВАШЕ ЗДОРОВЬЕ

person happy coder    schedule 13.01.2013