про руби (программистское)
Apr. 8th, 2007 12:20 amЯ хотел бы написать, что проблема, которая стоит перед языком Руби и его сообществом - преодолеть засилие радостных идиотов, 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? ;)"
no subject
Date: 2007-04-08 12:17 am (UTC)Знаете, на это часто принято отвечать цитатой: "Я Пастернака не читал, но осуждаю". Но я вам так отвечать не буду, потому что уже набило оскомину:)
Я согласен, что Swing - это плохо. Но графическая оболочка собственно к языку отношения имеет мало. Существуют альтернативы, очень хорошие.
Переносимость Java'ы во многом мистификация.
Мистификации никакой нет - так говорят в основном те, кто никогда сам этого делать не пробовал, а потом распространяют эту весть среди друзей. Я это делаю каждый день. См.мой ответ netch'у:
http://avva.livejournal.com/1750932.html?thread=41578132#t41578132
no subject
Date: 2007-04-08 12:21 am (UTC)Для затравки:
Ruby is available for the following operating systems:
* Most flavors of Unix
* Linux
* DOS
* Microsoft Windows 95/98/XP/NT/2000/2003/Vista
* Mac OS X
* BeOS
* Amiga
* MorphOS
* Acorn RISC OS
* OS/2
* Syllable
* Symbian OS
no subject
Date: 2007-04-08 12:29 am (UTC)Понимаете, я не поклонник Джавы - поклоняться можно какому-то новому гениальному изобретению, новой парадигме (как Лисп или ООП в своё время). Я просто сторонник рационализма и минимализма. Джава - хороший, удобный инструмент для работы, не более того. Зачем городить огород и придумывать всё новые и новые языки, похожие один на другой, только с разным синтаксисом ? Да, у них есть маленькие незначительные отличия, но это не повод для того, чтобы размахивать этими отличиями как флагом в священной войне.
no subject
Date: 2007-04-08 12:46 am (UTC)Внимание вопрос: почему Ruby - мусорный язык, Java - нет.
По моему любой язык имеет право на существование. Конкуренция помогает двигаться вперед.
P.S. Есть такой проект JRuby - реализация Ruby на Java. Так вот команду разработчиков JRuby нанял Sun. По моему есть над чем задуматься.
no subject
Date: 2007-04-08 12:54 am (UTC)Ruby - мусорный язык, а Java - нет, потому что Java гораздо более популярна и за ней стоят большие капиталы. И кода написано в миллион раз больше. Да, причиной всему этому опять же большие капиталы - это несправедливо, согласен, но мы же вроде при капитализме живём - делать нечего.
А так, конечно, каждый язык имеет право на существование, спору нет.
no subject
Date: 2007-04-08 12:58 am (UTC)no subject
Date: 2007-04-08 08:09 am (UTC)А если пытаться рассматривать именно свойства языка, то окажется, что они сами роли практически не играют, потому что движок развития - не столько Java, сколько JVM, и то, что Java заняла нишу, созданную во многом ею же - нишу заведомо переносимого кода (давайте не будем вспоминать местные привязки типа Swing или работы на мобилке; ограничимся, например, вебсерверами). Все наиболее активные развития средств на Яве (например, J2EE) шли именно в этом направлении. Вторым стало уже свойство языка Java - условная понятность синтаксиса основной массе программистов (знакомых с C/C++), достаточная для написания простых программ и освоения уже явовской специфики. После этого уже менее существенны разнообразные тараканы языка, на них можно ругаться сколько угодно - ниша оформлена, отграничена, занята и освоена. MS с .NET и C# пришёл на 5 лет позже и пытается выдавить оттуда Яву, но большого успеха у него тут не будет - пока сама задача останется прежней.
Потому и все сравнения происходящего тут типа ("что лучше - Ruby или Java?" малоосмысленны) - начинать надо не с этого, а с определения условий работы. Что лучше из них в JVM? Что лучше из них в условиях, когда JVM необязательна? Когда JVM надо стянуть и поставить? Когда JVM слишком прожорлива чтобы это нормально работало в местных условиях? Наконец, что из них лучше при условии наличия 1) квалифицированных программистов с высшим образованием, 2) при наличии под рукой 1000 выпускников компьютерного факультета заборостроительного техникума деревни Чандрасекарам, штат Мадхью-Прадеш? (все буквы условны)
no subject
Date: 2007-04-08 10:24 am (UTC)Вы ошибаетесь. .NET очень сильно потеснил J2EE, вплоть до того что в большинстве областей применения обоих вышел в лидеры.
[PDF] "The Platform Wars: .NET vs. J2EE", с. 6-8.
Обратите внимание что данные за 2004 год. С тех пор доля .NET только выросла.
no subject
Date: 2007-04-08 07:41 pm (UTC)1) я правильно понимаю, что по остальному возражений нет?;))
2) фактически это и есть другая ниша - не "переносимость везде", а "переносимость везде в Windows".
no subject
Date: 2007-04-08 08:57 pm (UTC)2) Ну и Java тоже не одними сановскими серверами жива. Это во-первых. А во-вторых, "переносимость везде в Windows" всё чаще означает "переносимость везде". В последние годы Windows стремительно ворвалась как на рынок серверных решений, так и на мобильный и в связке с .NET теснит конкурентов очень сильно. Нельзя не признать что .NET как платформа и С# как язык получились очень удачными.
no subject
Date: 2007-04-09 08:56 am (UTC)Есть достаточно известная точка зрения, что это "чего-либо" что им не помогает - сишный синтаксис.
Трурль же вместо адекватной оценки нагоняет локальных бесов. Именно поэтому он неправ, а не констатацией факта "у C/C++/Java/C# 95% рынка, а остальные невесть где". И поддержанный им оскорбительный термин "мусорные" это показывает.
> Нельзя не признать что .NET как платформа и С# как язык получились очень удачными.
С этим я вполне согласен - более того, хотел бы её побольше видеть и за пределами Windows. Благо, стандартизация, в отличие от сановской собаки на сене, этому только поможет.
no subject
Date: 2007-04-09 03:29 pm (UTC)Я не думаю что синтаксис это такой уж камень преткновения. Есть много других факторов, которые не всегда связаны напрямую с языком, но могут иметь решающее значение. Мы всё-таки говорим о языках не с точки зрения академического интереса, а с позиции применимости их в инженерном деле. Чтобы новый язык "выбился в люди", ему надо иметь приличную среду разработки, дебаггер, библиотеки, учебную литературу и многое другое. Это всё я сегодня ожидаю от языка, который претендует на моё внимание. Возвращаться в Нотепад и отлаживаться printf'ом в XXI-м веке как-то не хочется.
no subject
Date: 2007-04-10 06:32 am (UTC)no subject
Date: 2007-04-08 12:25 am (UTC)Судя по
http://avva.livejournal.com/1750932.html?thread=41572756#t41572756
вы с ruby даже не знакомы, хотя допускаете суждение о нём.
no subject
Date: 2007-04-08 12:32 am (UTC)no subject
Date: 2007-04-08 01:01 am (UTC)