Содержание
10 причин для перехода на Ruby / Хабр
Я познакомился с Ruby сравнительно недавно, благодаря чудесному фреймворку Ruby on Rails. Я не считаю себя экспертом в Ruby, но я прочитал PickAxe, написал несколько утилит на Ruby для личного пользования, а также разрабатываю на Rails в свободное время.
Ruby на данный момент, мой основной язык. Начинал же я с TurboPascal в школе, изучал C и C++ в университете, дисертацию писал на Java, а еще я изучал PHP с нуля, так как хотел научиться делать веб-сайты быстро и легко. Думаю, что написание кода для меня это некая форма развлечения, а уж потом все остальное. В начале у меня были размышления, какой язык изучать, Python или Ruby. Я выбрал второй, так как не хотел, чтоб неправильные отступы были причиной неполадок в моем коде.
Есть целая куча введений, руководств, статьей и эссе, написанных гуру, о том, как получить максимум пользы от Ruby. Данная статья ничем таким не является.
Это более скромный, неполный перечень причин, которые могут (или не могут) побудить вас использовать Ruby, ну или в крайнем случае поиграть с ним. Предостережение: если вы используете другой язык программирования для работы или в других целях — не жалуйтесь мне, если больше не захотите им пользоваться. Именно это и произошло со мной, но для меня это не столь важно. Ruby чудесный и элегантный язык и как многие подобные вещи, он может захватить ваш разум и поломать душу.
Короче, вы — предупреждены.
Зачем изучать Ruby?
1.Вы получаете все удобства (удовольствия) без уловок.
Ruby позаимствовал все лучшее из других языков программирования, от smalltalk до Java, от Perl до Python. Вот базовые возможности, которые вы в принципе могли видеть и в других языках:
- Исключения. Верите или нет, исключения являются одной из важнейших вещей при разработке программ любого рода. Программисты на PHP4, не знают ничего о них и будут говорить вам, что можно просто печатать(ошибки) на экран или использовать их собственный «супер-пупер» класс для обслуживания ошибок. К счастью для всех нас, Ruby поставляется с try/catch (или еще лучше begin/rescue) блоками и набором предопределенных, расширяемых Исключений, для правильной обработки ошибок.
- Пространства имен: модули Ruby делают использование пространства имен легким, это должно понравиться энтузиастам C++ и Java.
- Встроенные регулярные веражения: Для всех знатоков Perl, вы можете заключить нечто в // и оно становится регулярным выражение, готовым для сравнения (для этого используем оператор =~).
- Перегрузка операторов: Ruby позволяет определять операторы, такие как +, -, >, и т.д. для любого вашего класса.
- Пакеты: называемые «gems»(камешки), они действительно оправдывают свое название, кроме того — они работают. Пакеты поддерживают зависимости, а еще могут быть как кросс-платформенные, так и платформо-зависимыми.
- Интерактивная консоль: может использоваться для тестирования кода интерактивно, подобно консоли Python
2.Вы полюбите мелочи.
Ruby изящен. Почему? Потому-что он не старается делать код лаконичным настолько, что б это мешало читабельности и пониманию. Есть несколько советов, которые могут вам помочь:
- Вы можите использовать оба оператора, if и unless в условных выражениях. Кончно же вы можите использовать if с противоположным значением выражения, но использования unless обычно приводит к меньшему числу ошибок. Кроме того, вы можите использовать оба оператора, как условные модификаторы, ставя их после выражения, а не до:
order.new unless order.exists
- Можно использовать знаки вопроса и восклицания в конце имени метода. Данное соглашение не навязывается, но знак «?» используется, когда метод возвращает true или false, в то время, как знак «!» используется для методов, делающих нечто необратимое, на подобии удаления записи из базы данных, отщепления последнего символа из строки и т.п.
- Можно использовать псевдонимы (alias) для уже созданных методов. Таким образом можно получить методы exist и exists, без накладных расходов и без повторений.
- Вы можете использовать директивы attr_reader, attr_writer или attr_accessor для автоматического создания getter/setteer для членов класса.
- И еще некоторое соглашение об именах: константы, классы и модули пишут с заглавной буквы, методы и члены класса должны начинатся с маленькой буквы, глобальные переменные именуют начиная с «$», имена переменных объекта начинаются с «@», а имена переменных класса с «@@», ну и т. д.
- При вызове методов, можно не писать скобки. Можно писать
write File.open("/home/h4rald/test.txt")
или простоFile.open "/home/h4rald/test.txt"
, что особенно удобно с методами, без аргументов.
3.Больше не нужно использовать точку с запятой.
Хотите написать следаующую инструкцию? Просто переходите на новую строку. Нажмите «Enter» и готово. В Ruby как и в Python, новая линия разделяет инструкции, так что вам не придется все время ставить точку с запятой. К сожалению это означает, что подобно фанатам C++, мы не сможем написать программу в одну строчку. Но это не так уж и плохо, правда?
4.Все является объектом, как это и должно быть.
Когда я изучал Java, мне говорили, что все является объектом.
— «Че, 14 и 374346.678 — объекты?»
— «Нет, глупыш, это числа!»
В Ruby числа, символы, булевы значения и все остальное является объектом. Серьезно. Это означает, что можно писать вещи подобно этим:"YOU SHOULDN'T ALWAYS USE CAPITALS".lowcase # вернет "you shouldn't always use capitals"
, вместо нечто такого:# PHP Code
strtolower("YOU SHOULDN'T ALWAYS USE CAPITALS")
Этим вы экономите время, экономите скобки и так более логично.
5.Все имеет значение.
Или «больше не надо использовать return для возврата значений». Если побыстрячку, то так: все инструкции в Ruby возвращают значение, даже присваивание переменных, так что вам действительно не нужно использовать ключевое слово «return» в конце методов. Значение последнего присваивания всегда будет возвращено.
6.Можете изменять окружение любым доступным способом.
Впервые увидев это, я был впечатлен. Представьте типичную ситуацию: вы стали использовать системный класс или класс, написаный кем-то другим и поняли, что вам надо некий дополнительный метод в нем. Есть несколько путей для решения этой проблемы в типичных языках программирования:
- Вы изменяете исходный код класса, если вы имеете к нему доступ. Но обычно это — плохая идея, не делайте так.
- Вы наследуете свой класс от того и добавляете к нему новый метод. Обычно это — хорошая идея. Но из-за одного метода это может оказаться несколько монрообразным. Кроме того, придется немного подправить другой свой код соответственно.
- Можно просто создать метод вне класса. Это сработает, но будет не очень изящно, а еще — идет в разрез с ООП.
В Ruby вы можете добавить метод в оригинальный класс, без правки исходных кодов. Это можно сделать даже для системного класса.
Мы хотим добавить метод, для пересчета значений из метров в футы? Просто расширим класс Numeric, как показано:class Numeric
def feet
self*3.2808399
end
end
С этого момента, все наши числа, будут иметь новый метод, который может использоваться, как любой другой:5. feet # возвратит 16.4041995
Классы в Ruby никогда не закрываются и могут быть расширены в любой момент, из любого места. Естественно использовать такую возможность надо с осторожностью!
7.Вы не сможите получать единорогов из птиц и конец, но вы получите ослов, если захотите.
Я четко помню, как моя учительница по C++, использовала животных, для иллюстрации основных концепций объектно-ориентированного программирования — классов и наследования. Было нечто загадачно, когда объясняла нам множественное наследование, образовывая «пегаса» из «птиц» и «лошадей». Сумасшедшие вещи, Ruby не позволяет множественного наследования. Это выглядит как тренд и в конце-концов это дело вкуса. Я не в восторге от множественного наследования, так как это может привести к непредсказуемым вещам. Несмотря на это есть возможность создания нечто подобного, используя модули Ruby, так что переменные и методы одного модуля, будут добавлены в определенный класс, если модуль включен в него.
8. XML — реально ненужен.
XML — красивый, общеупотребительный, язык разметки, который может быть обработан всеми языками программирования и используется повсеместно. К сожалению, он слишком громоздкий для написания, трудный для обработки(парсинга) и, давайте будем честны — трудный для чтения в большинстве случаев. А вот взгляните на следующий фрагмент:regexp: !ruby/regexp /a-zA-Z/
number: 4.
string: a string
Безусловно это легче и проще XML, правда? Добро похаловать в YAML, любимый (но не единственный) язык разметки Ruby, с помошью которого любой объект может быть представлен в простом, лаконичном, но полном виде.
Ruby способен работать с XML, но простота YAML подкупила многих разработчиков, которые теперь используют его вместо XML, например для файлов конфигурации (так поступили в Rails). Фрагмент, представленный выше, был получен исполнением следующего фрагмента кода:{"string" => "a string", "number" => 4. 7, "regexp" => /a-zA-Z/}.to_yaml
Метод to_yaml, определен для класса Object, который является родителем для всех остальных объектов, а потому доступен для всех объектов Ruby. Это позволяет преобразовывать объекты в YAML и обратно, абсолютно прозрачно для разработчика. Круто, да?
9.Лямбда — нечто больше, чем просто греческая буковка.
Ruby позаимствовал некую магию из Lisp и Perl в объекты и блоки Proc. Proc — это «блок кода, связанный с набором локальных переменных. Однажды связанные, они могут вызываться в различных контекстах и все еще обращаться к тем переменным.». Поглядим на следующе:def gen_times(factor)
return Proc.new {|n| n*factor }
end
times3 = gen_times(3)
times5 = gen_times(5)
times3.call(12) #=> 36
times5.call(5) #=> 25
times3.call(times5. call(4)) #=> 60
Можно было использовать ключевое слово lambda вместо Proc.new, на результат это не влияет. Это могло показаться знакомым людям, знающим Perl и Python (или Lisp). Такое можно сдалать даже на PHP, но не много людей пользуются этой возможностью.
Кроме того в Ruby широко используются блоки типа «несозданные Proc», например, для итерации по содержимому объекта и исполнения некоторого кода, подобно методу each, доступного для класса Array:[1, 2, 4, 6, 8].each {|c| puts c*2} #=> возвратит каждый элемент, умноженный на 2
Если код не умещается на одной строчке, рекомендуется использовать конструкцию do… end, вместо использования скобок. Фаны Ruby не любят скобок.
10. Вы можете использовать Rails.
Последнее, но не по важности… Вы всегда можете использовать Rails для разработки веб-приложений. Разработка будет не настолько простой, как с PHP, но Rails были написаны на Ruby, поскольку он имет возможности, отсутствующие в других языках.
Заключение
Время вышло. Возможно вы уже задумываетесь о взгляде на Ruby, возможно вы уже пробовали его, а возможно вы просто проигнорировали его. Как бы там нибыло, в следующий раз, когда глядя на свой код, он будет казаться страшным, а размер его устрашающим — не обвиняйте меня.
Уважаемые Читатели — не забывайте, что хабраюзер, просто перевел (паршиво, да) текст. Идеологических претензий ему высказывать нет нужды.
Что такое Ruby on Rails? — Ruby Rush
Ruby on Rails — фреймворк для быстрой веб-разработки на языке Ruby.
Веб-разработка — создание веб-приложений — сайтов, которыми вы пользуетесь через браузер. Яндекс.Почта, Вконтакте, Facebook, GMail, Twitter, Одноклассники. Тысячи их.
Для отображения информации в веб-приложениях используют язык разметки HTML и стили CSS, без них веб-приложение не получится (ок, без CSS можно обойтись при желании). Но это не языки программирования, это просто способ показать какую-то информацию.
Если на сайте только текст, картинки и видео, которые не меняются — это, скорее всего, статический сайт. Для статических сайтов хватает только HTML и CSS.
В 99% случаев на сайте есть какие-то динамические элементы (выпадающие меню, счетчики Яндекс.Метрики или Google Analytics), которые используют JavaScript.
Что такое фреймворк?
Когда пользователь, например, регистрируется на сайте, он вписывает свои email, пароль и имя в форму, жмет кнопку «Зарегистрироваться» и в этот момент на сервер уходит запрос с этими данными. Сервер их получает, сохраняет в базу данных, формирует ссылку, например, на личный кабинет пользователя и отправляет её браузеру.
Чтобы приложение могло получать информацию от пользователя, обрабатывать её, сохранять или получать информацию в базе данных по запросу, нужен серверный язык программирования.
Ruby, Python, PHP, Node.JS, Java, Elixir, Go — серверные языки программирования. На них можно писать серверную часть веб-приложений.
Серверные части разных веб-приложений делают похожие, типовые вещи: обработать запрос от браузера, понять, что хотят, обратиться к базе данных (записать или прочитать что-то), отправить браузеру ответ.
Чтобы быстрее создавать новые приложения меньшими усилиями, разработчики придумали фреймворки — специальный набор библиотек для языка программирования, которые не надо писать каждый раз заново.
Для Ruby — фреймворк Ruby on Rails, для Python — Django, для PHP — Laravel, Symfony, Yii, для Elixir — Phoenix. Для Node.JS, Go и Java монолитных фреймворков пока нет, просто используются наборы библиотек.
Отличие фреймворка от набора библиотек можно описать так: Фреймворк — это скелет, на который мы наращиваем свой код. При работе с отдельными библиотеками скелетом является наш код. Фреймворк — набор библиотек, который позволяет реализовать весь необходимый базовый функционал. Плюс важна взаимная согласованность стиля и функциональности компонентов, сквозная документация.
Для закрепления: Ruby — язык программирования, Ruby on Rails — фреймворк, написанный на Ruby.
Когда используют Ruby on Rails
Веб-приложения часто делают, чтобы заработать. Чтобы проверить бизнес-модель надо как можно быстрее показать клиентам ваш продукт и посмотреть, будут ли они им пользоваться, будут ли они за него платить. Ruby on Rails позволяет запустить первую версию приложения за 2-3 месяца.
Например, первая версия UCHI.ru, по рассказу главного разработчика, была сделана меньше, чем за месяц!
Сайт с простым функционалом на рельсах, если уметь, можно сделать за вечер. Вот видео, где автор в режиме спринта делает сайт со списком задач за 22 минуты (включая выкладывание на реальный сервер):
youtube.com/embed/PL1bnCATOvw?rel=0″ allowfullscreen=»»>
Какие компании используют Ruby on Rails?
На Ruby on Rails написаны GitHub, GitLab, AirBnB, Twitch, Shopify, Fiverr, Twitter. Из наших — InSales, UCHI.ru, Aviasales.
Отдельные проекты на «рельсах» есть практически в любой крупной компании, например, в Google, Apple и Сбербанке.
Перспективно ли изучать Ruby on Rails
Да, если вам нравится веб-разработка.
Ruby входит в 20 самых популярных языков программировани, а число вакансий на Rails сравнимо с числом вакансий на Django и Laravel.
При этом под «разработкой» разные люди понимают разное. Например, PHP популярен благодаря распространенным CMS-кам типа WordPress, Joomla или Drupal. Число вакансий на нем огромное, но по факту ищутся не разработчики, а веб-мастера для поддержки сайтов небольших компаний и допиливания плагин для вордпреса. Это скучная и не очень высокооплачиваемая работа.
Но большинство новичков, увидев число вакансий по PHP во время выбора, какой язык программирования изучать, выбирают его. В итоге разработчики на Ruby on Rails — всегда в дефиците, поэтому средняя зарплата Ruby-разработчика выше (как и Python-разработчиков).
Картинка отсюда
Ruby — лучший язык для новичков
Руби — отличный выбор для первого языка программирования.
Частенько, когда люди выбирают язык для начала карьеры разработчика, возникает ощущение, что они действуют так, как будто отправляют на обучение своего ребенка или сотрудника. Мотивация, от которой зависит успех обучения, абсолютно не учитывается.
Меж тем, учить язык именно вам и количество вакансий не будет мотивировать вас учиться, если вам не нравится сам процесс разработки на выбранном языке. Будет играть роль, насколько вам понятен синтаксис, насколько вам нравится, как устроен язык, насколько он кажется вам логичым и эстетичным.
На руби писать в разы приятнее, чем на PHP. Вот пример короткой программы Ruby и на PHP:
PHP
$fruits = ["banana", "apple", "cherry"]; foreach ($fruits as $fruit) { echo $fruit . "\n"; }
Ruby
fruits = %w(banana apple cherry) fruits.each do |fruit| puts fruit end
Ruby-сообщество повернуто на правильном и понятном коде, который легко поддерживать. И язык Ruby и фреймворк Ruby on Rails закладывают в изучающего основы современного программирования и веб-разработки. Изучая их вы скорее поймете и научитесь правильным принципам разработки.
Даже если потом придётся перейти на другой язык программирования — заложенная база на эталонных примерах поможет гораздо быстрее освоить более сложный и менее выразительный язык или фреймворк.
При этом, если вы освоили эти принципы, найти работу на Ruby будет в разы проще, т.к. хороших Ruby on Rails разработчиков всегда не хватает.
Подробнее про это — в этом видео:
Чем руби отличается от PHP, Python
Технически эти языки очень похожи — высокоуровневые, динамические, интерпретируемые. Но это только формальная сторона.
Python, как и руби — мощный современный язык. По сравнению с руби он, на наш вкус, немного сложнее для понимания продвинутых тем, не обладает таким изящным синтаксисом и такой дружелюбной к новичкам экосистемой, как Ruby.
Зато он популярен в областях, не связанных с web — машинное обучение, аналитика, научные вычисления. Python вам очень пригодится для машинного обучения. Или как универсальный язык, если вы уже владеете программированием.
PHP изначально не проектировался как полноценный язык программирования. Это отразилось и на надежности, и на безопасности, и на популярности языка.
Пик его развития давно прошел, и сейчас ни передовые компании (вроде гугла, эппла, амазона), ни передовые стартапы (те самые, в кремниевой долине) его практически не используют.
Ruby изначально проектировался как «лучший друг программиста». На нем легко и принято писать, можно создавать сложные приложения. Но так исторически сложилось, что он используется больше всего именно в веб-разработке.
С Ruby вы быстрее и легче всего дойдете с нуля до работающего веб-приложения и правильного понимания основ программирования.
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 не так полна, как для некоторых других языки. Кроме того, 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?
Ruby — популярный язык программирования общего назначения. Возможно, вы слышали об этом в связи с Ruby on Rails, одной из самых популярных сред веб-разработки на любом языке программирования. Хотя большая часть популярности Ruby связана с этой связью, Ruby имеет множество применений, включая просмотр веб-страниц, создание статических сайтов, инструменты командной строки, автоматизацию, DevOps и обработку данных.
В этой статье мы рассмотрим, как появился Ruby и что делает его уникальным среди языков программирования.
Что отличает Ruby?
Ruby часто называют «языком тщательного баланса». Он был выпущен в 1995 году Юкихиро Мацумото. Мацумото имел глубокие знания нескольких языков программирования, включая Perl, Smalltalk, Eiffel, Ada и Lisp. Он создал Ruby, чтобы объединить то, что он считал лучшими чертами этих языков программирования.
Ruby — очень гибкий язык программирования, который позволяет разработчикам изменять работу самого языка. Вы можете добавить функциональность к основным функциям языка или даже удалить их, если вам нужно. Ruby также является очень переносимым кросс-платформенным языком. Код, который вы пишете в одной операционной системе, будет работать в Linux, Mac OSX и Windows. Он будет работать даже в UNIX, DOS, BeOS, OS/2 и других.
Для чего используется Ruby?
Разработчики Ruby очень любят этот язык и нашли для него множество применений за эти годы. Ознакомьтесь с некоторыми местами, где используется Ruby, в списке ниже.
Веб-разработка
Веб-разработка — одно из главных преимуществ Ruby благодаря популярной среде веб-разработки Ruby on Rails. Ruby on Rails впервые был выпущен в 2005 году и изменил подход к веб-разработке. До таких фреймворков, как Ruby on Rails, разработчикам приходилось тратить гораздо больше времени на написание кода для создания веб-приложения.
Ruby on Rails предоставляет веб-разработчикам все необходимое для создания веб-приложений. Rails использует соглашения, которые определяют структуру каждого приложения Rails, поэтому разработчики могут тратить меньше времени на настройку своих проектов. Он имеет генераторы кода, которые будут генерировать части вашего приложения с помощью простой команды, поэтому разработчики пишут меньше кода.
Быстрая разработка, которую делает Ruby on Rails возможной, также сделала его популярным выбором для стартапов, поскольку позволяла небольшой группе разработчиков быстро создавать большие приложения. Некоторые сайты, о которых вы, возможно, слышали, используют Ruby on Rails, включая Github, Shopify, Kickstarter, Twitch, Instacart, Zendesk, SoundCloud, Ask.fm, Hulu и Square.
Генерация статического сайта
Большинство веб-сайтов используют серверный код, который генерирует HTML и передает его в ваш браузер при посещении страницы. По URL-адресу, который вы посетили, нет фактического HTML-файла.
Генератор статических сайтов по-прежнему использует код, но создает все страницы для веб-сайта одновременно. Эти страницы затем развертываются на сервере, и когда вы посещаете URL-адрес, вам предоставляется статический HTML-файл. Веб-сайты, созданные с помощью генераторов статических сайтов, являются быстрыми, эффективными, безопасными и простыми в развертывании. Они также полезны для сайтов, контент которых меняется нечасто.
Написанный на Ruby, Jekyll был первым генератором статических сайтов и до сих пор остается самым популярным. Основатель Github Том Престон-Вернер создал Jekyll и сделал его стандартным способом публикации контента на Github. После этого популярность Jekyll резко возросла, и многие другие программисты последовали его примеру со своими собственными генераторами статических сайтов на множестве языков программирования.
DevOps и автоматизация
Ruby широко используется для DevOps, автоматизации и развертывания веб-сайтов. Heroku — это популярная платформа для развертывания веб-приложений, которая позволяет быстро и легко запускать приложения даже для пользователей, незнакомых с DevOps. Стартапы стекались к Heroku, когда он был впервые представлен, потому что он позволял небольшим командам тестировать, развертывать и публиковать свои приложения без специального инженера DevOps. Теперь Heroku поддерживает несколько языков, но изначально он поддерживал только Ruby.
Vagrant — это инструмент для управления виртуальными машинами из командной строки. Это позволяет разработчикам кодировать и запускать проекты, разработанные для конкретной операционной системы, в любой операционной системе. Например, разработчик может создавать службы, предназначенные для работы в Linux, на своем ноутбуке Mac или Windows и быть уверенным, что после развертывания они будут работать правильно. Vagrant написан на Ruby, и среда разработки Vagrant должна быть настроена на Ruby.
Chef и Puppet — это инструменты, которые инженеры DevOps используют для автоматизации и управления конфигурацией веб-приложений и серверов. Используя Chef или Puppet, инженеры могут определять среды приложений с помощью простого файла конфигурации, а затем использовать эту конфигурацию для запуска экземпляров приложения без каких-либо ручных действий на любой платформе.
Веб-серверы
Вы также можете использовать Ruby для создания веб-серверов. Passenger, Unicorn и Puma — веб-серверы, написанные на Ruby. Они обрабатывают необработанные входящие HTTP-запросы, отправляют их корректирующим серверным веб-приложениям, а затем обрабатывают ответ HTTP, отправленный обратно из приложения. Серверы веб-приложений Ruby работают рука об руку с платформами веб-разработки, написанными на Ruby.
Обработка данных
Ruby также является отличным языком для обработки, очистки и фильтрации данных. Встроенные в Ruby функции отображения, сокращения и выбора — это мощные инструменты, используемые для решения многих проблем обработки данных.
Поиск и сканирование веб-страниц
В Ruby имеется множество доступных пакетов, которые упрощают извлечение данных с веб-страниц. Библиотеки Ruby, такие как Vessel, используются для сканирования и загрузки веб-страниц. Nokogiri, еще одна популярная библиотека Ruby, затем используется для анализа HTML со страниц, которые были просканированы, для извлечения определенных частей страницы в структурированном виде, чтобы сделать ее пригодной для анализа данных.
Начало работы с Ruby
Ruby — популярный гибкий язык программирования, пользующийся большим спросом на рынке. Его можно использовать для веб-разработки, написания сценариев, обработки данных, DevOps, создания статических сайтов и многого другого.
Если вы считаете, что Ruby — это язык программирования для вас, то лучше всего начать с курса «Изучение Ruby».