Привет, Habr! Меня зовут Ира.

Я работаю контент-менеджером в одной из передовых IT компаний. Мы динамично развиваемся и предлагаем решения разной сложности для компаний и продуктов, развиваем свои проекты и часто делимся экспертизой.

Источник: Sloboda Studio
Источник: Sloboda Studio

У нас давно было желание написать статью, сравнивая Руби и Питон как два популярных языка программирования. Многие понимают в чем они схожи и в чем различны, но обычно это те, кто в теме, погружен, давно работает в IT и уже не обращает внимание на вещи, которые ньюкамерам могут показаться убедительными при выборе профессиональной траектории. Надеюсь, мой короткий вброс поможет разобраться. В силу рабочих обстоятельств мне часто приходится брать интервью у наших девелоперов и дизайнеров для создания уникального контента, меняя оптику и фреймворки.

Говоря о Ruby и Python хочется, конечно, жонглировать терминологией и всячески хвалить экспертов в своем деле, упирая на прогрев аудитории. Как нам известно из текущей мозговой и новостной повестки, голове стоит быть прохладнее, поэтому в тексте я бы хотела пройтись по порядку и коротко, простыми словами разобрать ключевые моменты, чтобы внести ясность в тему Руби и Питона с фокусом на актуальность.

Руби для людей: в чем фишка?

Ruby — один из самых распространенных и популярных языков общего профиля для создания веб-приложений, а Rails или Ruby on Rails — это элегантный и надежный фреймворк, построенный на архитектуре MVC и имеющий множество библиотек и встроенных функций. Короче, при использовании вам не придется разрабатывать все с нуля и вы сможете сосредоточиться только на конкретных бизнес-задачах в рамках заранее установленных требований. На всяких форумах Руби сильно хвалят и он достаточно актуален в текущей стартап-линии. Когда дело доходит до практики, говорят, что язык элегантный и прозрачный. Я долго выясняла, что это значит. Если формулировать коротко, то Руби не набрасывает на ваш код много синтаксиса. Вам вообще можно не работать с большим количеством кода для освоения простых вещей. Кодить на Руби, значит взаимодействовать с проблемными областями задач и сокращать время, затрачиваемое на написание кода. Если вы новичок, помните, что даже у настоящих мастеров программирования все получается не с первого раза. Если вы потерпели неудачу, стоит попытаться еще.

Язык Ruby разработан как бесконечно гибкий и расширяющий возможности программистов и включает в себя маневры для создания складного кода. Временами эти опции кажутся магическими, но подобная “гибкость” языка может быть во вред и создавать некоторые проблемы. Например, если у вас на Руби сразу все заработало, нет гарантии в том, что вам не придется вскрывать код при негативном результате работы. В этом смысле у Питона все достаточно прямолинейно и совсем лишено утонченности, за которую хвалят Руби. В этом языке хорош механизм расширения через библиотеки, который позволяет легко разрабатывать их новые версии.

Питон или жизнь: стоит ли кодинг свеч?

Если вы не слышали про Питон/ пайтон — вы не жили. Кажется, это самый популярный язык в айти и за пределами. Этот язык имеет обширный набор статистических библиотек, которые могут быть использованы для науки о данных, которая является самой популярной профессией сегодня. Это также делает его популярным языком среди тех, кто изучает статистику и моделирование данных. Как мне удалось ухватить, Python прост в изучении, и если вы новичок, Python — отличный способ начать свой путь программиста. Те простые на первый взгляд программы, которые вы будете писать, будут похожи на обычный английский язык, если вы хорошо знакомы с его грамматической структурой — стройные и понятные.Python имеет открытый исходный код. Вы можете скачать мануалы и свободно начать изучать Python практически сразу. Как и в Ruby, простой ввод "Hello World" будет состоять всего из одной строки кода:

print ("Hello World!")

Обратите внимание на использование print в отличие от puts в Ruby, а также на отсутствие точки с запятой в конце строки.

Источник: hackr.io
Источник: hackr.io

Умываем Rookie: что учить в итоге?

С практической точки зрения, если вы хотите разрабатывать веб-приложения, возможно, стоит сначала окунуться в Руби и Ruby on Rails как один из лучших фреймворков для разработки веб-приложений. Важно помнить, что окружающее его коммьюнити обеспечивает отличный сайд и ин-сайд саппорт, а значит и фидбек у вас будет соответствующий. Python больше подходит для строгих вычислительных практик. Поскольку в ближайшие пару десятилетий интерес к IT будет только расти, а строгость и прямота всегда в почете, думаю, Python будет более востребован. Кроме того, код на Python легко повторно юзать в разных приложениях.

Тут можно было бы написать банальность о том, что оба языка уникальны по-своему, а каждому разработчику свое. А лучше вообще выучить оба сразу, но мы с вами понимаем, что все зависит от вашего решения онли и от среды, в которую метите, осваивая тот или иной язык. Если вы абсолютный новичок, желающий погрузиться в мир разработки, очевидно, что вам может быть сложно решить, какой язык изучать в первую очередь. По статистике многие начинают с Ruby потому что это один из лучших инструментов для создания веб-приложений и стартапов. Синтаксис Python, как правило, проще для изучения и понимания. С другой стороны, о Руби отзываются как о более приятном языке и тут дело разработчика совсем вариантом (хотя это довольно субъективно, в зависимости от разработчика и потребностей бизнеса/ ниши, в которую метите.

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


  1. pomponchik
    12.10.2022 12:39
    +3

    Так а руби-то зачем учить? На питоне хороших веб-фреймворков нет?


    1. Areso
      12.10.2022 12:52
      +2

      1) он прикольный.

      2) на нём работает Puppet, если вдруг вы не стартапер, а админ из ынтырпрайза.

      3) на нём можно создавать быстрые прототипы (не то, чтобы на питоне нельзя было бы, но если вдруг вам зашёл пункт первый, то :) )


      1. pomponchik
        12.10.2022 12:55
        +4

        Питон тоже прикольный, на нем много чего работает, и на нем тоже можно писать прототипы. Руби-то зачем?


        1. Areso
          12.10.2022 13:26
          -1

          Руби это функциональный язык. Поэтому это накладывает отпечаток.

          Я не знаю, это как мотоцикл и машину сравнивать. Оба возят попу от А до Б, но ощущения разные :)


          1. Sklott
            12.10.2022 13:35

            Я не знаю, это как мотоцикл и машину сравнивать.

            Мне кажется, для сравнения Ruby и Python скорее подойдет аналогия, что это машины от разных производителей. Даже возможно немного разных формфакторов. Т.е. по идее все примерно одинаковое, но внешний вид и управление немного отличаются.

            По сути, внутреннее устройство Ruby и Python довольно близкое, синтаксис в некоторых аспектах сильно похож, в других различается, но по сути анологичные вещи можно сделать и там и там.

            А почему "выстрелил" именно Python судить не берусь...


            1. Areso
              12.10.2022 13:49
              -1

              А почему "выстрелил" именно Python судить не берусь...

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


      1. IvaYan
        12.10.2022 12:58
        +7

        Зачем учить Питон:

        1) он прикольный.

        2) на нём работает Ansible, если вдруг вы не стартапер, а админ из ынтырпрайза.

        3) на нём можно создавать быстрые прототипы (не то, чтобы на руби нельзя было бы, но если вдруг вам зашёл пункт первый, то :) )


        1. Areso
          12.10.2022 13:26

          Да, именно поэтому я выучил в своё время именно Питон.

          А мой знакомый выучил Руби.

          Каждому своё :)


  1. unabl4
    12.10.2022 12:42
    +13

    У вас на первой же картинке кружочки перепутаны


  1. glebasterBajo
    12.10.2022 12:42
    +13

    "Я работаю контент-менеджером ..."
    А буллшит статьи вы пишите в свободное от работы время, видимо ...


    По факту. Сложилось впечатление, что этот "контент" - сборная солянка переводов статей за 2000-2010-е года, когда хоть какое-то противостояние между этими языками и было.

    PS: недавно писали статью из разряда "хабр уже не торт" и, что всё больше и больше на хабре мусорных маркетинговых статей с нулевой смысловой нагрузкой - в куче мусора прибыло!


    1. SuperTEHb
      12.10.2022 12:56
      +9

      Не стал читать статью, а сразу зашёл в комментарии. И, видимо, правильно сделал.


  1. vectorplus
    12.10.2022 12:42
    +10

    AI, Data Science and scripts это сфера Руби, а не Питона? Точно?


  1. nagayev
    12.10.2022 13:36
    +2

    Удивитель низкий технический уровень статьи.

    Как будто написал школьник.