Книга: Пять уроков Великого Магистра

magister
Виктор Рябченко.
Пять уроков Великого Магистра, или Повесть о том, как Петя Бочкин изучал программирование.
Омск, 1988.
Обычно подобные книги не вношу сюда в прочитанные, но эта меня поразила своей непонятностью, упоротостью (пардон) и не прекращающимся при размышлениях вопросом «нафига».
По задумке автора очень начальный текст о программировании, дающий базовое представление о том, что такое алгоритм. Чтобы незрелому читателю скучно не было, знание подаётся в антураже некой… фантасмагории, не могу назвать иначе.
У Пети Бочкина раздвигаются стены комнаты и к пляжу подплывает корабль, на котором матросы, чувак (Казимир) и девушка (Кристина). Девушка существует в двух ипостасях, девической и роботной. В робота вводят программу (феминистки вздрагивают), при этом Кристина в основном занимается едой (снова вздрагивают). Первое знакомство с процессом описано вот так:

Казимир снял с себя бескозырку и нахлобучил ее на голову Кристины.
— Клади программу под бескозырку, — приказал он.
Петя положил программу под бескозырку.
— Эту процедуру мы будем называть «вводом программы», — объяснил Казимир. В действительности программа вводится в машину несколько иначе, но в данный момент это несущественно.
Казимир обошел Кристину вокруг и с чувством удовлетворения пропел:
— Ар-лята! Учатся летать! — он взглянул на Петю и велел:
— А теперь трахни ее по голове кулаком!
— Зачем?
— Затем, что эту процедуру мы будем называть командой «Пуск».
Петя приблизился к Кристине и легонько хлопнул ее по бескозырке.
— Можно было и сильнее… — начал Казимир, но тут Кристина вздрогнула и монотонно заговорила:
— Программа не прошла. Программа не прошла. Программа не прошла.

Ну… кхм. Ну вот типа такого весь текст. То из пушки курицами стреляют. То в море бочки с капустой. То «Шаварган-трах-тарарах!» Иные абзацы перечитывал несколько раз. Вот ещё микрошедевр:

— Так вот, сегодня клипер «Котангенс» под командованием Великого Магистра и Пети Бочкина должен был отправиться на операцию. Нужно было подойти к берегам герцогства и подвергнуть его столицу бомбардировке солеными огурцами. Из всех орудий. Но кракелюры, хитрые бестии, что-то пронюхали. Они заминировали всю прибрежную акваторию. Сегодня, когда клипер шел сюда, в бухту, чтобы забрать на борт Петю («адмирала Бочкина», тут же поправил Казимир), пришлось пробираться по сплошным минным полям… Мины кракелюров представляют из себя дубовые кадушки, начиненные квашеной капустой. Кстати, это еще раз подтверждает собственное убожество кракелюров. Прочная логика! Они, мол, нас — огурцами, а мы их — капустой! Не выйдет, господа! Капусту мы любим, хотя квашеную, по правде сказать, не очень. Но никакого вреда она нам не приносит, неприятно только. Рванет такая мина под днищем, обляпает весь корабль с носа до кормы. Б-р-р… Противно!

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

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

Книга: Getting Started with SQL

lrg (1)
Thomas Nield.
Getting Started with SQL: A Hands-On Approach for Beginners.
O’Reilly, 2016.
Есть особая категория книг — помогающие переступить порог входа. Обычно в них нет откровений, нет сакральности, просто текст, который написан так доступно и так деликатно к измождённому учёбой мозгу, что после прочтения уже не страшно, можно идти дальше.
Вот эта такая. Всего 100+ страниц, базой SQLite, рассматривается самый ходовой набор SQL. Совсем немножко захвачена тема дизайна схемы базы данных, но тем, кто вообще никогда, и так норм.
Книга годная, советую тем, кто впервые сталкивается с SQL и хочет оперативно подхватить основы.

Книга: Информационные технологии в СССР

aab2ea96887a7168249c05cbf9131473
Ревич Ю.В., Малиновский Б.Н.
Информационные технологии в СССР. Создатели советской вычислительной техники.
БХВ-Петербург, 2014.
Ревич взял за основу книгу Малиновского «История вычислительной техники в лицах», расширил, [заметно] дополнил. Получился вполне хороший сборник биографий основного пантеона советского вычтеха.
Есть два нюанса.
Во-первых, речь почти только о «железячниках», конструкторах, делавших именно компьютеры. Программисты вне темы книги.
Во-вторых, авторы стараются быть положительно-нейтральными, так скажем. Лишь изредка прорываются штуки вроде письма Ревичу: «Опыт внедрения Эльбрус-1» от того, кто над этим Эльбрусом в 1982 году всем телом бился. Т.ч. срывания покровов нема, они в других статьях и книгах. Просто ровные истории о.
Книга годная, читать было интересно. Получил много поводов подумать и порыскать по другой литературе.

 

Книга: Low-Level Programming

414l6NJ8yyL._SX348_BO1,204,203,200_
Igor Zhirkov.
Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture.
Apress, 2017.
Про low level сейчас мало свежих книг, потому мимо этой пройти сложно. Но лучше бы и пройти, отложив на будущее. Озлоблённость и недоумение вызваны неудовлетворённым ожиданием. Я хотел книгу про ассемблер, процессоры, архитектуры, красивости и всякое такое. А получил методичку какую-то отечественному студенту.
В книге 446 страниц. Если убрать «технические» страницы (обложка, содержание, индекс, благодарности, титульные страницы глав и т.п.), а их 36, получим 410. Но ещё есть приложения: про gdb (9), make (5), семь из 333 syscalls (6), сводочка про перфтесты (3). Ещё минус 23 страницы, в остатке 387. Буду злобным и summary-страницы в конце каждой главы посчитаю ненужными: 17. Итого получаем книгу в 360 страниц.
Но… тадам! Со 127-й страницы по 220-ю нам пересказывают основы языка C! А с 221-й по 231-ю галопом про БНФ, AST и парсинг с семантикой. Зачем-то. А с 241-й страницы по 261-ю галопом про good code practices. Снова зачем-то. Эдак 120 страниц добавляю в минус. Осталось 240. Из которых 115 посвящены «Assembly Language and Computer Architecture» и 125 теме «Between C and Assembly».
Вот сами подумайте, что можно уместить в 115 страниц по заданной теме? Правильно. Снова галопом. И автор прям сознательно указывает, что команды не описывает, мол, всё устаревает, топайте в интернеты, в мануалы от Intel, там научитесь. Ну офигеть мне удобно метаться туда-сюда, просто вот разе на десятом восторг от решения. Проверочные вопросы примерно из той же области: «What is the difference between sar and shr? Check Intel docs» — кхм, уважаемый Игорь, мне казалось, что задача учебника также и в том, чтобы рассказать мне об этой разнице, а не форвардить в мануалы Intel, которые я и без того почитаю. В общем, в сравнении с другими книгами эта тема разобрана просто никак. Очень конспективно, лишь бы зачёт сдать.
Единственное, за что хочется сказать «спасибо» — Between-тема. Она тоже конспективно, тоже галопом, но весь этот дайджест собран в одном месте и позволяет раскручивать интернеты более точечно и системно.
Итого… Ну, 125 страниц из 446. Я не знаю, кому и зачем нужна такая книга. Не знаю, кто ставил ей хорошие оценки на Амазоне. Есть гораздо более правильные книги по C. И гораздо более правильные о практике программирования. И про ассемблер, как уже знаю. Автор очевидно хорошо знает тему. Но нафига пытаться упихнуть в удава десять слонов? И о чём и для чего всё-таки книга? Практику всё равно после неё до фига молотить. Теоретику слишком мало написано. Интересующемуся (вот типа меня) слишком конспект и как-то… чуть дубово написано, пардон.
В общем, я грустно разочарован.

Книга: Kafka: The Definitive Guide

kafka
Gwen Shapira, Neha Narkhede, Todd Palino.
Kafka: The Definitive Guide. Real-Time Data and Stream Processing at Scale.
O’Reilly, 2017.
Понадобилось достаточно срочно прочитать одну (на стопку времени нет) книгу по Kafka, да ещё свежую, да ещё по нескольким темам, да ещё толковую. Повезло, вот это она.
Писали те, кто делает и пользуется. Потому текст получился почти строго по делу с внятными примерами и доходчивыми аргументами в пользу того или ного решения. Покрыты схемы раскатки, использование, админство, мониторинг и пара-тройка фенечек. Документацию книга не заменяет, конечно, но даёт отличный проход порога входа.
Вообще я больше привык критически брюзжать, потому про хорошие книги не знаю, чего сказать. Просто хорошая. Рекомендую всем, кто собирается возиться с Kafka.

Книга: Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809

z809
SG Ganesh, Hari Kiran Kumar, Tushar Sharma.
Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809: A Comprehensive OCPJP 8 Certification Guide.
Apress, 2015.
За последние пару лет это самая скучная книга по разработке, что читал. Авторы взяли список экзаменационных тем и пересказали его в режиме «напоминаем, что есть такой класс, вот его несколько методов из десятков, вот пример кода, где мы тривиально используем класс, всё».
Так и читается. Очень поверхностный каталог без внятного объяснения семантики, без глубокой проработки тем, без всего. Разве что 175 задачек полезны (90 разбросаны по главам, 85 в mock exam).
Если предыдущая книга меня ушатала уровнем школьного учебника для первых классов, то эта ввергла в пучины умственной депрессии. И ладно бы действительно готовила к сдаче, но нет, буквально всё вам надо будет дополнительно подбирать на стороне.
Рекомендовать не могу. Разве что в качестве расширенной шпаргалки к списку тем на повторение. Но на 475 страницах можно было и больше сделать.

Книги: OCA Java SE 8 Programmer I Certification Guide

oca
Mala Gupta.
OCA Java SE 8 Programmer I Certification Guide.
Manning Publications, 2016.
Очень специфический 700-страничный талмуд. Это не учебник. Это не мануал. Не шпаргалка. Не справочник. Это многократный унылый пересказ поднабора основ языка Java, который включается в темы первой сертификации Oracle. Прописные истины и базовые знания вам будут на каждой странице повторять, повторять, повторять, повторять, повторять.
Иными словами, текст заточен на то, чтобы заточить вас ровно на сдачу сертификации, не более. И в немалой мере задачу решает. Вы вспомните / узнаете некоторые неочевидные штуки, прорешаете 140+ тестовых вопросов (включая финальный экзамен в конце), привыкнете к мысли, что ЭТО просто надо пережить, а потом забыть как страшный сон. Как минимум, узнаете, как может выглядеть упоротое тестирование.
Фигня в том, что действительно все темы глубоко не покрываются, как мне показалось, или же не был сделан акцент. При прохождении mock exams от Enthuware эти лакуны всплывают, потому не рекомендую использовать Guide как единственный источник подготовки. Обязательно в комплексе с чем-нибудь ещё.
Книга полезна только тем, кто готовится к сертификации. Остальных она может отвратить как от чтения в целом, так и от языка.

Книги: Java: The Legend

java (1)
Ben Evans.
Java: The Legend. Past, Present, and Future.
O’Reilly, 2015.
Прочёл давно больше для коллекции (что написано вокруг Java), но вдруг заметил, что ничего о ней не написал.
Небольшая брошюра из бесплатной серии O’Reilly на пару дней в метро. Рассказ о том, как появилась Java, зачем, чего в ней хорошего, куда всё едет и шагает.
Читать можно тем, кому Википедии мало и хочется чуть больше. Остальным не вижу смысла. Оно уже и года на три устарело (наивная надежда на выход Java 9 в 2016 году, ха), и написано не так технически детально, как хотелось бы. Совершенно проходной текст, в котором любопытны лишь первые страниц 20 (собственно, история).

Книги: Восстание машин отменяется!

52d32d0cdedf69ef2b508c0a01561bf0
Дэвид Минделл.
Восстание машин отменяется! Мифы о роботизации.
Альпина нон-фикшн, 2017.
По правде говоря, не собирался включать эту книгу в блог. Она не про разработку программ. Потом подумал, перечитал пару глав ещё раз… как видите, передумал.
Автор инженер, учёный. Каждая глава (кроме последней) о том, с чем сталкиваются [полу]автономные системы и их создатели в реальной жизни. Глубоководные аппараты, дроны, самолёты, космические леталки и прочее. «Официальная» аннотация почти совсем не при делах, бОльшая часть текста — инженерные истории. Остальное Минделл пустил на утомляющие повторения одной и той же мысли.
Разработчику может оказаться интересным потому, что при замене «роботов» на «программы» находим real life cases:

  • Как пользователи сопротивляются прогрессу и почему?
  • Безопасна и понятна ли даже создателям автономная система?
  • Какие нужны интерфейсы в современном мире?

Вот так читается уже более живенько.

Рекомендовать, впрочем, не буду. 300+ страниц, из которых после отжатия воды и повторов осталась бы едва половина, а профит от чтения всё так же слабоват.