Если у клиента не будет желания высокого качества услуг, то и предоставляющему услугу не будет резона услугу улучшать. Короче роль терпилы плохо влияет на развитие рынков.
О да, их пинают за родную реализацию. Просто видите ли, есть тонкая грань — нет неких adobe-адептов, которые рассказывают про gnash под linux, они просто предоставляют свой плеер. А вы постоянно ссылаетесь на убогий moonlight — ну блин, не могу я посмотреть сайты под сильверлайтом, поэтому никогда и не задумаюсь над использованием этой технологии, пусть она хоть HD по модему стримит.
Чтобы вы не говорили, а я вот читал гетзефакс — более фееричного бреда нет даже не ЛОРе. Примером может служить история самарской компании Весна, найдите ради интереса. Правда если вы не специалист по Cisco, то может и не поймете в чем прикол.
Еще раз — возвращаясь уже к этой теме — я пробовал moonlight, не смог посмотреть библиотеку ЕБН. Все, закончили с маркетоидными отписками, имейте совесть.
Возможно, что у торнадо меньше накладных расходов на абстракциях, так как он гораздо менее универсален, но на приложении не hello world эта разница быстро съедается реальными задачами.
Ну и есть ли у торнадо средства для работы с memcache и тп? Возможно ли на торнадо легко и просто реализовать какой то протокол?
В общем в этом вопросе я заодно с авторами twisted — торнадо это обделенный функциональностью велосипед. Я после вашего комментария специально пошел и посмотрел в его код — мон блин! Они даже в пул тредов не удосужились скинуть работу с БД!
По-моему никаких проблем — еще глядишь в curl какой-нибудь добавят. А уж в скриптовые языки и подавно, как только программисту более менее серьезного уровня это понадобится.
Смотря какая БД. Если postgres, то есть pgasync для Twisted. Да, не для торнадо, но я в нем смысла не вижу. Вообще советую ознакомится именно с Twisted — он не заточен на HTTP only. Реализации mysql на твистед не встречал, но вообще стоит осмотреться — есть много чего готового.
А особенно меня просто убил параметр у функции callback в tornado: ) до такого уродства надо было додуматься.
А что за методы? Никакие гринлеты не помогут сделать синхронное асинхронным — гринлеты это средство скрыть асинхронность. Поэтому если блокирующие методы это какие то вычислительные задачи, то треды или мультипроцессинг, или что-нибудь готовое для этих целей.
По-моему обоснования выше, а вам стоило уже писать опровержения. Меня вот MS совсем не радует, потому что ни чего не меняется — все также они переизобретают все, что уже кем то сделано, и все также первый блин у них комом. Примеры — Win2000, Vista, этот планшет.
Как и чем измерить прирост продуктивности или же его падение, я, к сожалению, не в курсе — не имею таких навыков.
А баги — ну была мысль ломать модуль socket или что то в этом духе — поймаешь программу, которая socket пытается использовать, и сразу предупреждение. Хотя как я понимаю с драйвером mysql вот не сработает — он, наверное, питоновский сокет и не использует. В общем по хорошему как то надо универсально заблокировать сетевые операции, идущие мимо twisted, и тогда потенциальных проколов будет меньше.
С другой стороны подкладывание соломки это, как мне кажется, не python way. В питоне же нет приватных методов у классов и тп — рассчитано, что программист знает, что он делает.
Для асинхронности во всех фреймворках фактически одно главное место, куда ее надо вкручивать — БД. Я сейчас не готов сказать, возможно ли куда то в pylons вкрутить асинхронность, не знакомился с этим фреймворком.
Если быть точным, то wait оборачивает асинхронный код, позволяя мимикрировать коду высшего порядка под синхронный. Или по другому — код высшего порядка может быть написан в обычном синхронном стиле, если использует для обращений в БД и тп, код обернутый в wait, а сам вызов этой библиотеки обернут в наш декоратор.
Ну и есть ли у торнадо средства для работы с memcache и тп? Возможно ли на торнадо легко и просто реализовать какой то протокол?
В общем в этом вопросе я заодно с авторами twisted — торнадо это обделенный функциональностью велосипед. Я после вашего комментария специально пошел и посмотрел в его код — мон блин! Они даже в пул тредов не удосужились скинуть работу с БД!
А особенно меня просто убил параметр у функции callback в tornado: ) до такого уродства надо было додуматься.
А баги — ну была мысль ломать модуль socket или что то в этом духе — поймаешь программу, которая socket пытается использовать, и сразу предупреждение. Хотя как я понимаю с драйвером mysql вот не сработает — он, наверное, питоновский сокет и не использует. В общем по хорошему как то надо универсально заблокировать сетевые операции, идущие мимо twisted, и тогда потенциальных проколов будет меньше.
С другой стороны подкладывание соломки это, как мне кажется, не python way. В питоне же нет приватных методов у классов и тп — рассчитано, что программист знает, что он делает.
github.com/Deepwalker/deepwalker_sandbox