Мнения непросвещённого меня
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 14:41 (UTC)(no subject)
5/3/08 14:43 (UTC)(no subject)
5/3/08 14:47 (UTC)Или переходить быстро с языка на язык?
(no subject)
5/3/08 14:50 (UTC)(no subject)
5/3/08 15:13 (UTC)Ну и всё-таки еще есть места, где нужны плюсы. И соотвественно, при нормальном уровне там будет нормальная зарплата за счет редкости.
(no subject)
5/3/08 15:24 (UTC)(no subject)
5/3/08 17:01 (UTC)(no subject)
5/3/08 17:10 (UTC)(no subject)
5/3/08 20:10 (UTC)А уж вариаций на тему Windows.Forms так вообще завались (на вскидку: MFC, ATL ...)
(no subject)
5/3/08 20:13 (UTC)А Boost - это хорошо. Но попробовавши её скомпилировать, я проклял слово template до последней ветви синтаксического дерева, и все реализации компилятора. А где мы видим его out-of-box, в рабочем состоянии?
(no subject)
5/3/08 20:25 (UTC)Буст тут порой пользуют в банках (сам под раздачу не попал, но ребята с прошлой работы в обном проекте юзали ... и матом крыли темплейты).
(no subject)
5/3/08 20:34 (UTC)Но многие ли из сиплюсплюсников понимают хотя бы семантику слова synchronized? Тредпулы, самые простые RPC (кроме тех, кто страдал с Корбой на C++), и те де и те пе.
А это всё стандартна библиотека, как и многое другое :)
Я это всё доучивал потом...
(no subject)
5/3/08 20:45 (UTC)В джавке, а особенно шарпе, просто свели старые идеи в удобоваримый вид, выбросив лишнее. И ошли рсти дальше Ж;о)
(no subject)
5/3/08 20:49 (UTC)Среднестатистический же сиплюсплюсник до них дорастает чёрт-те когда. А на более высокоуровневых платформах этот список освоить намного проще - порог вхождения ниже.
(no subject)
5/3/08 20:57 (UTC)Но, опять-же, это никак не ломает потулат Костика, который и обсуждаем Ж%-)
(no subject)
5/3/08 20:59 (UTC)(no subject)
5/3/08 21:02 (UTC)(no subject)
14/3/08 15:27 (UTC)С тредами проблем нет. Темплейты -- вообще лучшее что есть в с++.
За памятью следят только сишники -- у ни имижд такой.
Единтсвенная проблема -- это GUI. Вот для этого и пользуем ждава.
(no subject)
14/3/08 15:31 (UTC)Синхронизировал не-volatile память между потоками? Использовал тредпулы, или разделённые между тредами ресурсные пулы?
Сколько месяцев может активно проработать какая-либо из этих программ, без перезапуска, на скольки пользователях?
А с ГУИ "и у Бога те же проблемы" - он сам по себе сложен и tightly coupled.
(no subject)
Posted by(no subject)
Posted by(no subject)
Posted by(no subject)
Posted by(no subject)
5/3/08 20:41 (UTC)(no subject)
5/3/08 20:13 (UTC)А вот обратно (Костик прав) - да, проблематично. И хочется долго материться
(no subject)
5/3/08 20:35 (UTC)(no subject)
5/3/08 20:45 (UTC)(no subject)
5/3/08 20:47 (UTC)Тем более, что ходим от темы ж%)
(no subject)
5/3/08 20:50 (UTC)Подозреваю, что на 50% вопрос сведётся к конкретному программисту.
(no subject)
5/3/08 16:40 (UTC)(no subject)
5/3/08 16:58 (UTC)Или с блейдмассивами по пол-ночи считающими на основе килотонн данных?
(no subject)
5/3/08 20:11 (UTC)(no subject)
5/3/08 20:26 (UTC)На ближайшее время это не так.
(no subject)
5/3/08 20:40 (UTC)(no subject)
5/3/08 16:11 (UTC)В Tcl и Perl вообще пошли по пути "пусть ОС думает, что это тред, с точки зрения скрипта это будет отдельный процесс (интерпретатор)".
Так что "приличные треды" - это еще не показатель.
Что касается "Rails is a ghetto", то не следует распространять на весь язык беды одного конкретного фреймворка.
Из того что на C написали глюкавую Windos 95, не следует что на этом языке нельзя сделать приличную системв, например Windows XP.
(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)Но они значительно хуже вписываются в существующее окружение и слишком мало распространены. :(
(no subject)
5/3/08 20:09 (UTC)(no subject)
5/3/08 19:58 (UTC)(no subject)
5/3/08 20:00 (UTC)(no subject)
5/3/08 20:49 (UTC)Lua - давно уже не молодой язык, и с весьма чёткой спецификацией. Используется как встроенный скрипт в некоторых сложных системах, типа игрушек. Там нет сырости, там есть сознательные ограничения на стадии дизайна.
На Ruby даже в Днепре пишут. Я написал в ЖоЖо, что Рельсы выучил - меня в 2 места позвали. Не пошёл :>
Заметных утечек не видел. Хотя память оно любит. Один инстанс приложения под Монгрелом хавает мег 50. Но в дальнейшем не разбухает. Впрочем, большой нагрузки не было. Рельсы - это всё ж приятный инструмент. Атакующий (типовые) проблемы создания веб-приложений сразу с нескольких сторон.
В Erlange действительно идеологически правильная многоздачность, а также fault-tolerантность. За счёт, естественно, отказа от сайд-эффектов (точнее, их изоляции в inter-process communications).
Про алголоподобные языки говорить не буду. Стараюсь поменьше ими интересоваться в эти дни. Да и в самом деле, что там может быть нового со времён Алгола-68 и PL/1 ? :>
(no subject)
5/3/08 20:54 (UTC)Но они до сих пор не могут определиться, вводить ли шестой тип данных - int.
Но вообще да, в нынешней нише он полон и замечателен, а general-purpose языком ему не бывать.
(no subject)
14/3/08 15:47 (UTC)Понравилось.
Хотя жду ( а может уже есть ) более продвинутого boost::python.