Хэл Фултон - Программирование на языке Ruby
Естественно, это лишь отправная точка для ваших собственных изысканий. Для настоящего сравнения потребовалась бы сотня страниц (а к моменту завершения работы данные уже устарели бы).
В таблице рассматриваются только три платформы: семейство Linux/UNIX, семейство Win32 и Mac OS X. Когда мы пишем «все», имеются в виду только эти платформы.
21.7. Заключение
В этой главе мы рассмотрели ряд инструментов, облегчающих жизнь программисту на Ruby. К числу общеупотребительных относятся интерактивная оболочка для Ruby irb, инсталлятор RubyGems и утилита чтения документации ri. Мы также дали обзор модулей для поддержки Ruby, которые подключаются к редакторам. Наконец, мы вкратце упомянули некоторые IDE с поддержкой Ruby. Но самый главный инструмент — это не программы, а люди, то есть все сообщество пользователей Ruby. Это и есть тема следующей (и последней) главы.
Глава 22. Сообщество пользователей Ruby
…Тот, кто не способен вступить в общение или, считая себя существом самодовлеющим, не чувствует потребности ни в чем, уже не составляет элемента государства, становясь либо животным, либо божеством.
Аристотель, «Политика»[19]Уже было сказано, что одна из лучших черт Ruby — сообщество его пользователей. Конечно, это дело вкуса, вы составите собственное мнение. Моя цель в настоящей главе — представить вашему вниманию некоторые «посиделки»: источники новостей и новых знаний, форумы как в сети, так и вне нее, а также места, где «рубисты» встречаются в киберпространстве и в реальной жизни.
Эта глава намеренно сделано очень краткой. Значительная часть приведенной в ней информации стабильна, но ведь в жизни все меняется. Если сомневаетесь, воспользуйтесь поисковой машиной.
22.1. Ресурсы в Web
Основной сайт Ruby — www.ruby-lang.org: все остальные находятся от него в нескольких щелчках мышью. Отсюда всегда можно скачать самую свежую версию Ruby.
Еще один важный сайт — rubygarden.org, который раньше содержал только wiki-страницу. Wiki как была, так и осталась, но теперь имеется еще модерируемый раздел, в котором много полезных статей и учебных руководств.
Если вас интересует документация, не пропустите сайт ruby-doc.org. который поддерживает Джеймс Бритт. На нем собраны документы, сгенерированные программой rdoc для системных и стандартных библиотек, а также много других полезных материалов.
RubyCentral — некоммерческая организация, занимающаяся пропагандой Ruby (rubycentral.org). Среди прочего, эта группа ежегодно проводит международную конференцию по Ruby. Граждане США могут вносить на ее счет пожертвования, не облагаемые налогом.
Сайт rubycentral.com не имеет к предыдущему никакого отношения. Это еще один прекрасный ресурс, один из первых в Англии, созданный группой «Pragmatic Programmers».
22.2. Новостные группы и списки рассылки
Список рассылки ruby-talk — наверное, старейший англоязычный форум для программистов на Ruby. Новостная группа (конференция) Usenet comp.lang.ruby появилась немного позже, в мае 2000 года.
Почти сразу после организации новостной группы Дэйвом Томасом (см. ниже) было создано ее «зеркало» для пересылки сообщений между самой группой и списком рассылки ruby-talk. Если не считать редких технических проблем, сообщения в них должны быть идентичны.
В списке часто задаваемых вопросов (FAQ) для группы comp.lang.ruby обсуждаются вопросы сетевого этикета и излагаются цели создания группы. Он обновляется ежемесячно и хранится также на сайте rubyhacker.com.
Для списка ruby-talk (а также для связанных с ним списков ruby-core и ruby-math) на сайте rubv-talk.org можно производить поиск.
Есть также множество списков рассылки, относящихся к конкретным проектам, — слишком много, чтобы перечислять их здесь. Почти для каждого крупного проекта, относящегося к Ruby, в архиве RAA или на сайте rubyforge.org имеется свой список. Кстати, эти два сайта — лучшие отправные точки для поиска информации о списке рассылки или о домашней странице проекта.
22.3. Блоги и онлайновые журналы
Я полагаю, что тенденция создания онлайновых дневников (блогов) только будет нарастать, и не вижу признаков того, что они выйдут из моды в ближайшее время.
Существует много блогов, имеющих отношение к Ruby. Поисковая машина отыщет их все, а я приведу ссылки на блоги нескольких ведущих «рубистов».
• Дэйв Томас (Dave Thomas): http://blogs.pragprog.com/cgi-bin/pragdave.cgi:
• Чэд Фаулер (Chad Fowler): http://chadfowler.com/:
• Джим Вайрих (Jim Weirich): http://onestepback.org/:
• Джеймис Бак (Jamis Buck): http://jamis.jamisbuck.org/;
• Натаниэль Талботт (Nathaniel Talbott): http://blog.talbott.ws/:
• why the lucky stiff: http://redhanded.hobix.com.
Несколько централизованных сайтов содержат ссылки на отдельные блоги или агрегируют их контент. Они появились сравнительно недавно, поэтому я не буду давать на них ссылки; не исключено, что, когда вы будете читать эту главу, перечень уже изменится.
Языку Ruby посвящены по меньшей мере два онлайновых журнала. Самый старый — The Rubyist (http://jp.rubyist.net) — выходит на японском языке и основан на публикациях в wiki-страницах. Неплохой стимул к изучению японского!..
На сайте Artima (artima.com) размещается отличный журнал Ruby Code & Style (http://www.artima.com/rubycs): он подает большие надежды. Ходят слухи о создании новых онлайновых журналов, но публиковать информацию о них пока преждевременно.
22.4. Запросы на изменение Ruby
Язык Ruby продолжает развиваться. К достоинствам языка следует отнести и то, что изменяется он медленно и обдуманно.
Но, конечно, Ruby не достиг совершенства. Поэтому имеется механизм подачи предложений об изменении синтаксиса, системных классов и стандартных библиотек. Процедура называется «запрос на изменение Ruby» (Ruby Change Request — RCR).
На сайте rcrchive.net («архив RCR») четко прописано, как следует подавать запросы, посылать критические замечания и отзывы и даже голосовать за или против предложенных изменений.
Прежде чем подавать новый запрос, убедитесь, что никто не предлагал такого же изменения ранее. Возможно, предложение, идентичное вашему, ожидает своей участи или уже отвергнуто.
Во-вторых, проверьте, что «расставили все точки над i». Если вы предлагаете изменить поведение метода, рассмотрите вопрос о работоспособности уже написанных программ. Если предлагаете ввести новый оператор, подумайте, является ли он в действительности методом, каков должен быть его приоритет, какое влияние он окажет на синтаксический анализатор и т.д.
Никто не гарантирует, что ваш запрос будет одобрен, — все в умелых руках Маца. Но чем тщательнее вы обдумаете свое предложение заранее, тем больше шансов, что оно будет принято всерьез. Список рассылки ruby-core — тоже подходящее место для обсуждения таких вопросов (но не тратьте зря время разработчиков ядра).
22.5. Каналы IRC
Можно побиться об заклад, что в любое время суток десятки «рубистов» болтают в IRC-чатах. Такие серверы принадлежат freenode.net; зайдите на этот сайт и поищите ближайший к вам. Поиск в Web поможет вам найти подходящий IRC-клиент для любой платформы.
В канале #ruby-lang довольно интенсивный трафик. Это международный форум, так что кого-нибудь вы там встретите в любое время суток. Языком международного общения де-факто является английский, но кто-нибудь наверняка подскажет вам каналы, где говорят на вашем языке.
Соблюдайте общепринятые в IRC правила общения. Главное, не «флудите», посылая фрагменты кода: одна-две строки на сообщение — это максимум. При необходимости пользуйтесь службой отправки фрагментов rafb.net или аналогичной.
Есть и другие каналы, скажем, посвященный Rails. Как обычно, любая информация такого рода может быстро устареть.
22.6. Конференции по Ruby
Первая международная конференция по Ruby состоялась во Флориде в 2001 году, затем города проведения менялись. Обычно на конференции приезжает и сам Мац, и еще несколько японских рубистов; вообще, участники прибывают со всех континентов. (Если вы работаете на антарктической научной станции, не забудьте взять отпуск и посетить очередную конференцию!)
Проведение ежегодных конференций курируется организацией RubyCentral, на сайте rubycentral.com вы можете найти актуальную информацию. А можете зайти непосредственно на сайт http://rubyconf.org. подать заявку на выступление или зарегистрироваться в качестве участника.
Есть и другие конференции. Европейская конференция по Ruby (EuRuKo) впервые была проведена в Карлсруэ (Германия) в 2003 году. Там обычно бывает меньше народу, но если вы живете в Европе, то добираться удобнее. Я ничего не знаю об официальном сайте этой конференции; задайте поисковой машине слово «EuRuKo» для получения дополнительной информации.
Популярность Ruby возросла настолько, что ему уже были посвящены выступления на конференциях OOPSLA (Object-Oriented Programming, Systems, Languages, and Applications — объектно-ориентированное программирование, системы, языки и приложения), OSCON (Open Source Convention — конвенция о программном обеспечении с открытыми исходными текстами) и др. То ли еще будет!