Привет, Habr! Меня зовут Ира.
Я работаю контент-менеджером в одной из передовых IT компаний. Мы динамично развиваемся и предлагаем решения разной сложности для компаний и продуктов, развиваем свои проекты и часто делимся экспертизой.
У нас давно было желание написать статью, сравнивая Руби и Питон как два популярных языка программирования. Многие понимают в чем они схожи и в чем различны, но обычно это те, кто в теме, погружен, давно работает в IT и уже не обращает внимание на вещи, которые ньюкамерам могут показаться убедительными при выборе профессиональной траектории. Надеюсь, мой короткий вброс поможет разобраться. В силу рабочих обстоятельств мне часто приходится брать интервью у наших девелоперов и дизайнеров для создания уникального контента, меняя оптику и фреймворки.
Говоря о Ruby и Python хочется, конечно, жонглировать терминологией и всячески хвалить экспертов в своем деле, упирая на прогрев аудитории. Как нам известно из текущей мозговой и новостной повестки, голове стоит быть прохладнее, поэтому в тексте я бы хотела пройтись по порядку и коротко, простыми словами разобрать ключевые моменты, чтобы внести ясность в тему Руби и Питона с фокусом на актуальность.
Руби для людей: в чем фишка?
Ruby — один из самых распространенных и популярных языков общего профиля для создания веб-приложений, а Rails или Ruby on Rails — это элегантный и надежный фреймворк, построенный на архитектуре MVC и имеющий множество библиотек и встроенных функций. Короче, при использовании вам не придется разрабатывать все с нуля и вы сможете сосредоточиться только на конкретных бизнес-задачах в рамках заранее установленных требований. На всяких форумах Руби сильно хвалят и он достаточно актуален в текущей стартап-линии. Когда дело доходит до практики, говорят, что язык элегантный и прозрачный. Я долго выясняла, что это значит. Если формулировать коротко, то Руби не набрасывает на ваш код много синтаксиса. Вам вообще можно не работать с большим количеством кода для освоения простых вещей. Кодить на Руби, значит взаимодействовать с проблемными областями задач и сокращать время, затрачиваемое на написание кода. Если вы новичок, помните, что даже у настоящих мастеров программирования все получается не с первого раза. Если вы потерпели неудачу, стоит попытаться еще.
Язык Ruby разработан как бесконечно гибкий и расширяющий возможности программистов и включает в себя маневры для создания складного кода. Временами эти опции кажутся магическими, но подобная “гибкость” языка может быть во вред и создавать некоторые проблемы. Например, если у вас на Руби сразу все заработало, нет гарантии в том, что вам не придется вскрывать код при негативном результате работы. В этом смысле у Питона все достаточно прямолинейно и совсем лишено утонченности, за которую хвалят Руби. В этом языке хорош механизм расширения через библиотеки, который позволяет легко разрабатывать их новые версии.
Питон или жизнь: стоит ли кодинг свеч?
Если вы не слышали про Питон/ пайтон — вы не жили. Кажется, это самый популярный язык в айти и за пределами. Этот язык имеет обширный набор статистических библиотек, которые могут быть использованы для науки о данных, которая является самой популярной профессией сегодня. Это также делает его популярным языком среди тех, кто изучает статистику и моделирование данных. Как мне удалось ухватить, Python прост в изучении, и если вы новичок, Python — отличный способ начать свой путь программиста. Те простые на первый взгляд программы, которые вы будете писать, будут похожи на обычный английский язык, если вы хорошо знакомы с его грамматической структурой — стройные и понятные.Python имеет открытый исходный код. Вы можете скачать мануалы и свободно начать изучать Python практически сразу. Как и в Ruby, простой ввод "Hello World" будет состоять всего из одной строки кода:
print ("Hello World!")
Обратите внимание на использование print в отличие от puts в Ruby, а также на отсутствие точки с запятой в конце строки.
Умываем Rookie: что учить в итоге?
С практической точки зрения, если вы хотите разрабатывать веб-приложения, возможно, стоит сначала окунуться в Руби и Ruby on Rails как один из лучших фреймворков для разработки веб-приложений. Важно помнить, что окружающее его коммьюнити обеспечивает отличный сайд и ин-сайд саппорт, а значит и фидбек у вас будет соответствующий. Python больше подходит для строгих вычислительных практик. Поскольку в ближайшие пару десятилетий интерес к IT будет только расти, а строгость и прямота всегда в почете, думаю, Python будет более востребован. Кроме того, код на Python легко повторно юзать в разных приложениях.
Тут можно было бы написать банальность о том, что оба языка уникальны по-своему, а каждому разработчику свое. А лучше вообще выучить оба сразу, но мы с вами понимаем, что все зависит от вашего решения онли и от среды, в которую метите, осваивая тот или иной язык. Если вы абсолютный новичок, желающий погрузиться в мир разработки, очевидно, что вам может быть сложно решить, какой язык изучать в первую очередь. По статистике многие начинают с Ruby потому что это один из лучших инструментов для создания веб-приложений и стартапов. Синтаксис Python, как правило, проще для изучения и понимания. С другой стороны, о Руби отзываются как о более приятном языке и тут дело разработчика совсем вариантом (хотя это довольно субъективно, в зависимости от разработчика и потребностей бизнеса/ ниши, в которую метите.
Комментарии (13)
glebasterBajo
12.10.2022 12:42+13"Я работаю контент-менеджером ..."
А буллшит статьи вы пишите в свободное от работы время, видимо ...
По факту. Сложилось впечатление, что этот "контент" - сборная солянка переводов статей за 2000-2010-е года, когда хоть какое-то противостояние между этими языками и было.PS: недавно писали статью из разряда "хабр уже не торт" и, что всё больше и больше на хабре мусорных маркетинговых статей с нулевой смысловой нагрузкой - в куче мусора прибыло!
SuperTEHb
12.10.2022 12:56+9Не стал читать статью, а сразу зашёл в комментарии. И, видимо, правильно сделал.
pomponchik
Так а руби-то зачем учить? На питоне хороших веб-фреймворков нет?
Areso
1) он прикольный.
2) на нём работает Puppet, если вдруг вы не стартапер, а админ из ынтырпрайза.
3) на нём можно создавать быстрые прототипы (не то, чтобы на питоне нельзя было бы, но если вдруг вам зашёл пункт первый, то :) )
pomponchik
Питон тоже прикольный, на нем много чего работает, и на нем тоже можно писать прототипы. Руби-то зачем?
Areso
Руби это функциональный язык. Поэтому это накладывает отпечаток.
Я не знаю, это как мотоцикл и машину сравнивать. Оба возят попу от А до Б, но ощущения разные :)
Sklott
Мне кажется, для сравнения Ruby и Python скорее подойдет аналогия, что это машины от разных производителей. Даже возможно немного разных формфакторов. Т.е. по идее все примерно одинаковое, но внешний вид и управление немного отличаются.
По сути, внутреннее устройство Ruby и Python довольно близкое, синтаксис в некоторых аспектах сильно похож, в других различается, но по сути анологичные вещи можно сделать и там и там.
А почему "выстрелил" именно Python судить не берусь...
Areso
Мое имхо, потому что поставили в учебную программу школ и университетов, как более простой, и главное, мультипарадигменный (т.е. если кому-то захочется в функциональщину, то она там есть. Хоть и с оговорками).
IvaYan
Зачем учить Питон:
1) он прикольный.
2) на нём работает Ansible, если вдруг вы не стартапер, а админ из ынтырпрайза.
3) на нём можно создавать быстрые прототипы (не то, чтобы на руби нельзя было бы, но если вдруг вам зашёл пункт первый, то :) )
Areso
Да, именно поэтому я выучил в своё время именно Питон.
А мой знакомый выучил Руби.
Каждому своё :)