Книги: Beginning Java 8 Fundamentals

Beginning Java 8 Fundamentals
Kishori Sharan.
Beginning Java 8 Fundamentals.
Apress, 2014.
Неоднозначная штука.
Во-первых, автор написал пять книг по Java 8. Писал он их с тайной надеждой, что читатель прочтёт все, потому в этом томе всё хоть сколь сложное упоминается вот так: “.. are covered in .. the book Beginning Java Language Features (ISBN:978–1–4302–6658–7)”. И так 17 раз, что под финал стало раздражать.
Во-вторых, аудитория не очень ясна. Я использовал для того, чтобы поднять в памяти прошлые знания, попутно подхватывая что-то новое, потому не особо страдал. Но… Вы должны уже знать какой-нибудь язык программирования, т.к. автор учит именно языку Java, а не применению. Все примеры и объяснения далеки от реальности (объясняет на рыбках и на черепашках), новичку часто бы не хватало ответов на “зачем?” и “почему?”. Также повествование довольно скучное и наполнено повторами. Выглядит примерно так:

Квадраты чёрные, а круги белые. Если что-то квадратное, то это квадрат, а потому чёрный. Если круглое, то это круг, а круги белые. Белых квадратов не бывает. Чёрных кругов не бывает. Вот код, который пытается создать белый квадрат. Как видите, он не компилируется. Почему? Потому, что белых квадратов не бывает. Зато вот код для белого круга. Он компилируется. Почему? Потому, что круги белые.

В-третьих, как-то… ну очень много страниц для описания таких базовых понятий. Опять же, не особо страдал, но для того, чтобы прочитать 810 страниц лишь основ языка, нужна мотивация. Ведь потом для полноты знаний надо читать второй том (690 страниц) и третий (796 страниц), пусть и при некоторой необязательности четвёртого и пятого.
С другой стороны, есть и плюсы:
  1. Если прочтёте, действительно будете много знать как о базовой Java, так и о терминологии вокруг неё.
  2. Книга про Java 8, что местами очень важно, ибо язык всё-таки поменялся и учебник по Java 7, например, вам расскажет не всё нужное.
  3. Все тома доступны, if you know what I mean.
Вердикт: читать, если понимаете, на что идёте, и если под рукой нет лучшего варианта.

Книги: Hacker’s Delight

Hacker’s Delight
Henry S. Warren.
Hacker’s Delight.
Addison-Wesley Professional, 2012.
Это второе (улучшенное, дополненное, исправленное, etc) издание одной из must read книг для программиста. Первое вышло в 2002 году (у нас в 2007-м под неудачным названием “Алгоритмические трюки для программистов”), над вторым автор работал 10 лет, а наши издатели два года (перевод издан в 2014 году).
Если кратко, то Уоррен написал небольшую энциклопедию битовой арифметики и алгоритмов на битах-байтах. Возможно, вы считаете, что современному программисту знать такое не требуется. Вон на Озоне забавный отзыв:

В наш век большинство программистов пишут на таких языках как C# или JavaScript, поэтому виртуальная машина или интерпретатор съест всю выгоду описанных хакерских трюков, а поддерживать код становится трудно. Так же, я бы не рекомендовал “Алгоритмические трюки” студентам и начинающим, как это написано в аннотации — считаю зря потраченным временем.

Фишка в том, что именно начинающим и студентам эта книга и нужна. За всеми слоями интерпретаторов легко потерять суть происходящего. Разработчик превращается из разработчика в пользователя. Продвинутого, конечно, но всё-таки пользователя. Как не знал, что там под капотом, так и не знает.
Уоррен же возвращает магию. Он разворачивает мозг в сторону, в которой ваше решение задачи (“тааак… тут у меня пять классов… два шаблона… три таблицы в базе и билет в Лас-Вегас”) может превратиться в несколько изящных строк операций над битами.
Тем, кто хоть как связан с ассемблером или с разработкой компиляторов, Уоррен вообще обязателен к прочтению.
Короче. Ругаю я лучше, чем хвалю, потому просто верьте, что Уоррен вам нужен. Не сегодня, так завтра. Первое издание доступно на трекерах. Скачайте, полистайте. Если понравится, купите на полку бумажное второе. Благо, Вильямс не поскупились и выпустили правильно — твёрдая обложка, тетради сшиты, бумага белая.

Книги: Why Rust?

Why Rust?
Jim Blandy.
Why Rust? Trustworthy, Concurrent Systems Programming.
O’Reilly, 2015.
И снова книжка-минутка на вечер. Годная традиция у O’Reilly появилась — выпускать 50..70-страничные штуковины по небольшим темам.
По Rust мало печатных материалов. Да вообще нет, строго говоря. Есть лишь Packt’овая перепечатка ранней документации к первому релизу языка, а те же O’Reilly обещают первый учебник только в августе 2016 года. Потому радуемся и минутке.
Автор из Mozilla, близок к теме. С примерами кода объясняет, почему был придуман Rust и в чём его основные отличия (не считая забавного синтаксиса, конечно) от C / C++. Ничего нового, если читали новости и rust-lang.org, но детальнее на ~50-ти страницах:
  1. Бодрая безопасность типов с тотальной проверкой всего в compile time.
  2. Безопасность работы с памятью: нет NP dereference, нет доступа к уже освобождённой памяти, нет buffer overrun.
  3. Няшная многопоточность.
Всем, кому интересны новые языки мейнстрима, стоит почитать.
PS. С другой стороны, этого Rust’а в production’ах пока на копейку (если не считать ~100К LOC в Mozilla; update: упс, ещё есть даже Redox: A Rust Operating System), а нужных библиотек то нет, то они меняются раз в неделю. Сейчас у языка этап стабилизации и допиливания, потому смотреть-то на него стоит, а вот взросло использовать ещё рановато.

Книги: C++ Today

C++ Today
Jon Kalb, Gašper Ažman.
C++ Today: The Beast Is Back.
O’Reilly, 2015.
И снова книжка-минутка от O’Reilly. Если вы считаете, что C++ покрылся мхом, не развивается, никому не нужен и вообще всё плохо, книга для вас. Несколько десятков страниц оды C++.
10 страниц рассказа о том, зачем C++. 10 страниц истории языка и стандартов. 10 страниц очень беглого обзора современных утилит и возможностей. 15 страниц ссылок с аннотациями на полезные ресурсы (от IRC до книг). 12 страниц примеров кода с несколькими нововведениями. 8 страниц прогноза по дальнейшему развитию языка и библиотек.
Для общего развития почитать можно. Также годятся ссылки на ресурсы — самое то стартующим.