Что это простыми словами

Ruby (в разговоре часто «руби») — язык программирования, на котором пишут инструкции для программ. Его главная особенность — код читается почти как обычный текст, поэтому программисты говорят, что на Ruby приятно работать.

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

Официальное определение

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

«Ruby — динамический интерпретируемый объектно-ориентированный язык программирования общего назначения с акцентом на простоту и продуктивность».

Разберём по словам. «Динамический» — программисту не нужно заранее объявлять типы данных (где число, где текст), язык разбирается сам на ходу. «Интерпретируемый» — программу можно запустить сразу, без долгой предварительной сборки. «Объектно-ориентированный» — код организован вокруг объектов, как вещи в реальном мире: у каждого есть свойства и действия. «Общего назначения» — язык не заточен под одну узкую задачу. «Акцент на простоту и продуктивность» — язык спроектирован так, чтобы разработчик мог быстро написать понятный код.

Зачем нужен и какие задачи решает

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

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

В каких сферах используется и как понять, какой это разработчик

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

Главный ориентир — фреймворк Rails (Ruby on Rails). Если рядом с Ruby стоит Rails, ActiveRecord, Sidekiq, RSpec — перед вами бэкенд-разработчик, который пишет серверную логику веб-приложений: обрабатывает запросы от фронтенда, работает с базами данных, строит API.

В отличие от Python или JavaScript, у Ruby нет широкого разброса по сферам. «Ruby-разработчик» практически всегда означает «бэкенд-разработчик на Rails». Дополнительное уточнение сферы обычно не требуется — стек и так однозначный.

С чем взаимозаменяем

С другими языками Ruby практически не взаимозаменяем. Ruby-бэкендер — это не Python-бэкендер и не Java-бэкендер. Опыт между языками почти не переносится: синтаксис, библиотеки, способы решения задач — всё разное.

Даже если задача одна и та же (например, написать API для сайта), разработчик на Ruby делает это совершенно иначе, чем разработчик на Node.js или PHP. Переход с одного языка на другой — это фактически переучивание с нуля.

Внутри экосистемы Ruby почти все работают с фреймворком Rails, поэтому альтернатив мало. Есть более лёгкие варианты вроде Sinatra для небольших проектов, но Rails — стандарт отрасли.

Что не путать

Насколько это важно при отборе

Короткий ответ: язык — это жёсткий фильтр.

Опыт между языками не переносится. Ruby-разработчика нельзя без переучивания предложить на вакансию, где нужен Python, Java или Node.js. Если в вакансии указан Ruby — это жёсткое требование, а не пожелание.

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

Конкретные библиотеки внутри Ruby (ActiveRecord, Sidekiq, Devise) — это уже более мягкое требование. Кто работал с одной библиотекой, освоит другую относительно быстро. Но сам язык — критичен.

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