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

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

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

Причем, не о роли инструментального ПО вообще, а конкретного фреймворка Ruby on Rails. Более того, чтобы не рассказывать о нем, как о каком-то «черном ящике», я начну с создания проекта простого веб-блога, которому посвящено руководство для начинающих, из которого целиком состоит первая глава полного руководства по Rails.


Скриншот 1. Мое первое приложение на Rails

Ну и о самом руководстве «пару слов». Во-первых, прочитав это руководство, можно сделать проект. Тут причинно-следственная связь очевидна. Во-вторых, после этого можно прочитать еще книжку о гибкой разработке на Rails и создать интернет-магазин, о котором в ней написано (эта книжка является учебником).

Связь между проектом веб-блога и проектом интернет-магазина не столь очевидна: понимая, что для создания своего блога не обязательно создавать проект Ruby, когда есть социальные сети, хотелось чего-то большего…

И т.п.

CRM-система для работы с трабл-тикетами в отделе технической поддержки интернет-провайдера, или ИС для сети аптек могут быть созданы с помощью Rails. Использование того или иного ПО имеет свои последствия для оператора ИС, системного инженера, руководства и, как следствие, для абонентов или покупателей.

Например, от работоспособности АРМ пользователя в конкретный момент времени может зависеть количество операторов АРМ, выполняющих свои должностные обязанности, а также загруженность отдела технической поддержки этих самых АРМ. То, что ИС является кроссплатформенной, может определять квалификацию обслуживающих ее системных инженеров (одно дело чинить компьютеры с Windows, и совсем другое — зоопарк из Windows, macOS и Linux).

Способность пользователя работать с компьютером может отличаться при работе с морально устаревшей ИС, написанной на Delhpi лет 20 назад, и когда прикладное ПО создано уже в так называемую посткомпьютерную эпоху.

Это не догма, а лишь пример: в каком-то гипотетическом случае и АРМ на Windows может работать лучше, чем на Linux; также и пользователь может привыкнуть к существующей CRM и не быть знакомым со смартфоном или интернет-планшетом, либо существующая ИС несмотря на срок службы сделана весьма хорошо.

Можно придумать и что-то более радикальное: радикальное изменение логики работы ИС при переходе на Rails и проведение обучения сотрудников с последующим тестированием, по результатам которого кого-то будут увольнять.

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

Во-вторых, им не ограничиваться. Есть ведь еще книги по Rails и другие ресурсы. И о качествах Rails-программистов. Это третий пункт. Если Вы по каким-либо причинам захотите работать Rails-программистом, для этого придется пройти собеседование, а на нем заполнить анкету, в которой обязательно будут вопросы о чем-то в этом роде.

Во время прохождения шаг за шагом руководства для начинающих я увидел не менее 5 ошибок, так что такое качество как некоторая целеустремленность не помешает…


Скриншот 2. Одна из ошибок, которые я увидел, шаг за шагом проходя руководство

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

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

Комментарии (3)


  1. saag
    28.03.2018 13:26

    Продолжайте, я как то пробовал изучать Ruby, он мне нравился, так как в нем писать еще нигде получалось, некоторые языки переняли некоторые вещи из Ruby(например блоки, они же анонимные функции), и иногда встречая знакомые конструкции представляешь как это было бы в Ruby, но забросил, подумал, что это уж как то нишевой продукт:-) Может я ошибался


  1. i0ngunn3r
    28.03.2018 13:31

    А суть поста-то какая?


  1. avdept
    28.03.2018 16:51

    Плохие у вас прогнозы. Нужно понимать какую технологию и для чего использовать. Глупо было бы пытаться писать веб приложение на ассемблере, так же как и глупо писать AAA игру на php. У руби и рельс есть своя ниша — стартапы, небольшие приложения которые важно быстро сделать и дальше строить стратегию развития. Хотя не будем забывать и то, что изначально github, twitter и пару других проектов были построены на рельсах. В последнее время хайп вокруг них упал, но это не значит что технология умерла или умирает.