Здравствуйте, Alex EXO, Вы писали:
AE>Все же java очень сильно располагает к писанию в стиле "стадо бизонов, несущееся по прериям..." AE>... в смысле "смотреть не надо, думать — тоже... надо трясти".
То-есть все ж сам язык предрасполагает ? Или просто укрепилась некая порочная традиция ?
Здравствуйте, Gaperton, Вы писали:
C>>Можно сказать, что на ней как правило работают менее квалифицированные программисты, чем на Эрланге.
G>С какой стати? Эрланг существенно проще явы — нет там никакого "порога вхождения", и в Эриксоне на Эрланге пишут те же самые люди, что и на яве с С — т.е. самые обыкновенные. AXD301 писали две сотни самых обыкновенных программеров.
Ответ заодно и gandalfgrey.
Возможно, Эрланг и проще (я, вообще, в ФП слаб весьма, поэтому спорить не буду ). Но это не важно, на яве просто больше программистов, и их средний уровень неизбежно ниже.
При всей практичности ФЯ, они — диковина, которую можно с интересом поковырять. А интересом к ковырянию обладают, как правило, неглупые люди. Вот и объяснение.
Здравствуйте, Cider, Вы писали:
C>Возможно, Эрланг и проще (я, вообще, в ФП слаб весьма, поэтому спорить не буду ). Но это не важно, на яве просто больше программистов, и их средний уровень неизбежно ниже. C>При всей практичности ФЯ, они — диковина, которую можно с интересом поковырять. А интересом к ковырянию обладают, как правило, неглупые люди. Вот и объяснение.
Вот уж нет ! мои нынешние подчиненные — люди, совершенно несклонные к ковырянию чего-либо ради собственного интереса. Однако это не мешает им вполне прилично писать на Ерланге и на Тикле. Ежели бы проект был на ++, к примеру, то было бы просто затруднительно найти подходящих по уровню людей. А так — взяли ! и полетело ! 8)
Здравствуйте, gandalfgrey, Вы писали:
G>Вот уж нет ! мои нынешние подчиненные — люди, совершенно несклонные к ковырянию чего-либо ради собственного интереса. Однако это не мешает им вполне прилично писать на Ерланге и на Тикле. Ежели бы проект был на ++, к примеру, то было бы просто затруднительно найти подходящих по уровню людей. А так — взяли ! и полетело ! 8)
А можно чуть подробней, где вы Эрланг применяете? Можно в приват (т.е. мылом).
Здравствуйте, Курилка, Вы писали:
К>А можно чуть подробней, где вы Эрланг применяете? Можно в приват (т.е. мылом).
Ничего потаенного тут нет.
раньше я на нем писал всякую телеметрию. не телекомовскую, а приборную — удаленный сбор и обработка данных энерго-/водо-/прочего потребления.
Сейчас — действительно крупный проект, распределенная система обработки муниципальной ( и не только ) информации. Процессор правил, скрипты на своем языке, гибкая логика...Понятно, что повышенная надежность и уменьшенная ресурсоемкость, ибо у клиентов обычно стоят тухленькие машинки
Делаем собственно движок ( который практически закончен — разве что новые фичи добавляем ) и обвязку для конкретной области применения — Паспортный Стол.
Сервер на Ерланге, со встроенными языками скриптов и описания форматов запросов.
Клиент на Тикле. Правда, мы его мутировали практически в Смоллток путем написания небольшого фреймворка.
Заказчики пищат и алчут ! Очередь уже не малая выстроилась.
Затраты на разработку : чуть меньше 4 человеколет. Оценить оные затраты для других платформ я не берусь.
Вот...Ежели есть вопросы — то пожалуйста.
Здравствуйте, gandalfgrey, Вы писали:
G>Делаем собственно движок ( который практически закончен — разве что новые фичи добавляем ) и обвязку для конкретной области применения — Паспортный Стол. G>Сервер на Ерланге, со встроенными языками скриптов и описания форматов запросов.
А зачем ещё скрипты не на эрланге?
Какие-то отдельные правила обработки запросов?
А DSL (насоклько я понимаю у вас это он и выходит) на Эрланге использовать насколько удобно?
G>Клиент на Тикле. Правда, мы его мутировали практически в Смоллток путем написания небольшого фреймворка.
А почему именно тикль? Из каких соображений принималось решение?
G>Вот...Ежели есть вопросы — то пожалуйста.
Эрлангеры не нужны?
Здравствуйте, Курилка, Вы писали:
К>А можно чуть подробней, где вы Эрланг применяете? Можно в приват (т.е. мылом).
Вдогонку :
Кроме Ерланга и Тикля, была еще неделя работы на Це — это когда я писал package для Тикля, чтоб он по нативному ерланговскому протоколу общаться мог. Благо либы шли в поставке OTP Erlang, мне пришлось только к стаб написать
Здравствуйте, gandalfgrey, Вы писали:
G>Здравствуйте, Курилка, Вы писали:
К>>А можно чуть подробней, где вы Эрланг применяете? Можно в приват (т.е. мылом). G>Вдогонку : G>Кроме Ерланга и Тикля, была еще неделя работы на Це — это когда я писал package для Тикля, чтоб он по нативному ерланговскому протоколу общаться мог. Благо либы шли в поставке OTP Erlang, мне пришлось только к стаб написать
Т.е. интеграция была сделана без особых проблем при том, что как таковой её в эрланге нет?
Здравствуйте, Курилка, Вы писали:
К>А зачем ещё скрипты не на эрланге?
А потому, что они ПОЛЬЗОВАТЕЛЬСКИЕ. Сиречь — наладчики и сисадмины потребителей смогут их писать/дописывать/переписывать. И ориентированы они на модель представления и взаимодействия знаний.
К>Какие-то отдельные правила обработки запросов?
Есть и такое. Это набор жестких правил, прошиваемых в плагины. Ежели представить модель знаний как многогранник, то правила — это ребра многогранника. При изменении одной вершины правила меняют связанные с ней вершины. Понятно, что правило для каждого ребра может быть индивидуальным.
К>А DSL (насоклько я понимаю у вас это он и выходит) на Эрланге использовать насколько удобно?
Весьма ! Обсуждение и формирование синтаксиса в бумажном виде заняло в 5 раз больше времени. ДСЛ при помощи комбинаторов генерит лямбду, коя и выполняется затем.
К>А почему именно тикль? Из каких соображений принималось решение?
Простота и скорость написания довольно сложного ГУЯ, легкость в освоении. Ну, и малая ресурсоемкость. На одной из машин у заказчика стоит 24 мега памяти. Тормозов нет 8)). К тому же — не нужна инсталляция
К>Эрлангеры не нужны?
Вот сдадим пилотный проект, и посмотрим !
Здравствуйте, Курилка, Вы писали:
К>Т.е. интеграция была сделана без особых проблем при том, что как таковой её в эрланге нет?
Готовой — нет, но есть либа, реализующая ерланговский протокол на C.
А для тикля есть крайне полезная вещь CRITCL, которая позволяет писать С/С++ код прямо внутри тиклевого, и после препроцессинга получать package со всеми стабами, сгенерированными автоматически. Очень удобно.
А проблем — нет.
Здравствуйте, gandalfgrey, Вы писали:
G>Здравствуйте, Курилка, Вы писали:
К>>А DSL (насоклько я понимаю у вас это он и выходит) на Эрланге использовать насколько удобно? G>Весьма ! Обсуждение и формирование синтаксиса в бумажном виде заняло в 5 раз больше времени. ДСЛ при помощи комбинаторов генерит лямбду, коя и выполняется затем.
А общедоступных примеров такого нет в интернете, не знаешь? Как-то эрланг до сих пор с ДСЛ не ассоциировался у меня.
К>>А почему именно тикль? Из каких соображений принималось решение? G>Простота и скорость написания довольно сложного ГУЯ, легкость в освоении. Ну, и малая ресурсоемкость. На одной из машин у заказчика стоит 24 мега памяти. Тормозов нет 8)). К тому же — не нужна инсталляция
Интересно.
Надо почитать на досуге, просветиться, а то кроме того, что есть такое даже особо и не знаю к своему стыду
К>>Эрлангеры не нужны? G>Вот сдадим пилотный проект, и посмотрим !
Здравствуйте, Курилка, Вы писали:
К>А общедоступных примеров такого нет в интернете, не знаешь? Как-то эрланг до сих пор с ДСЛ не ассоциировался у меня.
Да полно ! Ссылок не сохранил,но, думаю, найдешь без труда. Ключевые слова yecc ( генератор парсеров ) и leex ( генератор токенайзеров )
К>Интересно. К>Надо почитать на досуге, просветиться, а то кроме того, что есть такое даже особо и не знаю к своему стыду
Весьма рекомендую. Как говорится, дешево и сердито 8))
К>Где читать новости об этом?
Где-то у нас была вики..Да сюда же и кину новость ! Скоро, скоро...
Здравствуйте, gandalfgrey, Вы писали:
G>Здравствуйте, Alex EXO, Вы писали:
AE>>Все же java очень сильно располагает к писанию в стиле "стадо бизонов, несущееся по прериям..." AE>>... в смысле "смотреть не надо, думать — тоже... надо трясти". G>То-есть все ж сам язык предрасполагает ? Или просто укрепилась некая порочная традиция ?
В java скорее традиция... а язык — не бъет по рукам.
То есть он как раз бьет... но разработчикам. И создает некоторую халяву прожект манагерам
(та же заточенность под рефакторинги выливается порой в "а нафига думать над постановкой").
Здравствуйте, gandalfgrey, Вы писали: К>>Надо почитать на досуге, просветиться, а то кроме того, что есть такое даже особо и не знаю к своему стыду G>Весьма рекомендую. Как говорится, дешево и сердито 8))
По поводу tcl/tk...
Не так давно ту же либу поддержали в Ruby.
Посмотрел, передрано один в один, даже дополнительные скриптовые контролы воспроизведены под теми же именами.
Так что вот — более привычная альтенатива, с объектностью и всем прочим.
Правда работает несколько меделнне — раза в 2,5... но если у клиента нормальные компы — не критично.
Здравствуйте, Alex EXO, Вы писали:
AE>По поводу tcl/tk... AE>Не так давно ту же либу поддержали в Ruby. AE>Посмотрел, передрано один в один, даже дополнительные скриптовые контролы воспроизведены под теми же именами. AE>Так что вот — более привычная альтенатива, с объектностью и всем прочим. AE>Правда работает несколько меделнне — раза в 2,5... но если у клиента нормальные компы — не критично.
Tk на очень многих языках подерживается, есть даже биндинг на С++ (эмуляция tcl на шаблонах ).
Мне больше всего понравилось как сделано в питоне (tkinter) вот там на самом деле объектностость очень по месту и удобно использовать. Хотя руби вариант еще не видел нужно посмотреть.
Здравствуйте, FR, Вы писали: FR>Tk на очень многих языках подерживается, есть даже биндинг на С++ (эмуляция tcl на шаблонах ).
Вот в том то и дело, что на шаблонах... Обычно интегрируют только сам Tk. Это просто.
Но это очень мало. Это только низкоуровневое ядро.
Очень много возможностей в tcl/tk над ним на скриптах и дополнительных библиотеках.
Нужны еше как минимум:
— база опций (чтобы не зашивать цвета шрифты и прочее в код)
— tktable
— blt
В Ruby это все перенесли (и еще кучу разности), как в питоне — не знаю...
Здравствуйте, Alex EXO, Вы писали:
AE>Здравствуйте, FR, Вы писали: FR>>Tk на очень многих языках подерживается, есть даже биндинг на С++ (эмуляция tcl на шаблонах ).
AE>Вот в том то и дело, что на шаблонах... Обычно интегрируют только сам Tk. Это просто. AE>Но это очень мало. Это только низкоуровневое ядро. AE>Очень много возможностей в tcl/tk над ним на скриптах и дополнительных библиотеках. AE>Нужны еше как минимум: AE>- база опций (чтобы не зашивать цвета шрифты и прочее в код)
Не совсем понял, имеешь в виду типа такого Button(background = "red").pack()?
AE>- tktable
это есть, насколько помню на sourceforge сразу с питоновским модулем идет (кстати многие Tk бибиотеки идут сразу с биндингом на питон, тот же Tix например)
AE>- blt
?
AE>В Ruby это все перенесли (и еще кучу разности), как в питоне — не знаю...
В питоне вроде можно найти практически все что есть под tcl.
Здравствуйте, FR, Вы писали:
AE>>- база опций (чтобы не зашивать цвета шрифты и прочее в код) FR>Не совсем понял, имеешь в виду типа такого Button(background = "red").pack()?
Я я имею в виду вынесение настроек в базу данных опций (на основе чего шикарно делаются "темы").
Для твоего примера — так:
MyApp.*.modal_dlg.*.Button bg red
MyApp.*.modal_dlg.*.Button fg black
то есть "для всех объектов класса Button, лежащих в поддереве modal_dlg..."
Здравствуйте, Alex EXO, Вы писали:
AE>>>- база опций (чтобы не зашивать цвета шрифты и прочее в код) FR>>Не совсем понял, имеешь в виду типа такого Button(background = "red").pack()?
AE>Я я имею в виду вынесение настроек в базу данных опций (на основе чего шикарно делаются "темы"). AE>Для твоего примера — так:
AE>MyApp.*.modal_dlg.*.Button bg red AE>MyApp.*.modal_dlg.*.Button fg black
а загружаются они случайно не так: "option readfile $filename"?
если да, то у питона с этим проблем быть не должно, т.к. он является оберткой над тк.