Обучение
- AI. Работа с нейросетями
- Подготовительные курсы
-
Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Fullstack
- Наука о данных
- Тестирование ПО
- Центр профессионального развития
- IT Bootcamp
- Гуманитарные и экономические дисциплины в IT
- Управление проектами и продуктами
- Бизнес- и системный анализ
- Веб-дизайн и компьютерная графика
- Системное и сетевое администрирование
- Информационная безопасность
- Маркетинг и продажи
- Английский язык для IT
Обучение
- AI. Работа с нейросетями
- Нейросети: практическое применение
- Искусственный интеллект в управлении командами и процессами
- Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Тестирование ПО
- Ручное тестирование ПО
- Мобильное тестирование приложений
- Автоматизированное тестирование на Python
- Автоматизированное тестирование на Java
- Автоматизированное тестирование на JavaScript
- Автоматизированное тестирование на C#
- Тестирование безопасности
- Гуманитарные и экономические дисциплины в IT
- Technical writing
- IT HR
- PR в IT
- Управление финансами в IT
- Управление проектами и продуктами
- Project management
- Product management: Основы управления IT-продуктом
Магия Ruby: «Почему задача решается так просто?»
На удивление простой и удобный в использовании. Вместо строгих правил – гайд с примерами и советами. В него влюбляются программисты. Все это о языке Ruby. Не магия ли лежит в его основе?
Чтобы разобраться в этом вопросе и исключить все домыслы, мы поговорили с Артёмом Дубровником, преподавателем курса «Программирование на Ruby». Рассказываем, что делает Ruby таким особенным, насколько легко его изучить и найти потом работу.
На фото – Артем Дубровник, преподаватель курса «Программирование на Ruby» в IT-Academy.
– Артём, давайте прежде всего ответим на вопрос: «Что это за язык?»
– Ruby – динамический, интерпретируемый язык высокого уровня с открытым исходным кодом. Его создатель, Юкихиро Мацумото, объединил части его любимых языков (Python, Perl, Smalltalk, Eiffel, Ada и Lisp), чтобы сформировать новый язык, в котором будет сбалансирована парадигма функционального программирования. Писать на Ruby – просто и удобно. Язык включает в себя множество вспомогательных методов и конструкций, позволяющих делать сложный вещи простым и понятными. Ruby прост на вид, но очень сложен внутри, подобно человеческому телу.
По мнению Артёма Дубровника, язык рассчитан на проекты малого и среднего размера. Ниже – список самых знаковых проектов, написанных на Ruby.
-
Github – веб-система управления проектами, хранимыми в среде управления версиями Git.
-
GitLab – система управления репозиториями кода для Git
-
RPG Maker (RPG Maker XP) — RGSS (Ruby Game Scripting System).
-
SketchUp – система трёхмерного моделирования и визуализации.
-
Redmine – система управления проектами, включающая багтрекер и вики-движок.
-
Vagrant – система управления виртуальными средами.
-
Homebrew – утилита управления пакетами в macOS.
– Что вам нравится в Ruby? Назовите, пожалуйста, основные преимущества.
– Одним из основных преимуществ языка программирования Ruby, я бы назвал свободу действий разработчика. В языке нет строгих правил, ограничивающих возможности и подходы к решению задач.
-
Хочешь вызвать приватный метод? Пожалуйста.
-
Посмотреть и изменить исходный код любой библиотеки? Запросто.
-
Динамически изменить код программы в ходе ее выполнения? Без проблем.
-
Не хочешь ставить скобочки и точки с запятой? Действуй.
Взамен строгих правил, сообщество разработало Ruby Style Guide – собрание примеров и размышлений на тему: как писать чистый и понятный всем код. Придерживаться этого гайда или отступать от его рекомендаций – решать только вам.
– Мы обсудили положительные стороны. А какие, по вашему мнению, у Ruby есть недостатки?
– Основным недостатком я бы выделил ту самую свободу действий. Высокий уровень абстракции Ruby делает порог входа достаточно низким, что дает в результате большое количество так называемых «кодеров» – людей, которые не понимают внутреннего устройства языка, его концепций и принципов. Такая категория людей успешно разрабатывает различные продукты, которые вполне функционируют. Но в меру своего непонимания основополагающих принципов и идеологии такие разработчики допускают множество сомнительных архитектурных решений, которые сильно усложняют процесс последующей разработки проекта.
– За сколько можно выучить Ruby с нуля? Нужна ли специальная подготовка или профильное образование?
– Чтобы выучить Ruby с нуля, потребуется от 2-х до 6-ти месяцев непрерывного изучения и постоянной практики. Профильное образование будет плюсом, но ни в коем случае не является обязательным. Чтобы не стать «кодером», важно понимать основы программирования, устройство памяти компьютера, алгоритмизацию и иметь определенные знания английского языка. Все необходимые знания и навыки можно приобрести самостоятельно. В Интернете полно курсов, направленных на понимание самых основ, которые формируют базовые понимания, необходимые для становления программиста.
– Первым впечатлением от знакомства с Ruby было: «Что это вообще такое? Как это вообще работает? Вау! Почему задача решается так просто? Разве такое возможно, что код работает правильно с первого раза? Почему мне не приходится страдать, как это было при работе с C++ или Java?»
Но погрузившись в изучение идеологии Ruby и внутренней реализации языка, вы осознаете, что тут все устроено интересно и творчески. Никакой магии нет.
– Насколько востребованы Ruby-разработчики на рынке труда? На какую зарплату рассчитывать джуну, мидлу и сеньёру?
– Хоть Ruby и не входит в 10-ку наиболее популярных языков программирования, спрос на специалистов этого направления достаточно велик. Это обусловлено тем, что большинство начинающих студентов предпочитают развиваться в популярных направлениях, таких как Java, C#, Python, даже не рассматривая Ruby или попросту не зная о его существовании. Это создает дефицит специалистов в направлении Ruby и, соответственно, повышенные заработные платы в сравнении с распространенными языками, где есть переизбыток специалистов.
Если говорить о цифрах, то Junior Ruby разработчик может рассчитывать на 300-500$, Junior+ – на 500-1400$, Middle – на 1400-2500$, Senior – на 2500$-4000$.
– Давайте резюмируем. Стоит ли начинающим программистам изучать Ruby?
– Изучать Ruby или нет – это ваше дело. В свое время я совершенно случайно познакомился с этим языком и влюбился в него. Я каждое утро просыпаюсь с улыбкой на лице и с радостью приступаю к своей работе.