Название оригинала: The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming
Автор: Б. Эванс, М. Вербург
Перевод книги: Сивченко Олег
Дата выхода: осень 2013г.
Осенью у нас выходит новая переводная книга по Java. У книги очень хорошие отзывы и высокий рейтинг на сайте www.amazon.com.
Книги о Java — пожалуй, самая распространенная литература по отдельно взятому языку программирования. Но тем не менее большинство книг по Java относится к одной из двух категорий: это либо вводные пособия для начинающих, либо высокоспециализированные книги.
Бен Эванс и Мартин Вербург, авторы книги «Java. Новое поколение разработки» — практикующие специалисты из лондонского Java-сообщества, входящего в состав Исполнительного Комитета по Java SE/EE организации Java Community Process.
Когда я впервые просмотрел содержание книги «Java. Новое поколение разработки», мне больше всего понравилось название книги, а также подбор тем. Эти темы, на мой взгляд, будут интересны для опытных Java-разработчиков, постоянно занятых подготовкой решений для клиентов и не находящих времени, чтобы опробовать новые функции Java 7, подробно изучить тонкости Java и JVM (виртуальной машины Java), либо чтобы экспериментировать с основными альтернативными языками для JVM. Мне приходилось сотрудничать со многими серьезными Java-разработчиками, великолепно владеющими Java, но не имеющими времени или стимула познакомиться с новейшими версиями Java или другими языками для JVM до тех пор, пока в этом не возникнет острая практическая необходимость. Эта книга предлагает превосходное быстрое введение в подобные темы именно для таких занятых разработчиков. Всего в одной книге подчеркиваются основные свойства Java SE, а также дается вводный материал по трем наиболее популярным альтернативным языкам для виртуальной машины Java. Кроме того, авторы смогли подробно рассмотреть некоторые темы повышенной сложности, освоив которые хороший Java-разработчик может стать отличным. Кроме того, в книге содержится информация о современных инструментах для разработки на Java.
Книга «Java. Новое поколение разработки» делится на четыре части, в каждую из которых входит несколько глав.
Часть 1: Java 7
В главе 1 «Введение в Java 7» кратко обсуждается язык и платформа Java, а также некоторые общие характеристики языка Java (открытость кода, компилируемая или интерпретируемая природа и т. д.). В оставшейся части главы рассматриваются черты, появившиеся в языке в рамках проекта «Монета». В частности, речь идет о строках в конструкции switch, улучшенном синтаксисе числовых литералов, улучшенной обработке исключений, ресурсах try-with (автоматическое управление ресурсами), ромбовидном синтаксисе при работе с операторами и упрощенных вызовах методов с переменным количеством аргументов.
В главе 2 «Новый ввод-вывод» сделан краткий обзор и приведена историческая информация о неблокирующем вводе-выводе в Java, после чего детально объясняется тема неблокирующего ввода-вывода NIO.2, действующего в Java 7. В этой главе вы познакомитесь с важнейшим интерфейсом Path для работы с NIO.2 и увидите, как этот новый интерфейс обеспечивает файловый ввод/вывод (при работе с классом Files и другими новыми и удобными механизмами для обращения с файлами).
Часть 2: Необходимые технологии
В части 2 «Необходимые технологии» продолжается рассмотрение новых черт Java 7, но акценты меняются по сравнению с первой частью. В первой части речь идет, в первую очередь, о новинках Java 7. Во второй части также рассматриваются нововведения, но обычным ознакомлением содержание этой части не является. Вторая часть более глубоко исследует «необходимые технологии», в которых следует разбираться хорошему Java-разработчику. Как указано во введении к этой части, «мы углубимся в изучение важнейших тем и технологий, необходимых для работы с современным языком Java». К числу таких технологий относятся внедрение зависимостей (глава 3), параллелизм (глава 4), файлы классов и байт-код (глава 5) и настройка производительности (глава 6).
Часть 3: Альтернативные языки для виртуальной машины Java
В части 3 «Многоязычное программирование на виртуальной машине Java» авторы выходят за пределы языка Java и рассказывают об альтернативных языках для виртуальной машины Java. Авторы подчеркивают, что Java-разработчику не помешает изучить эти альтернативные языки, так как «оказывается, что многие новые идеи, которые будут востребованы в будущем, уже сегодня присутствуют в других языках виртуальной машины Java». От себя добавим, что как минимум язык Groovy действительно удобен для решения задач, в которых не так силен язык Java (например, написание скриптов).
В главе 7 «Альтернативные языки для виртуальной машины Java» рассказывается о том, как подобрать альтернативный язык, наиболее подходящий для работы в той или иной ситуации. Авторы быстро знакомят нас с вводной информацией об альтернативных языках (Groovy, Scala и Clojure), каждому из которых посвящена отдельная глава. Они также объясняют, почему решили остановиться именно на этих языках:
«В оставшейся части книги мы поговорим о трех языках, которые, на наш взгляд, в обозримом будущем окажутся наиболее долговечными и влиятельными. Это языки для виртуальной машины Java (Groovy, Scala и Clojure), которые уже имеют устоявшиеся сообщества сторонников в среде многоязычного программирования»
В главе 7, с которой начинается часть 3, мы знакомимся с вводной информацией о многоязычном программировании, а каждая из трех следующих глав посвящена конкретному альтернативному языку: Groovy (глава 8 «Groovy, динамический приятель Java»), Scala (глава 9 «Scala – мощный и лаконичный») и Clojure (глава 10 «Clojure: программирование повышенной надежности»). Каждая из этих глав является обзорной. Разумеется, одной главы недостаточно, чтобы сделать полный вводный курс в работу с новым языком программирования, поэтому в данных главах сделан акцент на сильных сторонах каждого из языков. Кроме того, затрагиваются проблемы взаимодействия этих языков с Java (в главах о Groovy и Clojure) и делается сравнение этих языков с Java для более полного описания их характерных черт.
Часть 4: Применение альтернативных языков, новых технологий и инструментов Java
В части 4 «Осваивание многоязычного проекта» информация, изученная выше, применяется в контексте «некоторых наиболее распространенных и важных технологий современной разработки». В трех главах, образующих эту часть, рассматриваются современные технологии разработки программ (разработка через тестирование, непрерывная разработка/интеграция и быстрая веб-разработка). В заключительной главе 4 части авторы высказывают предположения о том, что ожидает язык Java в будущем.
Автор: ph_piter