Добрый день!
Хочу попросить помочь с выбором диалекта Smalltalk и заодно ответить на ряд вопросов. Суть работы: сейчас с другом работаем над системой автоматизации бизнеса. Архитектура - распределенная, клиент-серверная (распределенным является сервер). Все это будет идти под одной из открытых лицензий. Пока основная работа над сервером в разгаре - я имею время поиграться с ЯП и написать клиент на чем захочу. На данный момент разработку веду на Racket/Racket-GUI (ввиду того, что лучше знаю lisp-семейство и tcl). Но хотелось бы брать именно Smalltalk так как от программы потребуется: - хорошая кастомизация, идея того, чтобы вся программа была "обазом" на подобии образа smalltalk'a. Идея в том, чтобы клиент весил по разному, скажем для бухгалтера и менеджера (так как работают в разных модулях)+подготовка готовых сборок (образов) для разных типов сотрудников (вместо нудной настройки под каждого - воткнул образ и работай); - кроссплатформенность; - сильная работа со списками и строкам (сервер будет отсылать данные виде списков и строк); - визуализация всего и вся; - клиент - не web-приложение (сервер веб-приложений будет делаться отдельно, пока он не приоритете). Ввиду этого появился вопрос - какой диалект Smalltalk под это может подойти лучше и почему? И самое главное - какую более или менее современную книгу можно взять по диалекту (русский желателен, но не обязателен)? Если Pharo/Squeak - то есть ли возможность не отображать "рабочий стол". Еще раз отмечу, что проект "для себя" и поэтому времени достаточно для изучения и реализации на том, что больше понравится. З.Ы.: Сразу хочу уточнить, языков знаю достаточно много (в том числе и которые позвволяют решить быстро задачу "в лоб", без фишек типа "образа"), но цели - сделать качественно и, по возможности, обучиться Smalltalk на практике сложной программы. Заранее благодарю!
-- -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out. |
CONTENTS DELETED
The author has deleted this message.
|
In reply to this post by Дмитрий Шевелёв
По поводу использования образа. С одной стороны. "Бесплатный" Smalltalk-овский image-based persistence довольно неплохо (в паре со средствами контроля кода) работает во время разработки. Но именно в паре с возможностью выгрузки кода во внешние источники. Использовать его в "продакшне" в теперешнем виде — либо практически невозможно, либо очень сложно. К огромному сожалению и даже стыду за Smalltalk (или, скорее, за Smalltalk-еров), но это так — в качестве подтверждения можно посмотреть, сколько развелось фреймворков для использования внешних SQL и NoSQL баз данных. GemStone, в котором с этим все хорошо, является по своей сути сервером и не имеет GUI. С другой стороны, ничего невозможного нет. Если есть четкое понимание, чем может быть полезен образ в конкретной задаче, то попробовать все-таки проработать этот вопрос можно… и может быть даже нужно. GUI Опять же… С одной стороны, Morphic — идея очень мощная. С другой — реализована она в Squeak/Pharo… не буду пытаться быть дипломатичным — ну очень плохо. С третьей стороны, люди пользуются и довольно успешно. Из русских Smalltalk-еров можно попросить поделиться впечатлениями Дениса Кудряшова — он успешно использует Morphic в реальном коммерческом проекте, но проект достаточно специфичный. В общем, здесь тоже нужно быть осторожным. А что имеется ввиду под требованием "не отображать рабочий стол"? По поводу остальных "требований" С кроссплатформенностью в классических Smalltalk-ах обычно все хорошо. С коллекциями работа отличная. А с https://code.google.com/p/xtreams/ — еще лучше. Еще я бы все-таки рассмотрел повнимательнее вариант с веб-клиентом (на основе Amber-а). Учитывая то, что могут делать современные JS-овые библиотеки, да с возможностью соединяться по тому же WebSocket-у… Тут, конечно, многое зависит от вашего протокола и сервера… Но лично для меня вариант Pharo в качестве сервера (может быть даже "промежуточного") и подключенного к нему клиента на Amber-е выглядит на данный момент очень многообещающим подходом. Опять же, не придется делать двух разных клиентов… Вообще, идея делать сервер на чем-то еще, а клиента на Smalltalk-е — несколько… эээ… нетрадиционная что ли. Современные "классические" Smalltalk-и сильны как раз в качестве серверов, а вот как клиенты — есть определенные сомнения. И еще надо понимать, что вообще решение писать на Smalltalk-е — это в наше время Поступок. Уже близко к поверхности смельчака ждет масса сложностей. В какой-то момент они могут показаться даже непреодолимыми… по крайней мере, будет казаться, что оно того не стоит. И лишь позже понимаешь, что на самом деле, в самом конечном итоге, стоит. Но до этого момента надо еще дотерпеть :) Да, чуть не забыл :) На чем делать-то… Конечно, Pharo смотреть в первую очередь. Потом или даже вместе с ним я бы посоветовал посмотреть Cuis (http://www.jvuletich.org/Cuis/Index.html) — возможно, там с GUI даже получше будет. Squeak — на последок или вообще не смотреть (не знаю, чем он здесь может быть лучше Pharo). VisualWorks не рекомендую, так как он в конечном итоге (вы же, наверное, планируете зарабатывать этим продуктом в перспективе?) стоит денег, и лично я сомневаюсь, что он сейчас этих денег реально стоит. Хотя, я несколько лет за ним почти не слежу — может в новых версиях есть ЧТО-ТО ТАКОЕ!… Остальное — либо не кроссплатформенное, либо без образов, либо я про него ничего не знаю :) Best regards, Dennis Schetinin On Wednesday, 6 March 2013 г. at 6:59, Дмитрий Шевелёв wrote:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out. |
Случайно наткнулся на старенькое уже сообщение, но понял, что может быть полезно — возможно, все не так плохо, как я представил:
Pharo Smalltalk - [ANN]: SimplePersistence 2.0 - now with fuel!
-- 6 марта 2013 г., 15:43 пользователь Dennis Schetinin <[hidden email]> написал:
Dennis Schetinin -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out. |
Gemstone может работать в паре с VW или VA обеспечивая репликацию обьектов, сообщений и пр. Этот интерфейс называется GemBuilder for Smalltalk http://community.gemstone.com/display/GSS64/GBS+Documentation. К сожалению бесплатная GLASS лицензия http://seaside.gemstone.com/docs/GLASS-Announcement.htm не дает возможности этот интерфейс, но если очень нужно, надо понять зачем, то можно попросить и возможно будет вам дано, под конкретный проект, с ограничениям временными и по мощности. Если же отступится от клиента и писать только web-приложение, то можно все делать под Gemstone. Или можно разработать под Pharo, а потом портировать в Gemstone через Monticello Browser. http://seaside.gemstone.com/tutorial.html
2013/3/7 Dennis Schetinin <[hidden email]> Случайно наткнулся на старенькое уже сообщение, но понял, что может быть полезно — возможно, все не так плохо, как я представил: -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу Russian Smalltalk User Group. Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email]. Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |