singalen: (Default)
[personal profile] singalen
rad:
что думаешь о Питоне с Руби?
какой за ними сегмент в будущем?

sin:
Питон в самой моде. Чуть ли не третий после ВБ и Джавы :)
Но как платформа незрелый - в старнадртной библиотеке даже нет приличных тредов. А это значит, и в виртуальной машине тоже.
Но выжить и отхватить хороший сегмент может.

С Раби ещё хуже. Ты читал "Rails is a ghetto"? Чего ждать от виртуальной машины, которую надо перестартовывать минимум раз в час?
Мне кажется, что оно держится, в основном, на авторитете Фаулера.

Ещё автор говорит, что в моду входят Lua и Factor - совсем молодые и сырые.
А ещё Haskell входит-входит, да никак не войдёт.

rad:
но на Руби-то пишут... даже в Киеве

sin:
Про Lua я узнал случайно, от Мутеля. Почти всё о нём рассказано в статье Википедии.
Factor - только из той ругательной статьи про рельсы.
Haskell - это чистая функциональщина, нам, императивщикам, на неё перестраиваться будет тяжело.

sin:
Пишут. Мода и Фаулер.
На Пайтоне ещё больше пишут.

Соврамши. Интересно, откуда я выдрал информацию о тредах. Сейчас как ни ищу, не могу найти того, что где-то прочитал - что всем тредам выдаётся один приоритет и т.п. Спасибо, [livejournal.com profile] gabriel_irk. Нынешние треды совершенно нормальные, а Stackles Python даёт совершенно новые для нас, алголоподобных, приёмы.

(no subject)

5/3/08 14:41 (UTC)
Posted by [identity profile] thurbo.livejournal.com
а как же С++\С#?

(no subject)

5/3/08 14:47 (UTC)
Posted by [identity profile] thurbo.livejournal.com
Жалко. Только вот недавно вроде выучил и он уже типа устаревший :(
Или переходить быстро с языка на язык?

(no subject)

5/3/08 15:13 (UTC)
Posted by [identity profile] green-serpent.livejournal.com
Ну так с плюсов на шарп перейти - фигня делов. Вот обратно - гораздо сложнее.
Ну и всё-таки еще есть места, где нужны плюсы. И соотвественно, при нормальном уровне там будет нормальная зарплата за счет редкости.
(deleted comment)

(no subject)

5/3/08 20:10 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Ну не знаю ... если С++ хорошо копнуть начинают вылезать всякие STL, Boost и т.п.
А уж вариаций на тему Windows.Forms так вообще завались (на вскидку: MFC, ATL ...)

(no subject)

5/3/08 20:25 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Вить, уходим в сторону от темы обсуждения. Вопрос был в сложности перехода с плюсов на шарп/джаву с точи зрения архитектуры. После плюсов с STL-ем стандартные пакеты/библиотеки последних щёлкаются на ура (всё ИМХО). Архитектурные решения проще. Соответственно, ни у кого еще проблем не видел. Заядлые плюс-плюсники кричали: "НЕ КРУТО" - такое было. Но переходили без проблем.

Буст тут порой пользуют в банках (сам под раздачу не попал, но ребята с прошлой работы в обном проекте юзали ... и матом крыли темплейты).

(no subject)

5/3/08 20:45 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Вить, дополни: CriticalSection, Mutex, Semaphore, posix-овый fork().

В джавке, а особенно шарпе, просто свели старые идеи в удобоваримый вид, выбросив лишнее. И ошли рсти дальше Ж;о)

(no subject)

5/3/08 20:57 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Совершенно справедливо. Более того - писать приятнее - думаешь о проблеме, не об неосвобожденных перемнных.
Но, опять-же, это никак не ломает потулат Костика, который и обсуждаем Ж%-)

(no subject)

5/3/08 21:02 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Ну ессно лучше быть богатым и здоровым Ж;-))))))

(no subject)

14/3/08 15:27 (UTC)
Posted by [identity profile] nickolaygolubev.livejournal.com
Пишу на c++ и никогда не задумываюсь о проблеме реализации.
С тредами проблем нет. Темплейты -- вообще лучшее что есть в с++.
За памятью следят только сишники -- у ни имижд такой.
Единтсвенная проблема -- это GUI. Вот для этого и пользуем ждава.

(no subject)

Posted by [identity profile] nickolaygolubev.livejournal.com - 14/3/08 15:37 (UTC) - Expand

(no subject)

Posted by [identity profile] nickolaygolubev.livejournal.com - 14/3/08 15:54 (UTC) - Expand

(no subject)

Posted by [identity profile] cotyary.livejournal.com - 14/3/08 23:17 (UTC) - Expand
(deleted comment)

(no subject)

5/3/08 20:41 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Очевидно. Как и наоборот
(deleted comment)

(no subject)

5/3/08 20:13 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Но это не говорит о том, что переход сложен.
А вот обратно (Костик прав) - да, проблематично. И хочется долго материться
(deleted comment)

(no subject)

5/3/08 20:35 (UTC)
Posted by [identity profile] cotyary.livejournal.com
А я видел достточно людей ничего кроме С# знающих. И код их видел ... и рассуждения слыщал ... часто - не впечатляли

(no subject)

5/3/08 20:47 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Согласен.
Тем более, что ходим от темы ж%)

(no subject)

5/3/08 16:40 (UTC)
vitus_wagner: My photo 2005 (Default)
Posted by [personal profile] vitus_wagner
Не "переходить быстро", а "использовать одновременно". В одном проекте для разных задач. При этом, как правило, выясняется, что для C остается 5-10%, наиболее критичных по скорости, или обеспечивающих какой-нибудь хитрый интерфейс, а для С++ места не остается вообще, поскольку все, что не сделано на C гораздо удобнее писать на чем-нибудь сильно высокоуровневом.

(no subject)

5/3/08 16:58 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Мсье не сталкивался с необходимостью поддержки проектов, на написание которых потрачено лет 10?
Или с блейдмассивами по пол-ночи считающими на основе килотонн данных?
(deleted comment)

(no subject)

5/3/08 20:11 (UTC)
Posted by [identity profile] cotyary.livejournal.com
И что это меняет в описанных случаях (особенно в первом)?
(deleted comment)

(no subject)

5/3/08 20:26 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Кто-то говорит: "для С++ места не остается вообще".
На ближайшее время это не так.
(deleted comment)

(no subject)

5/3/08 20:40 (UTC)
Posted by [identity profile] cotyary.livejournal.com
Вот я тоже так думал. До проекта в котором я полтора года назад работал. В С++ его части. Там пытались его на .Нет переписать - до сих пор переписывают, хотя сдать должны были еще год назад. А плюсовая часть - работает и бизнес доволен.

(no subject)

5/3/08 16:11 (UTC)
vitus_wagner: My photo 2005 (Default)
Posted by [personal profile] vitus_wagner
Приличные треды есть только в одном языке - в Erlang. Во всех остальных (особенно в C/C++) они неприличные.
В Tcl и Perl вообще пошли по пути "пусть ОС думает, что это тред, с точки зрения скрипта это будет отдельный процесс (интерпретатор)".

Так что "приличные треды" - это еще не показатель.

Что касается "Rails is a ghetto", то не следует распространять на весь язык беды одного конкретного фреймворка.
Из того что на C написали глюкавую Windos 95, не следует что на этом языке нельзя сделать приличную системв, например Windows XP.

(no subject)

5/3/08 16:38 (UTC)
vitus_wagner: My photo 2005 (Default)
Posted by [personal profile] vitus_wagner
C многозадачностью хорошо много где. Пока это многозадачность, а не треды в общем адресном прострастве.
shared memory, mmap это все пожалуйста. Но по умолчанию ни байта общего между разными потоками выполнения.
Erlang спасает именно то, что в нем фактически нет переменных. Там переменными называются символы с однократным присваиванием. Присвоил - и изменить уже нельзя.

Что касается Ruby, то это вполне адекватный инструмент для СКРИПТОВ. Проблема на самом деле та же самая - все на свете запихнуть в один общий процесс. А вы так не делайте. Не для того десятилетиями разрабатывали механизмы защиты памяти в процессорах.
Пусть виртуальная машина стартует и завершается десять-сто раз в секунду, она легкая, процессор потянет. Зато никаких проблем с утечками.

(no subject)

6/3/08 04:26 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
>Скажем так: модель тредов в Java/.NET меня более-менее устраивает, и она полнофункциональна. В отличие от Python.
Когда я смотрел на _модель_ тредов в стандартной библиотеке Python, она была _та же самая_, что и в Java. Именно списанная с Java, о чём было написано в комментарии к классу Thread. Хотя там есть и более старая модель многопоточности.

А вообще, я щас ковыряю Stackless Python - крайне интересная разработка, в которой с тредами, возможно, даже _лучше_, чем в Java. :)

(no subject)

7/3/08 03:51 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Лучше Stackless - только Erlang и Smalltalk! :)
Но они значительно хуже вписываются в существующее окружение и слишком мало распространены. :(

(no subject)

5/3/08 20:09 (UTC)
Posted by [identity profile] maksa.livejournal.com
А в чём беды Rails, расскажите в двух словах, пожалуйста.

(no subject)

5/3/08 20:49 (UTC)
Posted by [identity profile] muwlgr.livejournal.com
Factor мне показался русской поделкой. Попытка умственного творчества без ознакомления с уже созданной фундаментальщиной. Как нередко бывает у тех, кто родился в СССР, освоил компы на местном матерьяле и затем пережил развал этого самого СССР.

Lua - давно уже не молодой язык, и с весьма чёткой спецификацией. Используется как встроенный скрипт в некоторых сложных системах, типа игрушек. Там нет сырости, там есть сознательные ограничения на стадии дизайна.

На Ruby даже в Днепре пишут. Я написал в ЖоЖо, что Рельсы выучил - меня в 2 места позвали. Не пошёл :>
Заметных утечек не видел. Хотя память оно любит. Один инстанс приложения под Монгрелом хавает мег 50. Но в дальнейшем не разбухает. Впрочем, большой нагрузки не было. Рельсы - это всё ж приятный инструмент. Атакующий (типовые) проблемы создания веб-приложений сразу с нескольких сторон.

В Erlange действительно идеологически правильная многоздачность, а также fault-tolerантность. За счёт, естественно, отказа от сайд-эффектов (точнее, их изоляции в inter-process communications).

Про алголоподобные языки говорить не буду. Стараюсь поменьше ими интересоваться в эти дни. Да и в самом деле, что там может быть нового со времён Алгола-68 и PL/1 ? :>

(no subject)

14/3/08 15:47 (UTC)
Posted by [identity profile] nickolaygolubev.livejournal.com
Пробовал c++ и python.
Понравилось.
Хотя жду ( а может уже есть ) более продвинутого boost::python.