avva: (Default)
[personal profile] avva

Я хотел бы написать, что проблема, которая стоит перед языком Руби и его сообществом - преодолеть засилие радостных идиотов, fanboys, которые наполнили собой и засоряют сообщество. Но я не уверен, что это действительно проблема. Да, мне лично, и многим другим (как аутсайдерам с точки зрения Руби, подобно мне, так и опытным разработчикам в нем) это не нравится и отталкивает. Но, с другой стороны, весь этот шум в конечном счете ответственен за популярность этого языка, за его растущую известность, за mindshare в программистской среде.

Обычное дело - когда о чем-то очень громко говорят, выходит, что говорят в основном дураки. А что поделать, если хочется быть услышанным?

В последнее время мне попались два примера.

What's Wrong With Ruby - мнение человека, которому не очень понравился Руби. В статье он перечисляет, что ему не понравилось и что показалось перехваленным в обычных описаниях Руби. При этом он сохраняет вполне корректный и умеренный тон, и отдает должное языку в том, что ему понравилось. Интересная статья, несколько эклектичная и недостаточно подробная, но все равно интересная. Я, например, разделяю неприязнь автора к "cutesy introductory tutorials", и особенно к знаменитому в сообществе Руби Why's (Poignant) Guide. Это ужасная на мой взгляд книга, полная несмешных вымученных шуток и картинок, идиотской болтовни, и на редкость неудачных собственно объяснений и примеров того, что касается самого языка.

Однако дело не столько в самой статье, сколько в комментариях под ней, в которых тут же собралось стадо fanboys - идиотов, ругающих автора последними словами за то, что он посмел посягнуть на их культовый язык или на культовую фигуру _why (автора вышеупомянутой книги). Их немало в комментариях к самой статье, и еще больше - в комментариях к записи _why на эту тему (как обычно в его стиле, зубодробительно несмешной). Почитайте - эти комментарии говорят за себя. Нет, я не думаю, что они характеризуют все сообщество пользователей Руби. Но они характеризуют то стадо fanboys, которое его замусорило.

Мне попадалось мнение, что идиоты кочуют от одного популярного языка или технологии к другим, и многие из тех, что сейчас пишут и говорят благоглупости о Руби, раньше молились на Джаву, когда та была "cool". Может, в этом что-то есть. Но что в языке или технологии или сообществе, уже существующем, притягивает такие массы? Я не могу себе представить, например, такой поток ответов на статью, критикующую Перл, ни сейчас, ни пять лет назад, ни десять. Или Питон, или Хаскель, или Лисп.

Второй пример - статья "Why was Rails only possible with Ruby?" на сайте O'Reilly. Точнее, не статья, а рецензия книги о Руби и Rails. В ней самой, и в довольно интересно потоке комментариев под ней, поражает совершенное детская наивность тех, кто упрямо утверждает, что в Руби есть какие-то мистические свойства, которые делают создание системы типа Rails возможным только в Руби - и их неспособность назвать эти свойства: после того, как им снова и снова объясняют, что вот эти и вот эти и вот эти свойства Руби, которые они считают уникальными, на самом деле есть и тут и тут и тут, и системы, подобные Rails, на самом деле есть, и в чем-то более интересные (Seaside в Смоллтоке часто упоминается в последнее время - я не успел пока о нем подробнее прочитать), после всего этого им остается только лепет насчет "интуитивности" и каких-то мистических откровений, которые превращают Руби в идеальнейший из языков. Пользуясь словами того же _why, "We can no longer truthfully call it a computer language. It is coderspeak. It is the language of our thoughts". И вот такой интеллектуально беспомощный фанатизм тоже, увы, весьма распостранен в сообществе Руби, насколько я могу судить, когда с ним сталкиваюсь. Впрочем, опять-таки, действительно ли "увы"? Может, сообществу Руби это нравится, и такая форма агрессивного самопиара его вполне устраивает.

В завершение замечу только, что все же собираюсь в ближайшее время изучить Руби, хоть и не в ближайшие пару месяцев, наверное. И процитирую понравившееся из комментариев к второй статье, среди аргументов и обвинений поклонников Руби, Питона, Джавы, Перла и других языков:

"Can't we all at least agree to hate PHP? ;)"

Date: 2007-04-08 08:09 am (UTC)
netch: (Default)
From: [personal profile] netch
Ну если трурлеватую (потому что он тут начал так рассуждать) "мусорность" определяется исключительно коммерческим успехом - да, возражений нет. Какое определение - такой и результат:))

А если пытаться рассматривать именно свойства языка, то окажется, что они сами роли практически не играют, потому что движок развития - не столько Java, сколько JVM, и то, что Java заняла нишу, созданную во многом ею же - нишу заведомо переносимого кода (давайте не будем вспоминать местные привязки типа Swing или работы на мобилке; ограничимся, например, вебсерверами). Все наиболее активные развития средств на Яве (например, J2EE) шли именно в этом направлении. Вторым стало уже свойство языка Java - условная понятность синтаксиса основной массе программистов (знакомых с C/C++), достаточная для написания простых программ и освоения уже явовской специфики. После этого уже менее существенны разнообразные тараканы языка, на них можно ругаться сколько угодно - ниша оформлена, отграничена, занята и освоена. MS с .NET и C# пришёл на 5 лет позже и пытается выдавить оттуда Яву, но большого успеха у него тут не будет - пока сама задача останется прежней.

Потому и все сравнения происходящего тут типа ("что лучше - Ruby или Java?" малоосмысленны) - начинать надо не с этого, а с определения условий работы. Что лучше из них в JVM? Что лучше из них в условиях, когда JVM необязательна? Когда JVM надо стянуть и поставить? Когда JVM слишком прожорлива чтобы это нормально работало в местных условиях? Наконец, что из них лучше при условии наличия 1) квалифицированных программистов с высшим образованием, 2) при наличии под рукой 1000 выпускников компьютерного факультета заборостроительного техникума деревни Чандрасекарам, штат Мадхью-Прадеш? (все буквы условны)

Date: 2007-04-08 10:24 am (UTC)
ak_47: (Default)
From: [personal profile] ak_47
MS с .NET и C# пришёл на 5 лет позже и пытается выдавить оттуда Яву, но большого успеха у него тут не будет - пока сама задача останется прежней.

Вы ошибаетесь. .NET очень сильно потеснил J2EE, вплоть до того что в большинстве областей применения обоих вышел в лидеры.

[PDF] "The Platform Wars: .NET vs. J2EE", с. 6-8.

Обратите внимание что данные за 2004 год. С тех пор доля .NET только выросла.

Date: 2007-04-08 07:41 pm (UTC)
netch: (Default)
From: [personal profile] netch
Это я мог вполне пропустить. Но
1) я правильно понимаю, что по остальному возражений нет?;))
2) фактически это и есть другая ниша - не "переносимость везде", а "переносимость везде в Windows".

Date: 2007-04-08 08:57 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
1) Тред сильно разбежался в стороны по каждой из которых можно спорить бесконечно. В целом я во многом согласен с Трурлем. Есть языки, которые были созданы в ответ на конкретные нужды индустрии. Это и С, и С++, и Java. Все они добавляли что-то новое без чего до них было либо полностью невозможно обойтись, либо решение стоило непозволительно дорого. "Мусорные" языки могут быть даже значительно лучше мейнстримовых как собственно языки. Но так сложилось что они либо пришли позже и упустили свой шанс, либо в них не хватает чего-либо что позволило бы им расширить круг пользователей. Поддержка крупным вендором и уже существующий огромный codebase вполне могут быть такими факторами, между прочим.

2) Ну и Java тоже не одними сановскими серверами жива. Это во-первых. А во-вторых, "переносимость везде в Windows" всё чаще означает "переносимость везде". В последние годы Windows стремительно ворвалась как на рынок серверных решений, так и на мобильный и в связке с .NET теснит конкурентов очень сильно. Нельзя не признать что .NET как платформа и С# как язык получились очень удачными.

Date: 2007-04-09 08:56 am (UTC)
netch: (Default)
From: [personal profile] netch
> "Мусорные" языки могут быть даже значительно лучше мейнстримовых как собственно языки. Но так сложилось что они либо пришли позже и упустили свой шанс, либо в них не хватает чего-либо что позволило бы им расширить круг пользователей.

Есть достаточно известная точка зрения, что это "чего-либо" что им не помогает - сишный синтаксис.

Трурль же вместо адекватной оценки нагоняет локальных бесов. Именно поэтому он неправ, а не констатацией факта "у C/C++/Java/C# 95% рынка, а остальные невесть где". И поддержанный им оскорбительный термин "мусорные" это показывает.

> Нельзя не признать что .NET как платформа и С# как язык получились очень удачными.

С этим я вполне согласен - более того, хотел бы её побольше видеть и за пределами Windows. Благо, стандартизация, в отличие от сановской собаки на сене, этому только поможет.

Date: 2007-04-09 03:29 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Есть достаточно известная точка зрения, что это "чего-либо" что им не помогает - сишный синтаксис.

Я не думаю что синтаксис это такой уж камень преткновения. Есть много других факторов, которые не всегда связаны напрямую с языком, но могут иметь решающее значение. Мы всё-таки говорим о языках не с точки зрения академического интереса, а с позиции применимости их в инженерном деле. Чтобы новый язык "выбился в люди", ему надо иметь приличную среду разработки, дебаггер, библиотеки, учебную литературу и многое другое. Это всё я сегодня ожидаю от языка, который претендует на моё внимание. Возвращаться в Нотепад и отлаживаться printf'ом в XXI-м веке как-то не хочется.

Date: 2007-04-10 06:32 am (UTC)
netch: (Default)
From: [personal profile] netch
В 95-97 ничего перечисленного у Явы не было, AFAIK (или было неживым). Но тем не менее она сумела набрать достаточно очков, чтобы развернуться и дорасти до второй версии. И кроме давления "вакуума" в нише и денег Сана - огромную роль сыграла привычность синтаксиса, как средство обеспечения формальной знакомости.

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 24 25262728

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 05:28 pm
Powered by Dreamwidth Studios