Проблема Популярности Ruby И Ruby On Rails — Плохая Документация.

Я хочу поделиться своими мыслями.

Я прочитал много тем о Ruby, Ruby on Rails, Ruby против PHP, Python против PHP. «Каждый кулик свое болото хвалит».

Я считаю, что это сугубо дело каждого — какую систему или язык программирования использовать, личные предпочтения, что называется, в зависимости от вкуса и цвета кожи товарищей.

Но дело не в этом.

Я хорошо знаю PHP; Недавно я начал изучать Ruby и Ruby on Rails. Знаете, как бы странно это ни звучало, мне нравятся обе системы — PHP и Ruby, возможно, даже одинаково.

У Ruby есть свои прелести, привлекающие людей — мощь самого языка, очень понятный и лаконичный синтаксис (если изучать его с умом), тогда как PHP обладает простотой и такой же лаконичностью языка.

Хорошие системы, хорошие инструменты, но Ruby все же каким-то образом догоняет. Что в этом плохого? И вот о чем я подумал.

Если Ruby сегодня такой привлекательный и модный язык разработки, то почему его продвижение идет с некоторыми трудностями? Там вроде бы всё ясно и понятно, но чего-то явно не хватает. Но чего по сути не хватает, так это самого главного — хорошей документации.

Предвижу множество возражений.

Да, он существует, но в каком виде? На официальном сайте есть несколько ссылок на документацию.

Вроде бы все хорошо, в изобилии.

Но! Простите, как я могу доверять документации, в которой я не нашел описания элементарного метода core(!) Method_missing, а в другом источнике - пожалуйста! Кроме того, нет перекрестных ссылок на похожие методы.

И чем все это отличается от документации PHP. Вот сайт, вот ВСЯ документация - описание языка, функций и перекрестные ссылки.

Помню, когда я начал писать на PHP — я просто открыл сайт и шаг за шагом начал сначала изучать сам язык, попутно узнавая о функциях.

Просто прекрасно! За месяц я написал небольшой сайт с нуля вообще без проблем.

С Руби картина совершенно иная.

Я подошел к изучению Ruby более основательно – купил книгу, все тщательно изучил (кстати, очень рекомендую «Язык программирования Ruby» Д.

Фланагана, Ю.

Мацумото), потом занялся Rails – нашел перевод книги и последовательно изучал ее на примерах.

В принципе, там все четко и ясно изложено.

Но после прочтения возникает такое ощущение, как будто тебе что-то вкратце объяснили («тебя от опушки до чащи леса принесли»), а потом — «тогда давай сами как-нибудь сделаем, брат , топай по тёмному лесу, а фонарик и компас, нет, мы тебе не дадим - всё тут же ясно и понятно, мы сами, там, спокойно бродим по этому лесу и не бредем, а ты победил не потеряйся.

Ничего, что я впервые в этом «лесу»?.

Документация RoR просто отвратительна — там нельзя найти ничего, о чем бы ты не знал — нет полного и четкого описания методов, нет описания параметров методов, нет примеров, нет описаний классов и их связей.

Опять же, парируя возражения, скажу, что описания, которые существуют, находятся именно на уровне учебника для начинающих — они описывают то, что уже в принципе понятно.

Куда идти дальше? Выбираете источники? Но, извините, я не сторонник, например, АвтоВАЗа именно потому, что эти машины нужно «допиливать» практически сразу после покупки.

Здесь аналогичная ситуация – изучайте машину, чтобы нормально на ней ездить.

И для чего это? Я покупаю машину, потому что хочу быть водителем, а не автомехаником.

Хочется пользоваться инструментом, а не изучать его детально, да к тому же без инструкций - опять же отсутствие документации.

Многие люди совершенно не представляют, как устроен их мобильный телефон, но успешно им пользуются.

Если будет интерес, полезу в исходники, но пока мне это совершенно ни к чему.

Не помню, чтобы функционал того же PHP на официальном сайте мне предлагали изучить по исходникам.

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

Пожалуйста поймите правильно, детали работы инструмента, которым я пользуюсь, мне не важны, лишь бы он корректно выполнял все свои функции, а обо всех этих функциях я хочу знать, а из документации, «инструкции по использованию инструмент», а не спрашивая кого-нибудь и не лазая по Интернету в поисках его.

Насколько я уже убедился на своем опыте (в ИТ-индустрии более 20 лет), удобные и доступные системы зачастую выигрывают, а наличие хорошей, удобной документации – это почти половина успеха, а не тех, которые системы, где внутри все круто, но стороннему наблюдателю непонятно, и некому рассказать.

Вот, собственно, мои мысли.

PHP, Ruby, Python, C++, Java — это всего лишь один из способов общения с машиной, не более того.

И нам всем повезло в том, что мы можем выбирать, о чем писать и как писать.

Но пока система остается малодоступной для легкого изучения любым пользователем или программистом, то вся крутость, которую она скрывает за отсутствием документации, ничего не стоит. За примерами далеко ходить не нужно — популярность и широкое распространение любого инструмента разработки является лишь следствием его доступности и наличия удобной и полной документации в частности.

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

Любая мощная система должна иметь, прежде всего, полную и удобную документацию.

И я думаю, многие со мной согласятся, что тратить свое драгоценное время на исследование исходных кодов вместо того, чтобы заниматься бизнесом – не самое приятное и полезное занятие.

Конечно, хорошо знать исходный код — как и разработку и все такое, но у меня много дел, и разработчикам Ruby и Ruby on Rails пора задуматься о хорошей документации, иначе такие отличные инструменты разработки будут продолжаться.

отставать.

Теги: #ruby #ruby на рельсах #ruby #ruby на рельсах

Вместе с данным постом часто просматривают: