Руководства, учебные материалы и справочные ресурсы, которые помогут вам узнать больше о Ruby
{: .summary}

### Установка Ruby

Хотя вы можете легко [попробовать Ruby прямо в браузере][1], также можно прочитать
[руководство по установке](installation/), чтобы узнать, как установить Ruby на свою систему.

### Официальная документация Ruby

[docs.ruby-lang.org/en][docs-rlo]: Список документации для всех версий Ruby, выпущенных после 2.1.

[docs.ruby-lang.org/en/4.0][docs-rlo-4.0]: Документация для Ruby 4.0.

[docs.ruby-lang.org/en/master][docs-rlo-master]: Документация для основной (master) ветки Ruby.

[Руководство по C-расширениям][docs-rlo-extension]: Подробное руководство по созданию C-расширений для Ruby.

### С чего начать

[Попробуйте Ruby][1]
: Вы можете протестировать Ruby прямо в своём браузере.

[Learn to Program][8]
: Замечательное небольшое руководство от Chris Pine для новичков в программировании. Если вы не знаете как программировать — начните отсюда.

[Ruby за двадцать минут][rubyin20]
: Короткое руководство по Ruby, который можно пройти за 20 минут.

[The Odin Project][odin]
: Open source курс по full-stack веб-разработке.

[Exercism][exercism]
: 120 упражнений с автоматической проверкой и персональным наставником.

[Codecademy][codecademy]
: Онлайн-платформа для изучения программирования с различными курсами, включая Ruby.

### Руководства и книги

#### Для начинающих

[Programming Ruby 3.3][pickaxe]
: Основополагающая книга о Ruby на английском языке, недавно обновлённая до версии Ruby 3.3.

[The Well-Grounded Rubyist][grounded]
: Пошаговое руководство, начиная с первой программы на Ruby и заканчивая сложными темами: рефлексией, потоками и рекурсией.

#### Средний уровень

[Practical OOD in Ruby (POODR)][poodr]
: Практическая книга о том, как писать объектно-ориентированный код на Ruby.

#### Продвинутый уровень

[Metaprogramming][meta]
: Понятное объяснение метапрограммирования в Ruby.

[Ruby Under a Microscope (RUM)][microscope]
: Иллюстрированное руководство по внутреннему устройству Ruby.

### Документация от сообщества

Эти ресурсы поддерживаются сообществом Ruby.

[RubyDoc.info][16]
: Центральный ресурс справочной документации по Ruby-гемам и проектам с GitHub.

[RubyAPI.org][rubyapi-org]
: Удобный поиск и просмотр классов, модулей и методов Ruby.

[ruby-doc.org][39]
: Онлайн-справочник по API Ruby.

[DevDocs.io][40]
: Онлайн-справочник по API Ruby.

[Ruby QuickRef][42]
: Краткий справочник по Ruby.

[rubyreferences][43]
: Полное описание языка + детальный журнал изменений.

### Стиль кода

[rubystyle.guide][44]
: Руководство по стилю Ruby от RuboCop.

[RuboCop][45]
: Автоматическая проверка и соблюдение правил стиля.

[Shopify][46]
: Руководство по стилю Ruby от Shopify.

[GitLab][47]
: Руководство по стилю Ruby от GitLab.

[Airbnb][48]
: Руководство по стилю Ruby от Airbnb.

[w3resource][49]
: Руководство по стилю Ruby от W3resource.

### Инструменты

[IRB][50]
: Интерактивная консоль Ruby Read-Eval-Print-Loop (REPL).

[Pry][51]
: Альтернативный Ruby REPL.

[Rake][52]
: Инструмент сборки, аналогичный `make`, но для Ruby.

[RI][53]
: Командная утилита Ruby для быстрого доступа к документации прямо из терминала.

[RBS][54]
: Система описания типов для Ruby.

[TypeProf][55]
: Экспериментальный интерпретатор Ruby, работающий на уровне типов — полезен для анализа и понимания кода.

[Steep][56]
: Статический анализатор типов для Ruby.

### Редакторы и среды разработки (IDE)

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

Популярные редакторы среди Ruby-разработчиков:

* **Несколько дней освоения**
  * [Sublime Text][37] (платный)
  * [Visual Studio Code][vscode]
  * [Zed][zed]
* **Несколько месяцев**
  * [RubyMine][27] (платный)
* **«Годы» — то есть вы будете изучать их бесконечно**
  * [Emacs][20] с [Ruby mode][21] или [Enhanced Ruby mode][enh-ruby-mode]
  * [Vim][25] с плагином [vim-ruby][26]
  * [NeoVim][neovim]

Все эти редакторы поддерживают **Language Server Protocol (LSP)**
(по умолчанию или через плагины). LSP-сервер [ruby-lsp][ruby-lsp] от Shopify — один из самых популярных
и [поддерживает все вышеперечисленные редакторы][ruby-lsp-supported-editors].

### Старые материалы и ресурсы

Эти ссылки долгое время были популярны, но давно не обновлялись.

[Ruby Koans][2]
: Пошаговое обучение Ruby через тесты — «путь к просветлению» в духе дзен. Цель — понять язык, синтаксис и культуру Ruby.

[Ruby Essentials][7]
: Бесплатная онлайн-книга с кратким и понятным введением в Ruby.

[Why’s (Poignant) Guide to Ruby][5]
: Необычная, но весёлая книга, обучающая Ruby через истории и комиксы.
  Классика от *why the lucky stiff*.

[Learn Ruby the Hard Way][38]
: Сборник упражнений с объяснениями, проводящий вас от основ Ruby до ООП и веб-разработки.

[Programming Ruby][9]
: Первая версия знаменитой книги [Pragmatic Programmers][10], доступна бесплатно онлайн.

[The Ruby Programming Wikibook][12]
: Бесплатное онлайн-руководство с материалами для начинающих и подробным справочником по языку.

[1]: https://try.ruby-lang.org/
[2]: https://rubykoans.com/
[5]: https://poignant.guide
[7]: https://www.techotopia.com/index.php/Ruby_Essentials
[8]: https://pine.fm/LearnToProgram/
[9]: https://web.archive.org/web/20250512022451/https://ruby-doc.com/docs/ProgrammingRuby/
[10]: https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/
[12]: https://en.wikibooks.org/wiki/Ruby_programming_language
[16]: https://www.rubydoc.info/
[20]: https://www.gnu.org/software/emacs/
[21]: https://www.emacswiki.org/emacs/RubyMode
[25]: https://www.vim.org/
[26]: https://github.com/vim-ruby/vim-ruby
[27]: https://www.jetbrains.com/ruby/
[37]: https://www.sublimetext.com/
[38]: https://learncodethehardway.org/ruby/
[39]: https://ruby-doc.org/
[40]: https://devdocs.io/ruby/
[42]: https://www.zenspider.com/ruby/quickref.html
[43]: https://rubyreferences.github.io/
[44]: https://rubystyle.guide/
[45]: https://github.com/rubocop/ruby-style-guide
[46]: https://ruby-style-guide.shopify.dev/
[47]: https://docs.gitlab.com/ee/development/backend/ruby_style_guide.html
[48]: https://github.com/airbnb/ruby
[49]: https://www.w3resource.com/ruby/ruby-style-guide.php
[50]: https://github.com/ruby/irb
[51]: https://github.com/pry/pry
[52]: https://github.com/ruby/rake
[53]: https://ruby.github.io/rdoc/RI_md.html
[54]: https://github.com/ruby/rbs
[55]: https://github.com/ruby/typeprof
[56]: https://github.com/soutaro/steep
[codecademy]: https://www.codecademy.com/learn/learn-ruby
[docs-rlo]: https://docs.ruby-lang.org/en
[docs-rlo-4.0]: https://docs.ruby-lang.org/en/4.0
[docs-rlo-master]: https://docs.ruby-lang.org/en/master
[docs-rlo-extension]: https://docs.ruby-lang.org/en/master/extension_rdoc.html
[enh-ruby-mode]: https://github.com/zenspider/enhanced-ruby-mode/
[exercism]: https://exercism.org/tracks/ruby
[grounded]: https://www.manning.com/books/the-well-grounded-rubyist-third-edition
[meta]: https://pragprog.com/titles/ppmetr2/metaprogramming-ruby-2/
[microscope]: https://patshaughnessy.net/ruby-under-a-microscope
[neovim]: https://neovim.io/
[odin]: https://www.theodinproject.com/paths/full-stack-ruby-on-rails/courses/ruby
[pickaxe]: https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/
[poodr]: https://www.poodr.com/
[ruby-lsp]: https://github.com/Shopify/ruby-lsp
[ruby-lsp-supported-editors]: https://shopify.github.io/ruby-lsp/editors.html
[rubyapi-org]: https://rubyapi.org/
[rubyin20]: /ru/documentation/quickstart/
[vscode]: https://code.visualstudio.com/docs/languages/ruby
[zed]: https://zed.dev/
