Привет, Хаброжители! Мы перевели еще одну книгу издательства O'Reilly:

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

Как и все книги серии Head First, книга «Изучаем Ruby» использует активный подход к обучению, выходя за рамки сухих, абстрактных объяснений и справочников. Вас не только научат языку Ruby, но и помогут вашей программистской звезде ярко воссиять на небосклоне. Вы освоите основы языка и продвинутые возможности Ruby, такие как блоки, объекты, методы, классы и регулярные выражения. С улучшением ваших навыков задачи будут усложняться, и вы перейдете к таким темам, как обработка исключений, модули, подмешанные классы и метапрограммирование.


Для кого написана эта книга?

Если вы ответите «да» на все следующие вопросы…
1. В вашем распоряжении имеется компьютер с текстовым редактором?
2. Вы хотите изучить язык программирования, с которым процесс разработки становится простым и производительным?
3. Вы предпочитаете оживленную беседу сухим, скучным академическим лекциям?

… то эта книга для вас.

Кому эта книга не подойдет?
Если вы ответите «да» на любой из следующих вопросов:
1. Вы абсолютно не разбираетесь в компьютерах? (Быть специалистом не обязательно, но вы должны понимать, что такое файлы и папки, уметь запустить терминальное приложение и пользоваться простым текстовым редактором.)
2. Вы супер-пупер-разработчик, которому нужен справочник?
3. Вы боитесь попробовать что-нибудь новое? Скорее пойдете к зубному врачу, чем наденете полосатое с клетчатым? Считаете, что техническая книга, в которой наследование объясняется на примере броненосцев, серьезной быть не может?

… эта книга не для вас.

Вот что сделали МЫ:

Мы использовали рисунки, потому что мозг лучше приспособлен для восприятия графики, чем текста. С точки зрения мозга рисунок стоит тысячи слов. А когда текст комбинируется с графикой, мы внедряем текст прямо в рисунки, потому что мозг при этом работает эффективнее.

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

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

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

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

Мы совместили несколько стилей обучения, потому что одни читатели предпочитают пошаговые описания, другие стремятся сначала представить «общую картину», а третьим хватает фрагмента кода. Независимо от ваших личных предпочтений полезно видеть несколько вариантов представления одного материала.

Мы постарались задействовать оба полушария вашего мозга; это повышает вероятность усвоения материала. Пока одна сторона мозга работает, другая часто имеет возможность отдохнуть; это повышает эффективность обучения в течение продолжительного времени.

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

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

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

Примите к сведению

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

Небольшой опыт программирования на другом языке не повредит.
Многие разработчики переходят на Ruby после другого языка программирования (часто пытаясь держаться подальше от этого языка). Материал излагается на уровне, понятном даже для новичка, но мы не рассказываем подробно о том, что такое переменная и как работает команда if. Вам будет проще, если вы хотя бы в общих чертах представляете эти темы.

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

Упражнения ОБЯЗАТЕЛЬНЫ.
Упражнения являются частью основного материала книги. Одни упражнения способствуют запоминанию материала, другие помогают лучше понять его, третьи ориентированы на его практическое применение. Не пропускайте упражнения.

Повторение применяется намеренно.
У книг этой серии есть одна принципиальная особенность: мы хотим, чтобы вы действительно хорошо усвоили материал. И чтобы вы запомнили все, что узнали. Большинство справочников не ставит своей целью успешное запоминание, но это не справочник, а учебник, поэтому некоторые концепции излагаются в книге по нескольку раз.

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

Все файлы примеров доступны для загрузки в Интернете. Вы найдете их по адресу headfirstruby.com.

Автор

Джей Макгаврен занимался автоматизацией деятельности компании, работающей в области гостиничного обслуживания, когда коллега показал ему книгу Programming Perl (так называемая «книга с верблюдом»). Джей мгновенно стал фанатом Perl, потому что ему понравилось писать код, не дожидаясь, пока группа разработчиков из 10 человек настроит систему сборки. Заодно у него родилась безумная идея когда-нибудь самому написать техническую книгу.

В 2007 году, когда развитие Perl зашло в тупик, Джей стал искать новый интерпретируемый язык. Ruby победил — благодаря своей сильной
объектной ориентации, превосходной поддержке и невероятной гибкости. С тех пор он использовал Ruby в работе над двумя игровыми
библиотеками, в проекте в области искусства, а также занимался независимой разработкой с использованием Ruby on Rails. С 2011 года он работал в области интернет-обучения разработчиков.

Вы можете читать Джея в Твиттере по адресу https://twitter.com/jaymcgavren или посетить его персональный сайт http://jay.mcgavren.com.

Более подробно с книгой можно ознакомиться на сайте издательства
Оглавление
Отрывок

Для Хаброжителей скидка 25% по купону — Ruby
По факту оплаты бумажной книги отправляем на e-mail электронную версию книги.
Поделиться с друзьями
-->

Комментарии (15)


  1. Dreyk
    28.06.2016 13:01
    +2

    А можно кусочек перевода для примера выложить?


    1. rapkasta
      28.06.2016 13:23
      +2

      Так вот же, выложили


    1. ph_piter
      28.06.2016 13:23
      +2

      Вот отрывок, если недостаточно — выложим больше.


      1. kstep
        29.06.2016 15:37
        -1

        Субкласс, суперкласс? В переводе? Чем устоявшиеся русскоязычные термины не угодили? Старый добрый подкласс? Родительский класс?


  1. alaska332
    28.06.2016 13:18
    -3

    Когда ожидать раскраску про ассемблер, без нагружающих «юный моск» классов?
    Или «С++ для модных женщин»?


  1. GreyCat
    28.06.2016 14:19
    +1

    При всей моей симпатии к Ruby — "буквально все вокруг заговорили" было верно эдак лет 8-9 назад. Сейчас у языка скорее стабильное плато и, наконец-таки, можно не задаваться вопросами типа "писать на RoR нельзя, где мы возьмем Ruby-разработчиков".


    1. gorodnev
      28.06.2016 14:51

      Вроде в Ruby-сообществе как замену изобрели Elixr. На даже про него не так много хайпа — «широко известен в узких кругах»


      1. kovyl
        28.06.2016 19:32

        Ну, его скорее изобрели в erlang-сообществе, и с эрлангом он имеет намного больше общего, чем с руби.


        1. Kane
          28.06.2016 20:45

          Все-таки, Elixr был создан Хосе Валимом, который известен как автор и контрибьютер известных руби проектов.


      1. GreyCat
        28.06.2016 22:15
        +1

        Хайпа сейчас много либо про type safety, либо про devops, либо про проекты, активно продвигаемые Google / Apple / Twitter / Amazon. Elixir, боюсь, ни в одну из этих категорий не попадает.


        1. kovyl
          29.06.2016 00:33

          Однако, есть проекты, которые не ведутся на хайп. В частности, эликсир вполне себе неплохо вписывается в ту же нишу, что и эрланг. А на эрланге как писали, так продолжают писать. И писать еще будут долго.


      1. vanburg
        29.06.2016 09:22

        Думаю, весьма распространенная история про Elixir:
        Несколько раз, много лет назад, пытался освоить Erlang, очень мне нравилась концепция паттерн матчинга. Однако на тот момент на Erlang не было более-менее успешной библиотеки для разработки под веб-сайты/приложения. А это моя специализация, ПО для коммуникаций — это слишком для меня. Короче говоря, все затухло на паре простых консольных утилит, ибо монетизации никакой не было в перспективе. Плюс синтаксис, конечно, немного крышесносящий (хотя я тогда на PHP писал, так что нас ничем не удивишь :)

        Пару лет назад я, как и многие RoR разрабы, с грустью задумался о том, что надо мигрировать нафиг с рельс и с рубей. Руби хорош, но сложилась традиция использовать его через плохие практики. Есть кайфовый вариант — lotus (ныне hanami), но работы под него не найдешь…

        В каком-то подкасте, (спасибо тем, кто поддерживает ру-подкасты по руби, кстати) услышал что моя любимая meduza.io «написана» на elixir. Когда я копнул что это такое, каково же было мое изумление (и радость) что все так круто изменилось в лучшую сторону!
        Так что теперь я курю феникс с эликсиром и немного эрлангом, и готовлюсь к первому проекту на них :)
        P.S. Да, и это был отличный повод перейти с IDE на spacemacs с паком для elixir. Пишу, и думаю, как же круто изменилась моя жизнь благодаря ему :)


      1. iqiaqqivik
        30.06.2016 17:06

        Вокруг Эликсира уже достаточно много хайпа в Европах.


  1. veter
    29.06.2016 15:59
    +3

    Вам интересно, почему буквально все вокруг заговорили о языке Ruby?

    Потому что сейчас 2006-й год?


    1. ph_piter
      30.06.2016 13:11

      Это, конечно, некоторое преувеличение )). Но Ruby прочно занимает место в десятке самых востребованных языков программирования. Да и в вакансиях сисадминов и разработчиков знание Ruby если не обязательно, то желательно.
      Кстати, оригинал вышел в конце прошлого года, и мы приложили все силы, чтобы ее перевести и издать как можно быстрее.