Фэндом


Здесь вы можете задавать любые вопросы по Smalltalk (или связанные с ним) и вам непременно ответят.

Пожалуйста, выполняйте следующие несложные правила:

  • Постарайтесь как можно лучше сформулировать свой вопрос
  • Подписывайтесь, пожалуйста (удобнее всего это делать, зарегистрировавшись)
  • Старайтесь визуально отделять один вопрос от другого (например, горизонтальной чертой или с помощью заголовка)
  • Не стирайте чужие вопросы и ответы (по крайней мере, не обсудив это предварительно на странице обсуждения)

С какой реализации начать? Править

Так много разных реализаций...какая из них самая хорошая? Какую стоит качать и начиать работать? Assargadon 22:28, 18 июня 2006 (UTC)

Тут сколько людей - столько и мнений :-). Я считаю, что начинать лучше с VisualWorks
Плюсы VisualWorks:
  • Наверное, самая подробная документация.
  • В дистрибутив включено огромное количество компонентов, в том числе от других компаний/людей.
  • Даже используя некоммерческую лицензию, можно собирать самодостаточные программы (т.е. запускающиеся кликом по exe-файлу и скрывающие все ненужные девелоперские возможности). Вообще, некоммерческая версия VisualWorks абсолютно ничем не отличается по функциональности от коммерческой, разница исключительно в возможности продавать свою программу.
Минусы VisualWorks:
  • Очень большой размер дистрибутива - 650 Мб в базовой комплектации и 70 Мб минимально, если скачать только BaseVisualWorks.tar.gz и VM-Windows.tar.gz и устанавливать самому.
Другие считают, что лучше использовать для обучения Dolphin Smalltalk.
Плюсы Dolphin:
  • Небольшой размер дистрибутива - 19 Мб.
  • Внятная документация, вполне достаточная для обучения.
Минусы:
  • В бесплатной версии нельзя собрать самодостаточную программу.
  • Документация всё-таки победнее, чем в VisualWorks.
В плане удобства среды разработки VisualWorks и Dolphin примерно одинаковы.
--Eugenius 06:08, 19 июня 2006 (UTC)
Еще есть мнение, что начинать лучше со среды Smalltalk Express.
Плюсы Smalltalk Express:
  • Небольшой размер дистрибутива - примерно 4,5 Мб в архиве.
  • Среда бесплатна для скачивания и использования.
  • Есть документация НА РУССКОМ языке (см. сайт Ростовского Государственного университета), а также методические пособия, содержащих упражнения для самостоятельного обучения.
  • Среда не перегружена различными инструментами, содержит только самое необходимое, поэтому позволяет сосредоточиться на изучении концепции программирования в Smalltalk.
Минусы:
  • Среда уже не поддерживается производителем.
  • Для разработки оконного интерфейса предлагается минимальный набор компонентов.
  • Библиотека классов беднее по сравнению со средой Dolphin Smalltalk, не говоря уже о VisualWorks или VisualAge Smalltalk.
  • Для разработки серьезных приложений придется переходить на другую Smalltalk-среду.
--SergeySS 17:02, 7 декабря 2006 (UTC)
Ну не знаю, мне кажется что это не очень удачный вариант. Бесплатность - не такая уж и редкость (достаточно посмотреть на список существующих диалектов). Маленький размер дистрибутива тоже встречается у других диалектов (например, GNU Smalltalk - 4 Mb). Записать малое количество инструментов в плюсы - ну даже не знаю, что сказать :-). По-моему, чем удобнее среда, тем лучше в ней учиться. Т.е. по сути плюс только один - документация на русском языке. Но и тут Smalltalk Express - не исключение! :-). Есть книга "Объектно-ориентированное программирование для начинающих" (автор - А. С. Лесневский), в которой очень хорошо описывается Smalltalk на примере Squeak-а.
--Eugenius 15:23, 7 декабря 2006 (UTC)
Ну не знаю, стоит ли тут устраивать обсуждение, когда для этого есть специальный раздел :-) Все, что было записано в плюсы для Smalltalk Express является плюсами именно с точки зрения самостоятельного обучения отличительным особенностям, характерным для многих сред: идеалогии, синтаксису, общим приемам работы (т.к. имеются такие непривычные вещи как окно системной информации, браузер классов, возможность выполнения фрагментов программы из любого текстового окна, возможность внесения изменений в процессе выполнения и т.д.). Если разобраться с ключивыми моментами, то инструментальное разнообразие других Smalltalk-сред изучается легко. Книга Лесневского хороша, не спорю, но что еще есть по Squeak на русском? А по Smalltalk Express - минимум 3 различных русскоязычных источника информации. Удобство - вещь весьма относительная. Тот же Squeak по сравнению с другими версиями кажется весьма непривычным. По-моему на начальном этапе обучения хороша та среда, которая позволяет освоить азы, не пугаясь "кучи непонятных фенек". Возможности нужно расширять по мере роста потребностей, а вываливать на ученика сразу всю мощь VisualWorks или VisualAge Smalltalk, как показывает практика не совсем гуманно :-). Многие пугаются.
--SergeySS 21:20, 7 декабря 2006 (UTC)

Как продолжить? Править

Я уже немного знаю Smalltalk. Что стоит использовать для разработки "настоящих" приложений? Да еще так, чтобы не нарушать лицензий? Например тот же VisualWorks в самом дешевом варианте стоит по моим подсчетам около $14000 (на самом деле около $2000 в год, что с учетом дисконтирования дает как раз такую сумму). Assargadon 22:28, 18 июня 2006 (UTC)

Тут всё просто - если надо разрабатывать не только под Windows (или вообще не под Windows), то однозначно VisualWorks, альтернатив просто нет. Раньше можно было еще выбирать VisualAge for Smalltalk, но сейчас будущее этого диалекта под вопросом (IBM от него отказалась, а новый владелец, Instantiations, пока что никак себя не проявил). Если разработка планируется только под Windows, то можно посмотреть в сторону Dolphin Smalltalk. Что конкретно выбрать в этом случае - советовать не берусь, потому что это очень сильно зависит от задачи. Возможно, Вам поможет список существующих диалектов - там перечислены основные характеристики диалектов (и сред, соответствующих им).
Относительно же цены на VisualWorks - у меня несколько другие сведения :-). Насколько мне известно, цены у них начинаются с $350 за одного разработчика в год (некоторые говорят о $200) + 6% от прибыли, полученной от использования VisualWorks (замечу - именно от использования VisualWorks, а не всей прибыли, полученной от программы). Вообще, лицензии VisualWorks - это самая оберегаемая тайна Cincom ;-), поэтому лучше обратиться непосредственно к представителю Cincom и спросить у него. --Eugenius 06:22, 19 июня 2006 (UTC)
Именно так я и сделал. Откуда и получил эту цифру. Может быть как раз в этом и состоит причина секретности Цинкомовских лицензий. Правда, я узнавал для случая "небольшой отдел ИТ (до 3х человек) использует Smalltalk для внутрикорпоративных нужд небольшой фирмы" а не для случая "я пишу программы и продаю".
Ну, вообще говоря, для внутрикорпоративных нужд (тем более - небольшой компании) свободно можно использовать VisualWorks бесплатно :-) --Eugenius 15:29, 7 декабря 2006 (UTC)
Dolphin Smalltalk Professional Edition - $475 полная стоимость. Делаем "настоящие" приложения уже 6 лет. --DmitryZamotkin 08:05, 19 июня 2006 (UTC)

Instantiations себя проявил [1] VAST 7.0.1 доступен для скачивания и позволяет вести разработку под Windows, Linux, AIX, Solaris. Лицензия по-прежнему стоит дорого, но скачать и использовать для некоммерческих проектов можно. SergeySS 18:18, 8 декабря 2006 (UTC)

А можно ли использовать в коммерческих проектах Squeak? Обошел весь их сайт и прочитал лицензию, но не понял :( --AntonNepomnyaschih

Насколько я понимаю, можно, но указав в лицензии, что шрифты (если используются стандартные Squeak-овские) являются собственностью Apple. Если использовать бесплатные шрифты, то никаких ограничений вроде бы лицензия не накладывает. --Eugenius 07:39, 7 августа 2007 (UTC)

Переносимость *.st файлов Править

Как минимум VisualWorks и GNU Smalltalk умеют использовать *.st - файлы (других реализаций пока просто не видел). Насколько эти файлы стандартизированы? Можно ли использовать в разных реализациях один и тот же код?

Напрямую между диалектами - нет, не переносимы. У каждого диалекта формат свой, хотя в них и есть много общего. Но основная проблема "непереносимости" не в формате (формат-то преобразовать как раз несложно), а в несовпадении библиотек. Причём если совсем базовые вещи всё-таки более-менее стандартные (хотя и там есть свои нюансы), то в области UI или внешних вызовов ничего стандартного просто нет - в каждом диалекте сделано по своему. --Eugenius 15:31, 7 декабря 2006 (UTC)

Метапрограммирование в Smalltalk Править

Интересно какие проекты в Smalltalk сообществе близки к MetaProgrammingSystem от JetBrains и похожим системам, которые нацелены на создание инструментов для быстрого транслирования описания задач предметной области в компьютер )). http://jetbrains.com/mps. -- Injoy 13:34, 17 января 2007 (MSK)

Краем глаза видел слова MetaCase (фирма) и MetaEdit 4.5 (продукт). Подробностей не знаю -- Беркгаут 11:23, 18 января 2007 (UTC)

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики