Спецификация языка Ruby

Спецификация языка Ruby

Хотя Ruby получил широкое распространение за последние несколько лет, его спецификация как языка программирования до сих пор не стандартизирована. В октябре 2008 года в Японии под эгидой Information-technology Promotion Agency (IPA) была создана группа Ruby Standardization Working Group работы над спецификацией языка и расширения его использования в разных областях программирования. С этого момента группа работала над спецификацией и сейчас, когда стала доступна первая редакция документа, нам хотелось бы услышать мнения об этом документе тех, кто использует Ruby. Это поможет улучшить спецификацию, после чего она будет направлена в Japanese Industrial Standards Committee (JISC) для получения статуса JIS. После получения этого статуса спецификацию будет направлена в International Standardization Organization (ISO/IEC JTC1) для получения статуса международного стандарта языка Ruby. Мы очень рассчитываем на Ваше мнение и Ваше участие в дискуссиях. Присылайте, пожалуйста, Ваши мнения, комментарии к документу до 12 января 2010 года. Нам бы очень хотелось услышать как можно больше мнений.

IPA Ruby Standardization WG

 

Chairman

 

Ikuo NAKATA

Общие положения

При составлении спецификации мы отталкивались от следующего:

  • использование Ruby 1.8.7 как основного стандарта;
  • намерение составить спецификацию так, чтобы ни одна из существующие реализаций языка её не нарушала;
  • сделать спецификацию как можно более короткой.

Во-первых, мы взяли за основу Ruby 1.8.7. Ruby 1.8 сейчас существует и широко используются ряд реализаций, которые учитывающих только особенности Ruby 1.8. Судя по всему Ruby 1.8 будет использоваться ещё многие годы. Нас могут упрекнуть, что нам стоило взять за основу версию Ruby 1.9, но Ruby 1.9 сейчас интенсивно развивается и его особенности часто меняются. В этом случае мы бы каждый раз отставали бы от текущего положения дел.

Во-вторых, существующие реализации Ruby 1.8.7, Ruby 1.8.6, Ruby 1.9, JRuby, Rubinius и IronRuby должны удовлетворять спецификации без внесения изменений в них. Есть ряд особенностей, реализованных в одной и нереализованных в другой версии. Такие особенности должны быть исключены из спецификации.

В-третьих, спецификация содержит широко используемые базовые классы, модули, методы, необходимые для программирования базового функционала. Мы собираемся добавить в этот список классы, модули, методы, позволяющие выполнять 'продвинутые' задачи.

Спецификация включает в себя: cинтаксис и семантику языка, cписок базовых встроенных классов и модулей. Следует отметить, что в спецификации перечислены не все методы из базовых модулей и классов, а только широко используемые и наиболее необходимые.

С текущей спецификацией можно ознакомится здесь здесь.

Обсудить спецификацию можно здесь. Для того чтобы оставить комментарий, пожалуйста зарегистрируйтесь и нажмите 'New issue'. Пишите на английском языке пожалуйста.

Подготовлено КОМТЕТ по материалам ruby-std.netlab.jp

Вам также может помочь