Python vs Ruby / Хабр

grigoryvp

Время на прочтение 5 мин

Количество просмотров

134K

Блог компании Фаматек Программирование *

Данная флеймообразующая статья призвана собрать в одном месте актуальную информацию по преимуществам Python над Ruby и Ruby над Python. Основываясь на собственном многолетнем опыте использования обоих языков, я постарался ограничить сравнение языками как таковыми и их стандартными библиотеками — сравнение web фреймворков, сред разработки и доступных библиотек не включены в статью, так как здесь и без меня немало копий сломано.


  • Документация намного лучше, чем у Ruby. С вступительной частью, литературными отступлениями и многочисленными примерами. У Ruby многие модули, например DL или Win32API не документированы вообще, документация в целом значительно слабее.
  • Используются настоящие потоки операционной системы. Несмотря на то, что оба языка используют GIL (global interpreter lock), использование настоящих потоков позволят коду на Python выполнять в отдельных потоках блокирующие операции — например, вызов shell скрипта или функций операционной системы — и при этом не блокировать другие потоки. В Ruby до версии 1.9 использовался один настоящий поток, а переключение между потоками языка эмулировалось. На практике это приводит к тому, что если в отдельном потоке Ruby вызвать shell скрипт (например, копирование файлов) или функцию операционной системы (например, показать окошко с сообщением) — то все остальные потоки в данном скрипте останавливались. Начиная с версии 1.9 Ruby использует настоящие потоки операционной системы, но на данный момент (версия 1.9.3-p125) множество недоработок не позволяют получить от этого преимущество — в частности, Ruby крайне не любит поднимать GIL при вызовах блокирующих операций, так что попытка показать окно операционной системы в отдельном потоке так же остановит остальные — на этот раз потому, что не будет поднят GIL.
  • Поддержка unicode — в Ruby она появилась только начиная с версии 1.9, процесс перехода на которую пока далек от завершения.
  • Поддержка именованных аргументов функций. В Ruby данный подход можно эмулировать, передав последним аргументом словарь, но это увеличивает количество кода.

  • Очень хорошая встроенная библиотека ctypes для взаимодействия с операционной системой. Встроенная в ruby библиотека dl намного хуже документирована и сложнее в использовании — авторы рекомендуют использовать gem ‘ffi’.
  • Функция является объектом — ссылку на нее можно поместить в переменную, массив, передать другой функции. В ruby идентификатор функции сам по себе является вызовом, поэтому для передачи ссылки на функцию ее нужно оборачивать в промежуточный объект, «proc», что усложняет код.

  • Поддержка декораторов — возможность добавлять к объектам аннотации, меняющие их поведение. В ruby это можно эмулировать с помощью интроспекции — но код становится сложнее, требует велосипеда с этой самой интроспекцией, которая еще и не очень быстрая.

  • Встроенная поддержка JSON. В ruby — только начиная с версии 1.9
  • Встроенная поддержка SQLite. Ruby не имеет встроенных средств работы с базами данных.
  • Встроенный GUI, «Tk», одинаково хорошо поддерживается на всех платформах. В Ruby тоже есть Tk, но инсталлятор для Windows по умолчанию его не ставит, а в OSX начиная с 10.6 он не работает для поставляемого с системой Ruby и нужно его перекомпилировать, что в целом не очень просто.
  • В Ruby исключение, брошенное не в главном потоке, не обрабатывается обработчиком исключений по умолчанию.
  • Поддержка распаковки и запаковки архивов в стандартной библиотеке.
  • Хорошая поддержка GUI библиотеки Qt для всех поддерживаемых платформ. А Qt, это, как известно — сила.
  • Поддерержка named capture groups в регулярных выражениях. В Ruby — только начиная с версии 1.9
  • В целом более распространен. Если у какой-нибудь программы или библиотеки есть binding (VirtualBox, Qt, GTK) то в большинстве случаев это будет Python.
  • Стабильные версии 2.6 и 2.7 почти не отличаются друг от друга и являются мейнстримом, переход на 3.x — в очень отдаленной перспективе. У Ruby сейчас активно идет переход с несовместимых веток 1.8 на 1.9 — довольно болезненный, мучительный и порождающий косяки.

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

  • Встроенная поддержка openssl. Для python — либо использовать ActivePython с не очень удобной и слабо документированой реализацией pyopenssl, либо самому ставить более удобную m2crypto — которая не то чтобы особо легко ставится, особенно под windows.
  • Поддержка создания внутренних DSL: блоки, instance_eval, вызов функции без скобок.
  • Удобный механизм вызова shell команд и получения результата их работы — всего два символа `. Корректно работает с путями, содержащими пробелы — чего не скажешь о модуле subprocess в Python, где для корректной работы с пробелами приходится передавать команду и ее аргументы не строкой, а списком.
  • Возможность включать модули по относительному пути. Python технически это может, но большим количеством кода и с рядом неприятных спецэффектов.

  • Встроенная поддержка OLE в Windows. В Python есть хороший модуль pyWin32 — но его надо либо устанавливать вручную, либо устанавливать ActivePython, где он идет в комплекте.
  • Индексирование за пределами коллекции возвращает nil, что позволяет в ряде случаев писать очень лаконичный код.
  • Удобный синтаксис подавления ожидаемых ошибок.

  • В стандартную библиотеку входит неплохой шаблонизатор «erb».
  • Возможность создания временных папок с автоматическим удалением. В Python такая возможность появилась только в версии 3.2 — а это совсем отдаленное будущее.
  • Есть языковая конструкция switch. А в python — нету.
  • Начиная с версии 1.9 named capture groups в регулярных выражениях можно автоматически превращать в переменные.

  • Лучшая поддержка работы со временем и датой. Стандартная библиотека Python даже с UTC не позволяет работать.
  • Чтение содержимого файла в Windows без спецэффектов. В Python файл по умолчанию открывается в «текстовом режиме», что автоматически конвертирует переводы строки и обрывает чтение при достижении волшебного символа EOF, что может привести к неприятным багам.
  • У потоков есть метод exit, который позволяет штатно остановить работу потока снаружи. В Python остановить работу потока «снаружи» нельзя — нужно встраивать собственные велосипеды с флагом остановки.

Сверяемся со списком и выбираем язык под задачу. Ruby традиционно лучше справляется с обработкой текста, DSL, автоматизацей shell (смотрим на rake и завидуем). Python — многопоточность, GUI, биндинги ко всему что движется, лучшая документация и поддержка индустрией. При использовании Ruby, если есть возможность, лучше использовать версии 1.9.x — там слишком много изменений к лучшему по сравнению с 1.

8.x. Вопросы, комментарии, флейм? Добро пожаловать в комменты.

P.S. Предвидя комментарии вида «а мне для <пункт сравнения> больше нравится <язык>, потому что <причина>». На вкус и цвет фломастеры разные, я рассказываю с колокольни своего практического опыта и моих задач, которые, к тому же, далеки от сайтостроения. В статье описаны различия, которые я расставил как «сильные» и «слабые» стороны исключительно на свой субъективный, хотя и профессиональный, взгляд. Надеюсь, статья станет неким базисом, на основании которого разработчики смогут выбрать язык под свои задачи чуть более осознанно.

P.P.S Предвидя комментарии вида «в <пункт сравнения> код на <язык> написан неправильно — это делается по другому». Примеры утрированы и сравнивают

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

Теги:

  • python
  • ruby

Хабы:

  • Блог компании Фаматек
  • Программирование

Всего голосов 201: ↑163 и ↓38 +125

Комментарии 349

Григорий Петров @grigoryvp

Программист, Технический писатель, DevRel

Комментарии Комментарии 349

Python или Ruby | GeekBrains

Python или Ruby — вечный спор в мире веба. Рассмотрим, чем они отличаются, и какой язык подойдёт именно вам.

3 минуты

23930

Автор статьи

Илья Бубнов

Автор статьи

Илья Бубнов

https://gbcdn.mrgcdn.ru/uploads/post/1246/og_cover_image/357d9dcc26d9bfc049aea0636af95092

Один из классических вопросов в мире программирования: «Что выбрать — ruby или python?». На первый взгляд, оба языка имеют схожие преимущества, востребованы, активно развиваются. Сторонники каждого из лагерей переманивают сомневающихся на свою сторону, оперируя спорными аргументами.
Проведём собственное сравнение python и ruby по 6 критериям, чтобы выяснить, какой язык подходит именно вам.

История

Сегодня в это тяжело поверить, но долгое время у начинающих веб-гиков не было дилеммы: «что изучать — ruby или python?».

Официально Python старше на 4 года своего главного конкурента, он был разработан в 1991 году. Все эти 26 лет он степенно развивался, проникал во все сферы IT от десктопных приложений до искусственного интеллекта, наращивал сообщество.

Юкихиро Мацумото, создатель Ruby, имел достаточно времени, чтобы оценить все плюсы и минусы не только Python, но и других языков (в частности, perl). Однако первые годы после рождения дались Ruby тяжело — несколько лет готовилась официальная документация, сообщество развивалось не так стремительно, как хотелось Мацумото. Значительный прогресс наметился лишь в 2005 году, когда появился Ruby on Rails — фреймворк с богатыми возможностями веба. Новые возможности заинтересовали массы и с этого момента Руби стал полноправным конкурентом питона в мире веба.

Простота изучения

Однозначного ответа на вопрос: «Что легче — python или ruby?» не существует. Это как с кинематографом: среди мировых блокбастеров можно найти и содержательный экшн, и фильмы, где во главе угла стоит игра актёров. Одни не исключают другие, а лишённый стереотипов зритель увидит прекрасное в каждом подходе.

Питон или руби в этом сравнении — экшн или драма. Python — прямолинейный, предельно упрощённый язык с кучей спецэффектов. Ruby — более тонкий, изящный, но тоже понятный после короткого знакомства. Вот простое сравнение синтаксиса на примере вычисления времени:

Ruby:
require8 ‘active_support / all’
new_time = 1.month.from_now


Python:
from datetime import datetime
from dateutil.relativedelta import relativedelta
new_time = datetime.now() + relativedelta(months=1)

Python привычнее и проще, но подход Ruby выглядит более элегантным и профессиональным.

Сообщество

Здесь безоговорочную победу одерживает Python. Правда, характеризует это не столько качество и продуманность языка, сколько большее количество сфер применения. Благодаря тому, что в Python есть множество математических и статистических библиотек, о нём больше спрашивают на студенческих и научных форумах. У приверженцев Ruby почти все ресурсы посвящены вебу. Эта тема изучена вдоль и поперек, поэтому активность стимулируется в основном новыми ошибками Ruby on Rails.

Тем не менее, однозначного ответа на то, python или ruby лучше для начинающих, нет, в обоих сообществах вы найдёте исчерпывающие ответы на любые вопросы.

Сфера применения

Очевидное преимущество Python. Как уже было сказано выше, Python применяется в:

  • веб;
  • мобильных и десктопных приложениях;
  • играх;
  • больших данных;
  • искусственном интеллекте;
  • сетевом администрировании.

Ruby может ответить на это только развитостью в вебе.

Если брать за мерило успеха имена компаний, официально поддерживающих язык — здесь наблюдается равенство:
Python: Google, Instagram, Pinterest, Mozilla Firefox и National Geographic.
Ruby: Apple, Airbnb, Twitter, Github и Groupon.

Так что для рядового программиста актуален вопрос выбора python или ruby для web. Если же нужна ширина применения – тогда Python.  

Производительность

С точки зрения скорости написания кода Python является победителем и этого раунда. Дело тут и в объеме кода, и в общем желании разработчиков языка предельно ускорить написание программ. Однако согласно свежим сводкам с форумов, работать с Ruby удобнее и из-за большей «человечности» языка, и развития платформы Ruby on Rails.
А вот производительность исполняемого кода помогут оценить специальные тесты. Один из них приведён здесь. Взглянем на адаптированную гистограмму сравнения Perl Python Ruby PHP:

Очевидно, что современный Ruby значительно обходит в производительности своих «основателей», что подводит нас к 6 пункту сравнения.

Перспектива

Если смотреть динамику развития — у Ruby она куда круче. Более того, если говорить именно о вебе, несмотря на всю развитость Django, именно Ruby on Rails обладает большими возможностями и фичами: скоростью, инструментами, реакцией на тренды.

Python же всё больше уходит от веба в другие дисциплины. Сегодня он развёрнут едва ли на каждой Linux-машине, практически на равных борется с MATLAB в области комбинаторики и нейросетей и т.д.

Поэтому неправильно говорить, что Ruby перспективнее Python, просто векторы развития языков совершенно разные.

Вывод

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

Если это желание обрести новую прибыльную специализацию, то оба языка мимо, так как в России они востребованы значительно меньше, чем Java, PHP и пр.

Во всех остальных случаях, выбор лучшего языка имеет прямую зависимость от сферы вашей будущей деятельности. Исключительно для веба сегодня перспективнее выглядит Ruby. Но если ваши амбиции куда шире — только Python станет для вас универсальным инструментом.

ruby_developerweb developmentruby

Нашли ошибку в тексте? Напишите нам.

Ruby и Python: плюсы, минусы и с чего начать

Ruby и Python — два популярных компьютерных языка, используемых при создании веб-приложений. Оба чисты, удобочитаемы, с открытым исходным кодом и представляют собой языки высокого уровня, используемые для создания серверных функций, необходимых для поддержки внешнего интерфейса приложения. Разработчики могут создавать веб-приложения в различных браузерах и операционных системах с помощью Ruby или Python.

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

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

Ruby

Ruby — язык программирования, разработанный в 1995 году Юкихиро Мацумото. Он хотел создать гибкий объектно-ориентированный язык, который понравится программистам. Им это понравилось настолько, что Ruby стал одним из самых популярных языков для разработки веб-приложений.

Это общеупотребительный язык, популярный в отрасли. Apple, GitHub, Twitter, Hulu, ZenDesk и Urban Dictionary — веб-сайты, разработанные с помощью Ruby, демонстрирующие его универсальность. Ruby — это язык общего пользования, который более популярен в промышленности, чем в науке или академических кругах.

Использование Ruby для создания приложений

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

Ведущей средой, используемой для запуска Ruby, является Ruby on Rails, хотя и не единственная. Ruby on Rails был выпущен в 2004 году и значительно упростил использование языка. Это одна из причин, по которой разработчики многих стартапов используют Ruby для создания своих приложений.

Особенности

Ruby — это объектно-ориентированный язык программирования общего назначения, работающий на Mac, Windows, Unix и большинстве операционных систем. У него гибкий подход к решению задач, который некоторые программисты ценят, а некоторые нет.

Преимущества

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

недостатки языки. Кроме того, Ruby и Ruby for Rails загружаются дольше и работают медленнее, чем другие платформы программирования.

Спрос на программистов на Ruby и Python

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

Бюро статистики труда прогнозирует, что спрос на веб-разработчиков будет расти быстрее, чем в среднем в период до 2030 года [1].

Один из способов решить, какой язык изучать, — просмотреть список вакансий, чтобы понять, какая из них вам подходит.

Python

Python — это простой язык программирования, часто используемый в науке о данных, искусственном интеллекте и финансовых приложениях. Это распространено в академической среде и широко преподается в университетах. Он был разработан в 1989 году и выпущен в 1994 году. В 2011 году Google объявила, что использует Python для многих внутренних процессов — эта новость привлекла внимание.

Google — не единственный коммерческий пользователь, так как Dropbox, Instagram, Mozilla и Yahoo также используют Python.

Самый популярный фреймворк Python — Django, но вы вполне можете встретить и другие [2]. Django был выпущен в 2005 году и сделал Python очень конкурентоспособным с Ruby и фреймворком Ruby on Rails.

Применение Python в приложениях

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

Подробнее: Для чего используется Python? Руководство для начинающих

Возможности

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

Преимущества

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

Недостатки 

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

Как выучить Ruby или Python

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

Сертификаты

Вы можете продемонстрировать свои знания Ruby или Python через программы сертификации. Некоммерческие организации, которые управляют программами, предлагают сертификационные экзамены, которые позволяют вам подтвердить свои навыки. Вы можете посещать занятия для подготовки к экзаменам или учиться самостоятельно.

Для получения дополнительной информации см.:

  • Экзамен Ruby Association Certified Programmer Examination

  • PCEP — Certified Entry-Level Python Programmer

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

Учебные курсы

Учебные курсы по кодированию — это краткосрочные интенсивные программы обучения, которые охватывают основы программирования и предлагают погружение в определенный язык. Некоторые из них предлагаются университетами, а другие управляются коммерческими учебными компаниями. В зависимости от вашего расписания вы можете приобрести навыки Ruby и Python в личном или онлайн-варианте.

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

Статьи по теме

  • Насколько сложна информатика?

  • Чем занимается инженер-программист?

  • Что вы можете делать со степенью в области компьютерных наук?

  • Компьютерные науки и информационные технологии: карьера, ученые степени и многое другое

Источники статей

1. Бюро трудовой статистики США. «Руководство по профессиональным перспективам: резюме веб-разработчиков и цифровых дизайнеров, https://www.bls.gov/ooh/computer-and-information-technology/web-developers.htm». По состоянию на 3 марта 2022 г.

2. GitHub. «Лучшие веб-фреймворки Python, https://github. com/mingrammer/python-web-framework-stars». По состоянию на 3 марта 2022 г.

Автор: Coursera • Обновлено

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

Ruby и Python: в чем разница?

Mattan Griffel Подписаться Соучредитель One Month. Преподаватели Колумбийской школы бизнеса. Я пишу о стартапах, технологиях и философии.

3 минуты чтения

Что лучше Ruby или Python?

В своей работе я использовал и Ruby, и Python, и, несмотря на то, что они похожи, в некоторых важных аспектах они также различаются. Это популярный вопрос, но важный, поэтому позвольте мне привести пример разницы между Ruby и Python.

Ruby и Python. В чем разница?

Чтобы подготовить почву, я сначала изучил веб-разработку с помощью Python (и среды Python под названием Django). Потратив четыре года на создание приложений Django, я получил работу по разработке Ruby on Rails и ожидал, что переход будет простым. Именно тогда мне стало ясно, что два языка и фреймворка очень разные и не так-то просто перепрыгнуть с одного на другой.

Итак… Чем они отличаются?

Язык:

Веб-инфраструктура Ruby on Rails построена с использованием языка программирования Ruby, а веб-инфраструктура Django построена с использованием языка программирования Python.

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

Ruby разработан, чтобы быть бесконечно гибким и расширяющим возможности для программистов. Это позволяет Ruby on Rails делать множество маленьких трюков, чтобы создать элегантную веб-инфраструктуру. Иногда это может казаться даже волшебным, но гибкость также может вызвать некоторые проблемы. Например, та же самая магия, которая заставляет Ruby работать, когда вы этого не ожидаете, может также очень затруднить отслеживание ошибок, что приводит к часам прочесывания кода.

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

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

 Рубин
требуется 'active_support/все'
новое_время = 1.месяц.от_сейчас

 
 Питон
из даты и времени импортировать дату и время
из dateutil. relativedelta импортировать относительную дельту
новое_время = datetime.now () + относительная дельта (месяцы = 1)
 

Обратите внимание, что Python требует от вас импортировать определенные функции из библиотек datetime и dateutil. Это явно, но это здорово, потому что вы можете легко сказать, откуда все берется.

В версии Ruby гораздо больше скрыто за занавеской. Мы импортируем некоторую библиотеку active_support, и теперь внезапно все целые числа в Ruby имеют эти методы «.days» и «.from_now». Читается хорошо, но непонятно, откуда этот функционал в active_support. Кроме того, идея залатать все целые числа в языке новой функциональностью — это круто, но это также может вызвать проблемы.

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

Веб-фреймворки

Django и Rails — это фреймворки, помогающие создавать веб-приложения. У них одинаковая производительность, потому что и Ruby, и Python являются языками сценариев. Каждый фреймворк предоставляет вам все концепции традиционных фреймворков MVC, такие как модели, представления, контроллеры и миграции баз данных.

Каждая платформа по-разному реализует эти функции, но в основе они очень похожи. Python и Ruby также имеют множество библиотек, которые вы можете использовать для добавления функций в свои веб-приложения. У Ruby есть репозиторий под названием Rubygems, а у Python есть репозиторий под названием Package Index.

Сообщество

За Python и Ruby стоят значительные сообщества. Каждое сообщество влияет на направление языка, обновления и способ создания программного обеспечения. Однако у Python гораздо более широкое сообщество, чем у Ruby. Существует множество академических вариантов использования как в математике, так и в естественных науках, где Python процветал, и благодаря этому импульсу он продолжает расти. Python также предварительно установлен почти на каждом компьютере с Linux, что делает его идеальным языком для использования на серверах Linux (т. е. на самых популярных серверах в мире).

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

Применение

Кто использует эти языки программирования? Довольно много компаний. И Ruby, и Python широко распространены в мире технологий.

Существует множество известных веб-сайтов, созданных с помощью Python, включая Google, Pinterest, Instagram, National Geographic, Mozilla Firefox и Washington Post. Точно так же существует столько же примеров веб-сайтов Ruby on Rails. Известные компании, использующие Ruby on Rails, включая Apple, Twitter, Airbnb, Shopify, Github и Groupon.

Должен ли я сначала изучать Python или Ruby?

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