10 must-have книг для Java-разработчика


Оглавление (нажмите, чтобы открыть):

Изучаем Java

Обучающие курсы:

Все учебники по Java

1. Монахов В.В. Язык программирования Java и среда NetBeans

Книга написана на базе курса лекций, читаемых автором на кафедре вычислительной физики Санкт-Петербургского государственного университета. Изложены основные синтаксические конструкции Java, принципы объектно-ориентированного программирования, особенности проведения численных расчетов. Приводятся сведения о среде NetBeans 6.0, предназначенной для Профессиональной разработки всех видов программного обеспечения Java (ME, SE и ЕЕ). Рассказывается о создании сетевых приложений и приложений для мобильных устройств. Разбираются методики написания многопоточных приложений Java для систем с многоядерными процессорами.
Материал сопровождается большим количеством примеров с подробным анализом их исходных кодов.

2. Эккель Б. Философия Java (англ. — Eckel Bruce. Thinking in Java)

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

Разбираются подробно основы ООП. Синтаксис и семантика языка. Интерфейсы и внутренние классы. Система ввода-вывода. Обработка ошибок и исключений. Обнаружение проблем, анализ и планирование.
Эта книга, выдержавшая в оригинале не одно переиздание, благодаря глубокому и поистине философскому изложению тонкостей языка считается одним из лучших пособий для программирующих на Java.
Книга получила высшую оценку среди специалистов компании Luxoft — европейского лидера среди фирм, занимающихся заказной разработкой программного обеспечения.

Предисловие.
Введение.
Введение в объекты.
Все есть объекты.
Управление течением программы.
Инициализация & Очистка.
Скрытие реализации.
Повторное использование классов.
Полиморфизм.
Интерфейсы & Внутренние классы.
Хранение Ваших объектов.
Обработка ошибок с помощью исключений.
Система ввода/вывода в Java.
Идентификация времени выполнения.
Создание окон и Апплеты.
Множественные потоки.
Распределенные вычисления.
Передача & Возврат объектов.
The Java Native Interface (JNI).
Руководства по программированию на Java.
Ресурсы.

3. Хабибуллин И.Ш. Самоучитель Java 2

Книга, которую вы держите в руках, возникла из курса лекций, читаемых автором в течение последних лет для студентов младших курсов. Подобные книги рождаются после того, как студенты в сотый раз зададут один и тот же вопрос, который лектор уже несколько раз разъяснял в разных вариациях. Возникает желание отослать их к какой-нибудь литературе. Пересмотрев еще раз несколько десятков книг, использованных при подготовке лекций, порывшись в библиотеке и на прилавках книжных магазинов, лектор с удивлением обнаруживает, что не может предложить студентам ничего подходящего. Остается сесть за стол и написать книгу самому. Такое происхождение книги накладывает на нее определенные особенности. Она представляет собой сгусток практического опыта, накопленного автором и его студентами с 1996 г. Cодержит ответы на часто задаваемые вопросы, последние «компьютерщики» называют FAQ (Frequency Asked Questions).

4. Блинов И.Н., Романчик В.С. Java 2: Практическое руководство

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

5. Аккуратов Е.Е. Знакомьтесь: Java. Самоучитель

Эта книга представляет собой пособие-самоучитель для начинающих изучать язык программирования Java 2 с целью применить эти знания для создания собственных Web-сайтов. В ней в простой и доступной форме излагаются основы программирования на этом языке, включая описание данных и создание различных управляющих структур, трансляцию и отладку кода, обработку исключений, создание аплетов и оформление пакетов, поддержку многопоточности и многое другое. Также читатель найдет здесь необходимые сведения о редакторе программ JBuilder 2005, а также о языке гипертекстовой разметки HTML и языке сценариев JavaScript, близком к Java 2.
В книге есть не только чисто теоретические сведения, но и много конкретных, живых примеров создания достаточно простых, но работающих программ. Следуя излагаемому материалу, любой начинающий программист сможет быстро научиться создавать свои собственные сайты в Интернет, помещать туда аплеты или же просто писать программы на языке Java.

6. Шилдт Г. Искусство программирования на Java.

Эта книга отличается от множества других книг по языку Java. В то время как другие книги обучают основам языка, эта книга показывает, как использовать язык наиболее эффективно, с большей пользой и отдачей для решения запутанных задач программирования. На страницах книги постепенно раскрывается мощь, универсальность и элегантность языка Java.
Как и можно ожидать, несколько описанных приложений связаны непосредственно с Internet. Многие главы посвящены анализу кода, который иллюстрирует выразительные возможности Java независимо от Internet. Легкость, с которой эти программы могут быть написаны на языке Java, подтверждает гибкость и элегантность языка.
В каждой главе рассматриваются фрагменты кода, который можно использовать «как есть». Например, синтаксический анализатор может послужить отличным дополнением для многих разработок. Однако наибольшую пользу от этих программ можно получить, если их использовать как базовые для разработки собственных приложений. Например, Web-червь, подробное описание которого приводится в книге, может послужить основой для разработки архиватора Web-сайта или детектора разрыва связи.
Исходные тексты всех примеров, рассмотренных в книге доступны на Web-сайте издательства. Книга рассчитана на студентов, преподавателей и специалистов в области компьютерных технологий.

7. Буткевич Е.Л. Пишем программы и игры для сотовых телефонов

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

8. Бондарев В.М. Учебное пособие по программированию на Java

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

9. Хорстманн Кей С., Корнелл Гари. Java 2. Библиотека профессионала. Том 2. Тонкости программирования

Данная книга ориентирована на тех разработчиков, которые хотят использовать технологию Java для создания реальных проектов. В ней нашли отражение поддержка потоков, использование наборов данных, сетевое взаимодействие, работа с базами данных, компоненты JavaBeans. Уделено внимание также таким вопросам, как поддержка распределенных объектов, организация защиты и создание платформенно-ориентированных методов, разбор и генерация XML-документов. При написании книги были учтены новые возможности, которые стали доступны разработчикам с появлением JDK
5.0. Благодаря разнообразию и глубине излагаемого материала книга, несомненно, будет полезна как начинающим, так и опытным разработчикам.

Сергей Владимирцев
15.02.2011

10 must-have книг для Java-разработчика

Условные обозначения:
@ — для полноценного функционирования программы необходимы права Root пользователя.

1. Офис, Калькуляторы, Конверторы

  • Documents To Go — Просмотр и редактирование документов *.doc, *.xls, *.ppt, а также просмотр *.pdf
  • RealCalc Scientific Calculator — наверное лучший калькулятор для Андроид устройств
  • Mobisle Notes — Заметки, возможность отправки по e-mail и sms

2. Финансы

  • EasyMoney — Программа управления вашими финансами

3. Планировщики, Будильники, Заметки

  • EboBirthday — Программа для напоминания ближайших дней рождений
  • DrShopper — простая и легкая программа ведения списков покупок
  • Notification Notes — Быстрые заметки

4. Оптимизация управления

  • jkAppSwitch — Позволяет переключиться или завершить приложение, запуск можно назначить на долгое нажатие кнопки Поиск
  • HTC Touch Input — Экранная клавиатура HTC с интеллектуальным вводом (RU/EN)
  • EStrongs File Explorer — Менеджер файлов, доступ к файлам ПК по LAN, FTP клиент, менеджер приложений(бекап/удалить/итд.).
  • MySettings — Включение/выключение основных функций устройства
  • AppControl — Менеджер установленых приложений

5. Системные приложения

  • @ShootMe — Снятие скриншотов, активация встряхиванием или голосом. Запись видео с экрана(делает кучу скриншотов)
  • Better Terminal Emulator Magic — Эмулятор терминала

6. Безопасность
7. Интернет — Общение

  • Nimbuzz — Многопротокольный IM клиент(skype, icq, gtalk), это единственный клиент правильно работает со скайпом: чат, звонит(не колбек), отправляет файлы итд..
  • Sipdroid — Open-source SIP клиент(JustVOIP, sipnet)

8. Интернет, Связь

  • Steel — Браузер
  • GRemotePro full — Удаленное управление приложениями на ПК
  • Gmote — Удаленное управление мультимедийными функциями компьютера, возможность вещать видео/аудио прямо на устройство
  • VLC Remote — Удаленное управление VLC плеером
  • ConnectBot — SSH/telnet/local терминал
  • AndFTP — FTP клиент
  • FTPServer — FTP сервер. В связи с тем что передача файлов по блутусу пока не реализована в полной мере, думаю будет очень полезно иметь FTP сервер на устройстве
  • Remote VNC Pro — VNC Удаленное управление компьютерами на базе операционных систем Windows, Linux, Macs с запущеным VNC сервером. RealVNC Enterprise v4.4.3 Server(win)
  • Hoccer: throw data — Обмен данными(ad-hoc) — изображения, песни, контакты, адреса и сообщения кидая и ловя данные жестами.

9. Мультимедиа

  • Meridian Player (Noble) — Аудио/видео проигрыватель; воспроизведение с места остановки, редактирование тегов и пр.
  • PicSay Pro — Мощный графический редактор
  • Camera ZOOM FX — Многофункциональная камера с кучей эффектов(качество стандартной камеры лучше)

10. Навигация (GPS)

  • iGO My way 2009 — [Android OS] — Offline навигация. iGO выводит 3D модели достопримечательностей и ландшафт окружающей местности (луга, холмы, горы). Я заменил им Copilot.
  • CoPilot [Android OS] — Offline навигация, POI, 2D/3D отображение, расчет оптимального маршрута и др. (для европы)
  • Навител Навигатор — [Android OS] — Высокодетальные offline карты с трехмерными дорожными развязками, поддержка сервисов Навител.Пробки и Навител.SMS (для России, Украины, Белорусии)
  • Maps (-) [Android OS] — Просмотрщик карт с OpenStreetMap.org. Кэширует посещенные места на SD карту.
  • Transport Maps — Доступ к базе данных карт общественного транспорта (автобусы, метро, ж/д транспорт. )

11. Телефонная часть

  • aFirewall — Блокирование нежелательных входящих звонков
  • Handcent SMS — Инструмент для SMS/MMS; всплывающие окна, поиск, Т9, смайлы, темы оформления и пр.


12. Чтение электронных документов, книг. Словари, энциклопедии.

  • SlovoED (демо) — Англо-русский и русско-английский словарь не требующий подключения к интернету.
  • FBReaderJ — Чтение книг oeb, epub, fb2
  • AlReader ктоторый будет портирован на андроид.
  • Aldiko — Aldiko — с помощью этой программы можно читать книги, искать их в различных каталогах и загружать. Очень красивый интерфейс выполниный в стиле книжной полки.
  • iTranslator for Android — Онлайн переводчик

13. Виджеты

  • Launcher Dock — Простой ланчер на рабочий стол

14. Разное

  • Barcode Scanner — Сканер штрих-кодов
  • Droid Explorer (PC) — Продвинутый эксплорер для android-девайсов. Установка .apk приложений на устройство по двойному клику мыши.

*Список создавался отталкиваясь от того что уже умеет HTC Hero с MoDaCo 3.0.
*Cписок будет обновлятся и дополнятся

Сообщение отредактировал Gridzilla — 10.01.13, 03:36

«Писать на Java не работа, писать на Java — праздник»: книги для начинающих Java-программистов

Java — сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года.

Несмотря на возраст, Java остаётся самым популярным и самым востребованным языком. Чтобы упростить его изучение, мы подготовили подборку книг по программированию на Java, которые пригодятся начинающим разработчикам.

Java: The Legend

В этой книге рассказывается о развитии языка Java. Рассматриваются его история, влияние, которое он оказал на другие языки, становление Java EE, а также его будущее: Java 9, Project Panama, Project Valhalla и интернет вещей.

Introduction to Programming Using Java (7-е издание)

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

Изучаем Java

Язык Java имеет крайне дружественный синтаксис, но это не значит, что разобраться в нем так уж легко. Книга «Изучаем Java» построена на визуализации и несколько отличается от классических учебников. Она имеет очень подробное изложение, массу живых примеров и упражнения для закрепления в каждом разделе. Подойдёт всем тем, кто ничего не слышал про программирование, в том числе и про объектно-ориентированное, так как Java — полностью объектно-ориентированный язык, и изучать его нужно именно в таком контексте.

В общем, «Изучаем Java» — это не только бестселлер, но и благодаря нестандартной форме обучения и подачи материала одна из лучших книг для начинающих в принципе.

Think Java

Эта книга отлично подойдёт в качестве учебного пособия для начинающих программистов. Сложность тем постепенно увеличивается: сперва обсуждаются базовые принципы, а затем — рекурсия и ООП. Все примеры кода выложены на GitHub.

Программирование на Java для начинающих

Книга довольно небольшая (около 190 страниц). В ней достаточно сжато подаются основы языка Java, но после прочтения книги станет возможным писать собственные приложения на Java. Пособие наполнено иллюстрациями, поясняющими результат исполнения кода. Книга подойдет для тех, кому нужно максимально быстро освоить синтаксис Java.

Java Programming for Kids

Цель этой книги — помочь в изучении Java. В ней описываются принципы создания приложений с графическим пользовательским интерфейсом на примере двух игр: «Крестики-нолики» и «Пинг-понг». Хотя книга и рассчитана на детей старше 12, программистам постарше она тоже подойдёт. Последняя глава — бонусная: в ней рассказывается, как публиковать свой код на GitHub.

Мастер Йода рекомендует:  Как оценить собственный сайт

Философия Java

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

Object-Oriented vs. Functional Programming

Споры между фанатами ООП и функциональщиками не прекращаются уже много лет. В своей книге автор обсуждает сходства этих парадигм программирования и тенденцию по их сближению. Примеры на Java помогут вам:

  • узнать, как лямбды (анонимные функции) помогают объектно-ориентированным языкам работать с параллелизмом и конкурентностью;
  • понять, как SOLID — 5 основных принципов ООП — сопоставляются с возможностями функционального подхода;
  • изучить главные шаблоны ООП и научиться применять их в функциональном программировании.

What’s New in Java 8

Эта книга — короткое введение в Java 8. Она поможет разобраться в основных фичах этой версии языка, таких как Project Lambda, Date-Time API, Streams и Nashorn.

Java. Библиотека профессионала. Том 1. Основы

Книга ориентирована на читателей, уже имеющих опыт в программировании на каком-либо языке. В десятом издании рассматривается Java SE 8.

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

Java for Python Programmers

Эта книга рассчитана на тех, кто уже знает Python. Сперва рассматривается простая Java-программа, затем рассказывается об основных конструкциях, которые присутствуют почти во всех языках. После основ разбираются уникальные фичи Java.

Java: A Beginner’s Guide

Краткое введение в Java от Oracle. Описываются его история и философия, а также основы разработки.

Также рекомендуем изучить стайлгайд от Google, спецификации Java SE и официальные руководства по стандартной и энтерпрайз-версиям языка.

Если вы знаете другие книги, которые стоит разместить в этой подборке, делитесь ими в комментариях.

Ох уж эти разработчики

понедельник, 9 сентября 2013 г.

10 книг для продвинутых Java-разработчиков


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

В данном посте я бы хотел рассказать о нескольких полезных книгах по Java для продвинутого уровня. То есть, работы вроде «Thinking in Java» («Философия Java») или «Head First Java» («Изучаем Java») в списке не появятся, хотя советую начинающим их почитать. Также, я старался не вносить в список книги по Java для конкретного ПО, фреймворков или сертификатов.

Java in a Nutshell («Java. Справочник»)

The elements of Java style («Элементы стиля Java»)

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

Effective Java (Java. Эффективное программирование)

Книга на самом деле предназначена для Java-разработчика с глубокими знаниями. Содержит 78 незаменимых проверенных правил программистов: эффективные решения проблем, с которыми вы сталкиваетесь ежедневно.

The Java language specification («Спецификация языка Java»)

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

Design patterns: elements of reusable object-oriented software (Приемы объектно-ориентированного проектирования. Паттерны проектирования»)

Собственно говоря, примеры в книге написаны на C++ или Smalltalk, ну и что? Если вы желаете развиваться как разработчик, то должны знать «Паттерны проектирования», чтобы воспользоваться передовым опытом других и научиться у тех, кто сталкивался с похожими проблемами. Есть много похожих книг, но они предлагают лишь упрощенные «рецепты».

The Pragmatic Programmer: From Journeyman to Master («Программист-прагматик. Путь от подмастерья к мастеру»)

Книга не только для Java-разработчиков. «Ее прелесть в том, что она позволяет сохранить элемент новизны процесса программирования. Книга способствует профессиональному росту и явно написана знающими людьми».

Patterns of Enterprise Application Architecture («Шаблоны корпоративных приложений»)

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

Refactoring: Improving the Design of Existing Code («Рефакторинг. Улучшение существующего кода»)

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

OSGi in Action: Creating Modular Applications in Java

Умение разбираться в сервис-ориентированном программировании никогда не помешает. Первые несколько глав служат прекрасным введением и содержат конкретные примеры.

Clean Code: A Handbook of Agile Software Craftsmanship («Чистый код. Создание, анализ и рефакторинг»)

Всегда полезно проанализировать свой стиль кодирования. Большая часть усилий пойдет на сопровождение, поэтому крайне важно писать чистый код.

Top 10 Java Books for Programmers — All time Great

Some of the all-time best books for Java programmers ranging from core Java to best practices to unit testing to Spring framework.

If you are a Java programmer and are wondering what to read to improve your knowledge of Java or become a better Java developer, then you have come to the right place.

In this article, I am going to share some of the best Java books ever written. These books have withstood the test of time, becoming more and more relevant as the years go by.

It doesn’t matter if you read them in 2020 or plan on reading them in 2020, you will always have a lot to learn and that’s why I think they are the greatest Java books of all time.

Personally, I am a big fan of reading books. I have hundreds of books and eBooks in my library. When I was a k >Super Commando Dhruv, who was one of my favorite characters because of the scientific theme in his stories and how he usually defeats his more powerful enemies without any superpower and just by using his intelligence, acumen, and simple knowledge of scientific facts.

My passion for books continued when I became a programmer. The first Java book I read, apart from textbooks in college, was Head First Design Pattern. This book completely changed my knowledge of Java and understanding of object-oriented programming.

Until then, I didn’t understand the real use of the interface. To me, they look useless, because you can’t write code to do anything there. But, after reading the book, I realized how awesome they are in terms of reducing the coupling between different parts of your program.

From that point, I have read many programming books, mostly related to Java. Today, I am going to share the 10 best Java books that every Java developer should read. Even if some knowledge is out-dated, most of the stuff you learn will help build upon your knowledge and a lifetime career.

Top 10 Java Books of All-Time

Without further ado, here is my list of some of the most popular and important books for Java programmers.

If you have been doing Java programming for 2 to 3 years, then it’s a good chance that you have read these books already. But, if you haven’t, now is the best time to read them.

I am 100% sure that You will not regret investing your time and money on these books because what you will learn is worth much more than and last for years to come.

1. Effective Java

There should not be any surprise here. Effective Java by Joshua Bloch is hands down best Java book ever. This is a definite must-read book for Java programmers of any experience level. You will learn so much about Java and its API then you could imagine.

The fact that Joshua Bloch himself is the author of several key Java >java.lang and Java Collection framework, is enough reason to read this book. Along with that, his writing style is also fantastic.

You can read this book on a beach, while traveling, or just at your desk. It’s awesome. There is no doubt that you would emerge as better Java programmer after reading this book.

And the best thing is that a new edition of Effective Java is available now, which covers Java 7, 8, and 9. There cannot be a better time to read this book.

2. Clean Code

Another timeless >Clean Code. As the title suggests, it teaches you to write better code, which is such a difficult thing to learn.

To be honest, it’s easy to learn Java, but difficult to write better Java code which uses strong OOP principles and that’s where this book helps.

Similar to Joshua Bloch, Robert C. Martin, also known as Uncle Bob, is an excellent author and shares a lot of his experience as a software developer, teaching you various programming techniques and practices that help a lot in your day-to-day job as a programmer.


If you follow Clean Code, there is also a course on Pluarlsight called Clean Code: Writing Code for Humans By Cory House which effectively complements this book.

Btw, you would need a Pluralsight membership to get access this course, which cost around $29 per month or $299 annually (14% discount).

If you don’t have Pluralsight membership, I encourage you to get one because it allows you to access their 5000+ online courses on all latest topics like front-end and back-end development, machine learning etc.

It also include interactive quizzes, exercises, and latest certification material .
It’s more like Netflix for Software Developers and Since learning is an important part of our job, Plurlasight membership is a great way to stay ahead of your competition.

They also provide a 10-day free trial without any commitment, which is a great way to not just access this course for free but also to check the quality of courses before joining Pluralsight.

3. Java Concurrency in Practice

Multithreading and concurrency is an essential part of Java programming. There is no better book than Brian Goetz’s Java Concurrency in Practice to learn and master this tricky topic.

Even though the book only covers Java 5, it’s still relevant and must-read books for any serious Java developer.

Some of you may find that some of the sections are a bit difficult to understand, especially sections 3.5.1 through 3.5.6, And if that’s the case, I suggest you go through the Extreme Java — Concurrency Performance course by Dr. Heinz Kabutz. This will help you to better digest and comprehend those topics.

4. Head First Design Patterns

Good knowledge of OOP and design patterns are important for writing any Java application. Head First Design Patterns is the best book for learning to do that.

As I have said before, this was one of the first books I ever read on Java, apart from textbooks. After reading this book, I was very impressed.

This is the book that taught me why Composition is better than Inheritance and how you can change runtime behavior of a class without touching the already tried and tested code.

You might think that it’s just another old book, but you don’t need to worry, an updated copy that covers Java SE 8 was released a couple of years ago.

If you are serious about learning design patterns in Java, this is the book you should read!

The Design Pattern Library course on Pluralsight is also a nice resource to get yourself familiar with essential design patterns in Java and object-oriented programming. You can follow that course along with this book to get the best of both the worlds.

5. Spring in Action

Sorry, but I have to include one Spring book, Spring in Action, in this list of classic books for Java programmers. Spring is the most popular Java framework ever and this is the best book to learn about the Spring framework, but — to be honest — this book is much more than a Spring book.

After reading the 4th Edition of this book, I realized so much about Java and writing better code that I can’t begin to explain.

The books take a topic, e.g. JDBC, and explain where JDK went wrong and how Spring corrects that mistake, e.g. SQLException, a one-size-fits-all exception that says something is wrong but not exactly what is wrong or how to deal with that.

Like Josuha Bloch and Uncle Bob, Craig Walls is another great author and you will learn much more than just Spring by reading this book.

Great news is that now the 5th Edition of Spring in Action is also available, one of the books in my reading list.

Btw, if your goal is to learn Spring, I also suggest you join a great online course like Spring Framework 5: Beginner to Guru along with this book. You will learn quickly and better than many developers, who tries to learn by self.

6. Test Driven

Automation testing is an important skill. For developers, it all starts with unit testing. Java has been blessed to have the JUnit from the start, but just knowing the library doesn’t make you a professional programmer who can write tests.

It takes much more than knowing a unit testing library, like JUnit or Mockito, and that’s where this book helps. If you are serious about code quality and writing unit, integration, and automation test, Test Driven is the book to read in 2020.

If we talk about libraries, JUnit and Mockito are must for any Java developers. If you are not familiar with them, I suggest you go through this JUnit and Mockito Crash Course along with the above book to master the art of unit testing in Java.

7. The Definitive Gu >Another aspect of becoming a better Java developer is knowing about JVM, Garbage collection, and performance tuning.

Though there have been several good books on this topic, e.g. Java Performance by Binu John and Charlie Hunt, The Definitive Guide of Java Performance by Scott Oaks is my favorite.

Even though it only covers until JDK 7, you will learn a lot about performance tuning and JVM in general, which totally justifies the time and money you will spend on this book.

8. Head First Java

How many of you started learning Java by reading this book? Well, I d >Head First Design Pattern, I also found this book, Head First Java, and I really enjoyed reading it. I learned a lot of Java concepts and many of my misconceptions were also corrected.

Though many feel this is an out-of-date book, I still feel its a great book for anyone just starting with Java because of its unique style and content.

You can easily learn about Java 8, Java 9, and Java 10 changes on other versions once you know Java by reading this book.

Btw, If you like online courses and looking for some of the best Java courses to start your journey then The Java MasterClass on Udemy is simply the most up-to-date and the best course to start with.

9. Head First Object-Oriented Analysis and Design

Here is another “Head First” book in the list of the greatest Java books. Yup, they are simply awesome.

Head First Object-Oriented Analysis and Design form a trilogy of the “Head First” books for Java programmers, i.e. Head First Java, Head First Design Patterns, and Head First OOAD.

It actually complements Head First Design Patterns by explaining the techniques of object-oriented programming and design.

The most important technique that I learned from this book was coding for interfaces and how to encapsulate what changes. This book simply changed how I write Java code.

If you like courses, SOLID Principles of Object-Oriented Design by Steve Smith on Pluralsight is great and you can follow that along this book for better understanding of object-oriented design principles.

10. Java: A Beginner’s Gu >If you ever need a comprehensive Java book, this should be it. Even though the title says Java: A Beginner’s Guide, it’s one of the most complete books for learning Java.

Sir Herbert Schildt has also done a commendable job in keeping the book up-to-date, e.g. the 7th Edition of this book now covers Java 9.

Though, I don’t know how he is going to keep this book up-to-date going forward, since Java’s new 6-month release cycle which started with Java 10.


Btw, they have released a supplement to cover JDK 10 new features. I think that would be the way going forward.

There you go! These are some of the best books for Java programmers. If you are a passionate Java programmer, there is a good chance that you have already read most of these books.

Мастер Йода рекомендует:  WWDC 2020 все, что вам нужно знать о ежегодной конференции Apple

But, if you haven’t, then this year may be just the right time to read these books. They are absolutely awesome. You can choose the latest version of the book wherever possible, e.g. Effective Java 3rd Edition or the 7th Edition of Java: A Beginner’s Gu >.

Closing Notes

Thanks, You made it to the end of the article … Good luck with your Java Programming adventure. It’s certainly not going to be easy, but by going through these books, you will get some useful experience.

If you like this article, then please share with your friends and colleagues, and don’t forget to follow javinpaul on Twitter!

10 книг, рекомендуемых для изучения JavaScript

Перевод статьи CantonaD «10 recommended books for learning JavaScript».

JavaScript это легковесный язык программирования, но, тем не менее, один из самых мощных.

Его использование в Интернет стремительно растет, он очень популярен среди веб-разработчиков. В настоящее время у JavaScript больше всего активных проектов на GitHub.

Для веб-разработчика, желающего выжить в мире Интернет, важно иметь навыки работы с JavaScript.

Перед вам список из 10 книг, рекомендуемых для изучения этого языка программирования. Они помогут вам улучшить свои навыки веб-разработки.

1. «JavaScript. Сильные стороны»

Эта книга по JavaScript написана Дугласом Крокфордом. Она очень известна среди веб-разработчиков.

Книга предназначена для тех, кто еще только начинает свое знакомство с JavaScript. Она освещает все лучшее в этом языке, включая:

  • Синтаксис
  • Функции
  • Массивы
  • Объекты
  • Методы
  • Наследование
  • Регулярные выражения
  • Прекрасные фичи
  • Стиль

2. «Вы не знаете JS»

«You Don’t Know JS» это, собственно говоря, серия из 6 книг, написанных Кайлом Симпсоном.

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

Если вы новичок, книги стоит читать в таком порядке:

  • Up & Going («Начните и Совершенствуйтесь»)
  • Scope & Closures («Область Видимости и Замыкания»)
  • this & Object Prototypes («This и Прототипы Объектов»)
  • Types & Grammar («Типы и Синтаксис»)
  • Async & Performance («Асинхронность и производительность»)
  • ES6 & Beyond («ES6 и не только»)

3. «Выразительный Javascript»

«Eloquent Javascript» (автор — Марейн Хавербек) также является одной из популярных книг в среде веб-разработчиков.

Эта книга состоит из 22 частей, раскрывающих все лучшее в JS на уровне от базового до среднего с указанием лучших приемов.

Прочтя эту книгу вы узнаете о разнообразных вещах, от базового синтаксиса и структуры данных в JavaScript до эффективности DOM и управления node.js для создания сервера.

4. «Сила JavaScript. 68 способов эффективного использования JS»

Эта книга, написанная Дэвидом Херманом, предназначена для тех, у кого уже есть базовое понимание JavaScript.

Книга «Effective JavaScript» содержит советы эксперта по JavaScript. Она написана для разработчиков с уровнем знаний от среднего и выше.

Произведение Дэвида Хермана предлагает 68 проверенных способов, которые помогут вам в решении ваших задач и в организации кода.

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

5.«JavaScript. Подробное руководство»

Это одна из самых хорошо организованных и детальных книг по JavaScript. Написал ее Дэвид Флэнаган.

«Подробное руководство» дает детальный обзор концепции JavaScript и особенностей вебплатформенного API, имеющих отношение к разработке веб-приложений.

6. «Секреты JavaScript ниндзя»

Авторы книги – Джон Резиг и Беэр Бибо. Это лучшая книга для тех, кто хочет быть ниндзя в JavaScript, то есть для заинтересованных в изучении унаследованных вещей в JavaScript и получении удовольствия от изучения способов решения критических проблем.

Книга рассчитана на разработчиков среднего уровня.

Эта книга написана старшим разработчиком в Yahoo Стояном Стефановым. Она поможет вам изучить JavaScript с помощью многочисленных шаблонов программирования. Хотите вы писать фронтенд, бэкенд или десктопные приложения – этак книга является для вас лучшим выбором.

8. «Принципы ООП в Javascript»

Николас Закас, автор этой книги, объяснил в ней природу объектно-ориентированного программирования уникальным способом.

Эта книга помогает глубже понять такие ключевые характеристики, как наследование, функции, объекты. Книга хороша как для новичков, так и для экспертов.

9. «Программирование приложений на JavaScript»


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

В этой книге вы прочтете о лучших приемах организации кода и узнаете, как можно повторно использовать ваш код.

В книге также описываются способы тестирования, интегрирования и развертывания обновлений программного обеспечения.

10. «JavaScript. Основы»

Это один из бестселлеров по JavaScript. Автор книги — Пол Уилтон. Книга предназначена для новичков. Это одно из самых обновляемых руководств.

«JavaScript. Основы» охватывает много продвинутых тем, включая новые элементы HTML5 и их API, JSON, функции, события, новые свойства геолокации и многое другое.

Заключение

Все упомянутые выше книги подходят как для новичков, так и для опытных JavaScript-разработчиков. Они помогут вам в изучении программирования на JavaScript.

Must have для разработчика:
50+ полезных IT-ресурсов

В мире разработки ПО постоянно происходят изменения: одни технологии рождаются и становятся популярными, другие устаревают и уходят в небытие, третьи умирают, так и не познав славы. Публикуем must have современного разработчика: список источников, из которых можно получать свежую и актуальную информацию из мира IT.

Чтобы быть успешным и востребованным, современный разработчик должен постоянно развиваться и следить за трендами в IT, поскольку новые технологии позволяют выполнять работу более эффективно. Именно поэтому разработчикам следует быть в курсе последних новшеств в сфере разработки ПО. Но это может быть не так просто.

Перед вами 6 типов информационных ресурсов, из которых можно получать актуальную информацию из мира IT всегда и везде.

1. Сетевые источники (блоги, подкасты, форумы)

Пожалуй, основной и самый удобный способ быть в курсе последних новостей из мира IT. В Сети есть множество новостных порталов, блогов и форумов, на которых разработчики обмениваются опытом, публикуют новости и описания новых технологий, фреймворков и практик, приводят их сильные и слабые стороны, делают сравнительные анализы и многое другое.

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

  • dzone.com — сайт, посвящённый вопросам разработки ПО.
  • habrahabr.ru — крупнейший в Европе ресурс для IT-специалистов. На данном ресурсе публикуются технические статьи, связанные с IT.
  • news.ycombinator.com — агрегатор IT-новостей.

2. Печатные источники (книги и журналы)

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

Журналы в печатном виде постепенно уходят в прошлое (впрочем, их всё ещё можно встретить, например, журнал CODE). Их постепенно вытесняют онлайн версии, распространяемые по подписке. Как правило, журналы содержат в себе подборку актуальных статей по нескольким направлениям разработки ПО.

  • codemag.com — журнал, берущий начало в 1999 году. Публикуется раз в 2 месяца, сосредоточен на разработке с использованием современных технологий.
  • msdn.microsoft.com — ежемесячный журнал сообщества разработчиков Microsoft, в котором публикуются статьи, связанные с разработкой в стеке технологий Microsoft.

3. Социальные сети (Twitter, Facebook, ВКонтакте)

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

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

Что касается социальной сети ВКонтакте, то там не так много групп по технологиям и большинство из них носит либо развлекательный характер, либо забиты рекламой и вопросами участников без ответов.

  • twitter.com/angularjs — новости разработки JavaScript фреймворка Angular.

4. Живое общение (митапы, хакатоны, конференции)

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

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

Конференции, как правило, проводятся крупными компаниями и посвящены определённой технологии/стеку технологий. Конференции могут состоять из нескольких блоков по разным направлениям разработки, каждый из которых может быть представлен несколькими докладчиками. Для конференций характерно большое число участников. На них могут рассказывать о применении той или иной технологии, её преимуществах, нововведениях, а также подводных камнях при её использовании.

  • build.microsoft.com — Microsoft Build Developer Conference — крупнейшая ежегодная конференция, посвящённая технологиям Microsoft.
  • oracle.com — ежегодная конференция, посвященная Java и связанным с ней технологиям.
  • devconf.ru — русскоязычная конференция, посвящённая веб-разработке.

5. Месседж борды

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

  • reddit.com — крупнейший месседж борд: содержит большое число подкатегорий по различным направлениям, в том числе IT.

6. E-mail рассылки

Как ни странно, e-mail рассылки продолжают существовать и зачастую являются довольно качественным источником информации. Как правило, представляют собой рассылку подборок достойных внимания статей за определённый промежуток времени.

  • ng-newsletter.com — еженедельная рассылка материалов по разработке на Angular.
  • androidweekly.net — еженедельная рассылка материалов по разработке на Android.

Ниже представлены источники, на мой взгляд, наиболее заслуживающие внимания и сгруппированные по технологиям:


  • oracle.com/java — бесплатный онлайн журнал, выпускаемый Oracle раз в 2 месяца. Содержит новости из области профессиональной разработки на Java.
  • javacodegeeks.com — сайт, регулярно публикующий руководства по решению тех или иных задач на Java.
  • javaworld.com — флагманский ресурс для Java-профессионалов. Содержит информацию, полезную в основном для тех, кто занимается разработкой корпоративных систем, включая аналитику, руководства и новости enterprise разработки на Java.
  • theserverside.com — как и JavaWorld — один из крупнейших ресурсов, посвященных разработке enterprise Java приложений.
  • dzone.com — подраздел DZone, посвященный разработке на Java.
  • baeldung.com — блог, содержащий обучающие материалы по разработке на Java с использованием фреймворка Spring. Также на нём регулярно публикуется подборка полезных материалов по мнению автора.
  • sitepoint.com — раздел SitePoint, посвящённый разработке на PHP. Обычно публикуются статьи, посвящённые разработке с использованием наиболее популярных фреймворков и CMS.
  • csiphp.com — блог, в котором описаны плохие практики разработки на PHP.
  • phpdeveloper.org — новостной ресурс, публикующий актуальную информацию по PHP разработке.
  • phparch.com — платный онлайн-журнал для PHP разработчиков.
  • reddit.com/r/php — раздел Reddit, посвящённый PHP разработке.
  • wp-kama.ru — русскоязычный ресурс, посвящённый PHP разработке на WordPress.

Javascript

  • javascript.com — лента новостей, формируемая сообществом JavaScript.com.
  • jslive.com — лента новостей, формируемая сообществом JavaScript.com.
  • reddit.com/r/javascript — раздел Reddit, посвящённый разработке на JavaScript.
  • javascriptweblog.wordpress.com — блог, посвящённый JavaScript разработке.
  • 2ality.com — блог, посвящённый JavaScript разработке.
  • nemisj.com — блог, посвящённый JavaScript разработке.
  • javascriptweekly.com — еженедельная e-mail рассылка материалов по JavaScript разработке.
  • reddit.com/r/angularjs — раздел Reddit, посвященный Angular JS.
  • ng-newsletter.com — еженедельная e-mail рассылка по разработке с использованием Angular.
  • blog.jhades.org — блог, посвящённый fullstack-разработке на JavaScript и Angular.
  • reddit.com/r/node — раздел Reddit, посвящённый Node JS.
  • echojs.com — месседж борд наподобие Reddit, посвящённый JavaScript.

ASP.NET

  • asp.net/community — новости сообщества ASP.NET разработчиков.
  • 4guysfromrolla.com — актуальные статьи по разработке на ASP.NET и C#.
  • reddit.com/r/ASPNET — раздел Reddit, посвящённый разработке на ASP.NET.

Android

  • android-developers.blogspot.ru — e-mail рассылка материалов по Android разработке.
  • androidweekly.net — еженедельная e-mail рассылка материалов по Android разработке.
  • androiduipatterns.com — блог, посвящённый вопросам проектирования пользовательских интерфейсов под Android.
  • androidhive.info — блог, посвящённый Android разработке.
  • vogella.com/android — подборка статей по направлению Android разработки.

  • startandroid.ru — русскоязычный блог, посвященный Android разработке.
  • developer.android.com — официальный сайт Android для разработчиков.
  • android-arsenal.com — каталог готовых к использованию Android компонентов и библиотек.
  • reddit.com/r/objectivec — раздел Reddit, посвящённый разработке на Objective C.
  • reddit.com/r/swift — раздел Reddit, посвящённый разработке на Swift.
  • mikeash.com — блог, в котором рассматриваются продвинутые вопросы разработки под iOS и Mac.
  • iosdevweekly.com — еженедельная e-mail рассылка по iOS разработке.
  • etolstoy.ru — подборка полезных ресурсов для Objective C разработчиков.

Python

  • reddit.com/r/python — раздел Reddit, посвящённый Python.
  • pycoders.com — еженедельная e-mail рассылка подборки материалов по разработке на Python.
  • pythonweekly.com — еженедельная e-mail рассылка подборки материалов по разработке на Python.

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

Общие

  • dzone.com — одно из самых крупных сообществ разработчиков и авторов статей по различным направлениям разработки.
  • sitepoint.com — сообщество разработчиков, публикующие статьи на тему веб-разработки.
  • stackoverflow.com — сервис по типу вопрос-ответ, созданный для облегчения решения повседневных проблем разработчиков.
  • unclecode.com — сайт, публикующий ресурсы по веб-разработке.
  • quora.com — ещё один сервис вопрос-ответ, имеет разделы, посвященные IT. В отличие от Stack Overflow, вопросы, как правило, относятся к обсуждению той или иной технологии в целом.
  • habrahabr.ru — крупнейший в Европе ресурс для IT-специалистов. На данном ресурсе публикуются технические статьи, связанные с разработкой ПО.
  • megamozg.ru — ресурс-ответвление от Хабрахабра, статьи которого носят преимущественно управленческий характер.
  • toster.ru — русскоязычный аналог Stack Overflow.

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

Если вы знаете достойные IT-ресурсы по программированию, не упомянутые в подборке, — оставляйте ссылки на них в комментариях, ведь актуальных и полезных ресурсов в нашей области много не бывает!

В комментариях к статье были добавлены следующие источники:

20 самых рекомендуемых книг для программистов на русском языке

Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. Всё для того, чтобы найти книги, на которые чаще всего ссылаются разработчики.

В общий список вошло 5 720 книг. Ниже вы найдёте 20 самых упоминаемых из них, которые когда-либо выходили на русском.

По просьбе Лайфхакера своими мнениями насчёт некоторых изданий поделились отечественные эксперты.

1. «Эффективная работа с унаследованным кодом», Майкл К. Физерс

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

2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма и другие

Классика для программиста. Первая книга, посвящённая именно шаблонам.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Издание уже 20 лет переиздаётся в изначальном виде. В этом, конечно, главный недостаток книги: некоторые шаблоны уже неактуальны. Думаю, её полезно читать уже после других, более современных, книг по паттернам проектирования. Тем более что она написана сухим академическим языком. Для понимания паттернов эта книга не must read, но её прочтение добавляет крутости в глазах коллег-программистов. 🙂 Начинать я советую с «Паттернов проектирования» (Head First Design Patterns).

3. «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин


Интересная, но во многом спорная книга о том, как писать понятный и поддерживаемый код.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Почему спорная? Книг про написание кода уже огромное количество, и часть приёмов являются общепризнанными. Но каждый автор добавляет что-то своё. Лично для меня мнение Боба Мартина кажется иногда странным и противоречащим другим источникам. Не must read, но прочитать всё же стоит. Качество кода после прочтения становится лучше.

4. «Предметно-ориентированное проектирование», Эрик Эванс

Очень сильная книга, которая мотивирует к саморазвитию. После прочтения кажется, что без ПОП качественный код не написать.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей. Единственный недостаток: книга насквозь теоретическая. Практическую пользу она приобрела только с выходом книги Вона Вернона «Реализация методов предметно-ориентированного проектирования» (Implementing Domain Driven Design). Поэтому читать их надо последовательно, сразу друг за другом.

5. «JavaScript: сильные стороны», Дуглас Крокфорд

Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.

6. «Шаблоны корпоративных приложений», Мартин Фаулер и другие

Книга описывает базовые принципы проектирования ПО для корпоративных платформ.

7. «Совершенный код. Мастер-класс», Стив Макконнелл

Классическая книга о том, как писать код лучше.

Михаил Осотов, директор по производству «Центра высоких технологий»

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

8. «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие

Из серии книг по написанию понятного и качественного кода, «Рефакторинг» — лучшая.

Леонид Выговский, системный архитектор IT-компании LiveTex

Выговский: «Она не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. Эта книга — must read для всех. Причём чем раньше вы её прочтёте, тем лучше. Качество кода после прочтения сильно вырастет».

Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски, которую рекомендует Михаил Осотов.

Мастер Йода рекомендует:  8 самых распространенных ошибок веб-разработчика

«Рефакторинг с использованием шаблонов» Кериевски — отличная книга для тех, кто каждый день сталкивается с проблемой легаси-кода и технического долга в своих проектах.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Эта книга поможет сохранить свои нервы, подружиться с рефакторингом и сделать код лучше.

9. «Паттерны проектирования», Эрик Фримен, Элизабет Фримен и другие

Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки ПО.

Михаил Осотов, директор по производству «Центра высоких технологий»

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

10. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи

Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.

11. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс

Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.

12. «Экстремальное программирование: разработка через тестирование», Кент Бек

Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.

13. «Алгоритмы. Построение и анализ», Томас Х. Кормен и другие

Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.

14. «Регулярные выражения», Джеффри Фридл

Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.

15. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер

Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.

16. «Современное проектирование на C++», Андрей Александреску

Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.

17. «Microsoft ASP.NET 2.0. Базовый курс», Дино Эспозито

Детальное руководство для опытных специалистов по ASP.NET 2.0. Книга учит создавать мощные, надёжные и масштабируемые сайты на этой платформе.


18. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош

Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.

19. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие

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

20. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс

Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.

Полный рейтинг англоязычных книг доступен на сайте Dev-Books. Там же можно просмотреть списки самых популярных книг на определённые темы, будь то Java, Database Design или CSS.

10 полезных книг для Java программиста на русском языке

Книги по программированию – штука субъективная. Даже качественное руководство может вам не понравиться просто потому, что в данный момент оно вам не нужно. Поэтому мы собрали довольно разноплановый список – что-нибудь вас точно заинтересует. Все книги в нем объединены только одним – они будут интересны и полезны для Java программиста.

Если вы не сторонник обучения по книгам, возможно, вам будет полезна наша статья об ускоренном изучении Java.

Книги по Java

Начнем, конечно же, с руководств по самому языку. В этом разделе мы собрали четыре книги по Java:

  1. Java для начинающих;
  2. для опытных;
  3. вообще для всех;
  4. и один сюрприз.

Изучаем Java (Head First Java)

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

Написана она легко и интересно (как и другие книги Head First), так что вы вряд ли ее бросите от скуки и сложности.

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

Параллелизм в Java на практике

Работа с параллелизмом не так проста, как кажется на первый взгляд. И книга про параллелизм в Java тоже довольно тяжелая – ну, а чего вы хотели?

Автор разбирает множество подводных камней, о которых вы и не думали, и способы борьбы с ними.

Руководство основано на Java 6, поэтому уже немного устарело, однако все еще может успешно применяться на практике.

Java. Эффективное программирование

Это, определенно, must have для каждого Java программиста – одна из лучших книг по языку, к которой вы часто будете возвращаться.

Вы найдете здесь множество полезных правил, приемов работы, советов и примеров кода.

Третье издание было обновлено для версий Java 7, 8 и 9.

Kotlin в действии

Это совсем не про Java! – возмутитесь вы. Точно, однако не спешите сразу отказываться.

Язык программирования Kotlin также работает на JVM и прекрасно совместим с Java. На самом деле совместим настолько, что вы можете их буквально смешивать.

Если вы любите Java, вы привыкнете к Kotlin и полюбите его тоже, как уже любят Android-разработчики.

Если вы заинтересовались, обязательно читайте книгу, а также загляните в официальную документацию – она отличная!

Книги по общим идеям программирования

Недостаточно просто уметь кодить на Java – нужно делать это хорошо! Поэтому вот вам еще четыре замечательные книги для Java программиста.

  1. первая расскажет, как нужно кодить;
  2. вторая – как переписывать то, что вы однажды накодили;
  3. третья – зачем вообще кодить;
  4. а четвертая – про шаблоны проектирования.

Чистый код

Это легендарная – даже культовая – книга, которая однозначно повлияет на вашу манеру кодить. У вас откроются глаза на многие вещи, о которых вы даже не думали раньше.

Автор рассказывает о базовых принципах программирования, основываясь на глубоком многолетнем опыте. Под его чутким руководством вы незаметно для себя станете писать код намного лучше.

Вы захотите всегда держать эту книгу под рукой и перечитывать ее время от времени.

А еще это замечательный подарок для начинающего программиста.

Рефакторинг

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

Автор особенно концентрируется на тестировании, так как оно является основой и страховочной сеткой рефакторинга.

В первом издании все примеры выполнены на Java, во втором – на JavaScript. Убедитесь, что вы читаете правильную версию.

Программист-прагматик

Одна из лучших книг для изучения основных концепций программирования. Здесь меньше кода, зато больше принципов и идей. Авторы используют метод аналогий – и очень здорово их подбирают, вам понравится.

Head First. Паттерны проектирования

Если вы много раз пытались разобраться в шаблонах проектирования, но все безуспешно – эта книга для вас!

Она совершенно нескучная в отличие от большинства других и затянет вас не хуже беллетристики. Вы буквально проникнете в суть шаблонов, специфику их использования и – только представьте себе! – действительно их запомните. Больше никакой мешанины из бессмысленных названий, Head First Design Patterns расставит все по местам.

Книги по Java фреймворкам

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

Spring в действии

Spring – один из самых популярных Java-фреймворков.

В книге вы найдете подробное описание особенностей и возможностей версии Spring 3, таких как язык выражений SpEL, поддержка REST, аннотации для работы с IoC контейнером. Автор подбирает интересные и понятные примеры, которые будут полезны как новичкам, так и опытным пользователям Spring.

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

Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry

Авторы этой книги попытались охватить сразу множество вещей: от приложения двенадцати факторов до продвинутых фич Spring Cloud. В ней масса полезной информации, касающейся облачной разработки под под Java/JVM

Очень много внимания уделено именно Cloud Foundry (возможно, слишком много).

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

Книги по разработке игр и приложений

Разработка игр, программирование, работа с сайтами и библиотеками, а также изучение всевозможных языков С++, JavaScript и С# предполагает собой постоянное обучение чему-то новому. Технологии сейчас уж точно не стоят на месте, и с каждой новой презентацией мировые компании представляют миру совершенно новые тренды разработки и контента.

Не так давно виртуальная реальность была лишь корпоративным продуктом, но динамично обновляющийся игровой мир диктует свои правила. Теперь VR-очки выступают полноценным игровым элементом. А топовые игры адаптируют графику и управление под модный тренд. Интересно, технологии Google Glass смогут так же внедриться в игровой мир? Или они не выйдут за рамки обычного носимого устройства?

Находясь по ту сторону барикад, нужно понимать, что помимо разработки игр, нужно уделять время обучению новым технологиям. Геймеры и киберспортсмены постоянно следят за новостями относительно новых возможностей и технологий игрового мира. Поэтому, на плечах разработчиков лежит ответственная миссия по быстрому обучению всем новым, а также уже имеющимся технологиям. Если вы новичок в разработке игр, для вас найдется список настольных must have книг. Для опытного разработчика, который смело экспериментирует с 3D графикой, также можно выделить достойные сборники по геймдеву.

Книги по разработке мобильных приложений Android и iOS

Мы собрали лучшие, по нашему мнению книги, благодаря которым вы сможете взглянуть на мир разработки контента под другим углом. Мобильные платформы на сегодняшний день смело вытесняют компьютеры. Только с 2015 года показатель активности ОС Android и iOS возрос на 84%. Разработчики и мировые компании не теряют времени напрасно, и смело выпускают топовые игры или 5-ти минутные ранеры на мобильные устройства. Мы не могли не уделить внимание книгам для разработки Android и iOS контента.

1. «Привет, Андроид»
Из книги можно почерпнуть сведения об основах платформы Андроид от элементарного приложения «Привет, Мир!» до 2D и 3D графики. В завершение автор поделится полезной информацией о SQLite и инструкцией по публикации контента в Google Play.

2. «Learning Java»
Учебник для «чайников» об основных тонкостях Java, которые пригодятся, чтобы грамотно разрабатывать игры. Обучение проходит на примере создания игр для Андроид. Кроме того подробно рассматривается пиксельная графика, SFX и GFX, анимация и другое.

3. «Beginning Android Games»
Кратко и по делу написанная информация, которая поможет разобраться в графических движках и адаптации игр под разные платформы. Учебник будет полезен как для начинающих, так и для специалистов. Советуем внимательно читать теорию и коды, потому что в некоторых намеренно сделаны ошибки.

4. «Разработка игр для андроид»
Именно эта книга должна стать для вас настольной, если вы начинающий разработчик игр. Благодаря ей вы узнаете о том, как создать и реализовать через C и С++ мобильное приложение. OpenGL ES и система распознавания жестов — обо всем можно узнать из этой книги.

5. «Android Design Patterns»
Больше 50 основных паттернов, которые научат преобразовывать основные нюансы поиска, отбора, фильтров и другого. Шаблоны программирования, двенадцать примеров прокачают ваш скилл и помогут избежать ошибок в создании игр. Книга оснащена иллюстрациями, что делает ее понятной для каждого.

6. «Профессиональная разработка приложений Андроид»
Книга немного устарела, ведь она была издана в 2012 году, но раздел по Android SDK будет очень полезен для начинающих. Кроме того книга отлично систематизирована и разделена на отдельные темы, поэтому легко можно выбрать необходимое. Очень удобно, что книга официально изданы на русском языке.

7. «Mobile Game Development with Unity»
Книга ответит на вопрос о том, как разработать игры для iOS и Android с помощью движка Unity. Примеры из реальных сценариев для игр помогают лучше понять теорию.

Книги по разработке на платформу iOS:

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

1. «Разработка игр»
Книга — аналог учебника «Привет, Андроид». Она расскажет о том, как справляться с Game Center и App Store, как создавать уникальные приложения с помощью SptiteKit и Swift. Для усваивания материала, желательно знать самое основное про разработку.

2. «Swift Essentials» и «Swift Programming»
Созданные для новичков, книги откроют азы Swift и методы работы с ним.

3. «iOS 11 Swift Programming Cookbook»
Учебник, подробно рассказывающий об особенностях основных версий iOS. Книга будет полезна и начинающим, и опытным программистам для более глубоких познаний в области разработки для этой операционной системы.

4. «Swift 3 Разработка игр»
Анимация, графический дизайн и синхронизация. Грамотно нописанный код поможет разобраться в нюансах работы с SpriteKit и Swift.

5. «iOS Swift Game Development Cookbook»
Учебник, который учит OpenGL и SpriteKit, а также 2D и 3D алгоритмам. Подробно разобраны ошибки в разработке игр на iOS и нюансы работы с UIKit Detect.

6. «Изучение создания игр для iOS»
Учебник о главных секретах создания приложений с помощью Unreal Engine для iOS. Чтобы пользоваться UE4 для разработки игр, вам обязательно надо подружиться с этой книгой.

Список книг еще можно продолжать. Вы можете составить собственный перечень, который будет соответствовать платформе, жанру и тем навыкам, которыми вы владеете.

Книги о разработке игр на ПК

Создание игр на ПК под силу лишь профессионалу. Разные жанры требуют соответствующих сценарных, художественных и дизайнерских навыков, а также знаний о языках CSS и JavaScript, и движках Unity и Unreal Engine. Все это очень сложно и вряд ли возможно, если браться за это одному человеку.

Но именно профессионализм помогает создать действительно достойное приложение. Вот некоторые наиболее полезные книги, которые помогут научиться создавать игровой интересный контент. Большое количество книг написаны на английском языке, поэтому стоит осваивать не только язык в IT-сфере, но и приступить к изучению иностранного. Представляем вашему вниманию книг-справочников на русском языке.

1. «DirectX: продвинутая анимация»
В этой книге раскрыты нюансы 3D анимации при работе с DirectX. Здесь подробно рассмотрены принципы работы различных текстур и шейдеров с элементами анимации.

2. «Разработка и отладка шейдеров»
Графические и звуковые эффекты станут вам под силу благодаря этой книге. Если вы ищите необычные и интересные эффекты — это пособие для вас.

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

4. «Психология оптимального переживания»
Учебник, который рассказывает, как достичь счастья геймеру. Если уловить все нюансы, можно создать игру, которая станет любимчиком многих геймеров.

5. «Маркетинг игр»
Пиар и продвижение собственного приложения — это станет понятным и доступным после прочтения книги, даже если вы не знакомы со значением слов «таргет», «SMM» и «конверсия». Книга написана доступно и понятно даже для новичка.

Русскоязычный каталог на этом, к сожалению, заканчивается. Однако, ступив одной ногой в IT, а другой — в геймдизайн, вы должны осознавать, что без английского языка вам будет очень сложно. Поэтому, кроме изучения языков программирования, рекомендуем уделить внимание курсу English Upper Intermediate.

Книги для разработки на Unity

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

1. «Unity Game Development за 24 часа»
Двадцать четыре главы — ровно столько частей книги и столько же часов понадобится для того, чтобы разобраться в этом движке. Автор утверждает, что эта книга поможет вам создать мощное портфолио, да и пособие написано очень доступно и понятно.

2. «Unity for Absolute Beginners»
Учебник для начинающих в деле Unity для ознакомления с его нюансами. Пособие гарантирует получение основных знаний по этой теме.

3. «Unity 2D Game Development»
Книга научить создавать игру 2D с помощью 3D. Подробно описаны в пособии особенности движка Unity.

4. «Learn Unity3D Programming with UnityScript»
Учебник расскажет о возможностях движка Unity для создания 2D и 3D приложений. Книга разъяснит все нюансы про различные эффекты этого движка. Понравится как начинающим, так и профессионалам.

Ну и напоследок информативные книги по разработке игр.

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

1. «Mathematics for 3D Game Programming»
Если вы создаете 3D контент, это пособие поможет вам в расчетах для программирования.

2. «Networking and Online Games»
Пособие рассказывает о нюансах сетей и мультиплеере в играх.

3. «Физика для создателей игр»
Книга-помощник для разработчика. Пособие, в котором рассказывается о физических явлениях для каждого игрового элемента.

4. «GPU Gems»
Пособие для профессионалов. Рассказывает в мельчайших подробностях об GPU и GPGPU.

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

Добавить комментарий