Мнения непросвещённого меня
5/3/08 16:26![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
rad:
что думаешь о Питоне с Руби?
какой за ними сегмент в будущем?
sin:
Питон в самой моде. Чуть ли не третий после ВБ и Джавы :)
Но как платформа незрелый - в старнадртной библиотеке даже нет приличных тредов. А это значит, и в виртуальной машине тоже.
Но выжить и отхватить хороший сегмент может.
С Раби ещё хуже. Ты читал "Rails is a ghetto"? Чего ждать от виртуальной машины, которую надо перестартовывать минимум раз в час?
Мне кажется, что оно держится, в основном, на авторитете Фаулера.
Ещё автор говорит, что в моду входят Lua и Factor - совсем молодые и сырые.
А ещё Haskell входит-входит, да никак не войдёт.
rad:
но на Руби-то пишут... даже в Киеве
sin:
Про Lua я узнал случайно, от Мутеля. Почти всё о нём рассказано в статье Википедии.
Factor - только из той ругательной статьи про рельсы.
Haskell - это чистая функциональщина, нам, императивщикам, на неё перестраиваться будет тяжело.
sin:
Пишут. Мода и Фаулер.
На Пайтоне ещё больше пишут.
Соврамши. Интересно, откуда я выдрал информацию о тредах. Сейчас как ни ищу, не могу найти того, что где-то прочитал - что всем тредам выдаётся один приоритет и т.п. Спасибо,
gabriel_irk. Нынешние треды совершенно нормальные, а Stackles Python даёт совершенно новые для нас, алголоподобных, приёмы.
что думаешь о Питоне с Руби?
какой за ними сегмент в будущем?
sin:
Питон в самой моде. Чуть ли не третий после ВБ и Джавы :)
Но как платформа незрелый - в старнадртной библиотеке даже нет приличных тредов. А это значит, и в виртуальной машине тоже.
Но выжить и отхватить хороший сегмент может.
С Раби ещё хуже. Ты читал "Rails is a ghetto"? Чего ждать от виртуальной машины, которую надо перестартовывать минимум раз в час?
Мне кажется, что оно держится, в основном, на авторитете Фаулера.
Ещё автор говорит, что в моду входят Lua и Factor - совсем молодые и сырые.
А ещё Haskell входит-входит, да никак не войдёт.
rad:
но на Руби-то пишут... даже в Киеве
sin:
Про Lua я узнал случайно, от Мутеля. Почти всё о нём рассказано в статье Википедии.
Factor - только из той ругательной статьи про рельсы.
Haskell - это чистая функциональщина, нам, императивщикам, на неё перестраиваться будет тяжело.
sin:
Пишут. Мода и Фаулер.
На Пайтоне ещё больше пишут.
Соврамши. Интересно, откуда я выдрал информацию о тредах. Сейчас как ни ищу, не могу найти того, что где-то прочитал - что всем тредам выдаётся один приоритет и т.п. Спасибо,
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Tags:
(no subject)
5/3/08 16:23 (UTC)Насчёт одного языка - это, наверное, слишком сильное утверждение. Как и мои в посте, впрочем. Вот тут
Скажем так: модель тредов в Java/.NET меня более-менее устраивает, и она полнофункциональна. В отличие от Python.
В POSIX она полнофункциональна, но слишком низкоуровневая.
А с RoR - там течёт (или текла полгода назад) именно виртуальная машина. Да так, что её под не самой сильной нагрузкой приходилось рестартовать каждые 4 минуты (!!!). Зед довёл это время до часа.
И альтернатив или не было, или их давили.
Это то, как я помню статью, я могу ошибаться в подробностях.
(no subject)
5/3/08 16:38 (UTC)shared memory, mmap это все пожалуйста. Но по умолчанию ни байта общего между разными потоками выполнения.
Erlang спасает именно то, что в нем фактически нет переменных. Там переменными называются символы с однократным присваиванием. Присвоил - и изменить уже нельзя.
Что касается Ruby, то это вполне адекватный инструмент для СКРИПТОВ. Проблема на самом деле та же самая - все на свете запихнуть в один общий процесс. А вы так не делайте. Не для того десятилетиями разрабатывали механизмы защиты памяти в процессорах.
Пусть виртуальная машина стартует и завершается десять-сто раз в секунду, она легкая, процессор потянет. Зато никаких проблем с утечками.
(no subject)
5/3/08 16:46 (UTC)В Inferno, например, взаимодействие потоков идёт строго через типизированные send/receive/reply. Изначально безопасные.
Функциональные языки я, тем не менее, уважаю. И где-то жалею, что не работаю на чём-то из них.
По RoR - сам не изучал, но понял Зеда так, что фреймфорку необходимо быть запущенным постоянно. Потому что как ни крутись, делать полностью stateless сервер - не всегда разумно. Поэтому RoR пока отметим как незрелый.
Сам же Ruby на 90% популярен благодаря Rails, не так ли? Иначе это будет just another scripting language, мало кому интересный.
(no subject)
6/3/08 04:26 (UTC)Когда я смотрел на _модель_ тредов в стандартной библиотеке Python, она была _та же самая_, что и в Java. Именно списанная с Java, о чём было написано в комментарии к классу Thread. Хотя там есть и более старая модель многопоточности.
А вообще, я щас ковыряю Stackless Python - крайне интересная разработка, в которой с тредами, возможно, даже _лучше_, чем в Java. :)
(no subject)
6/3/08 10:05 (UTC)Тогда я о нём зря плохо думал. Сейчас смотрю в документацию - очень приличный API.
Про Stackless слышал. Да, да. У этой штуки есть будущее! :)
(no subject)
7/3/08 03:51 (UTC)Но они значительно хуже вписываются в существующее окружение и слишком мало распространены. :(