Уникальный в каком-то смысле труд. Шесть книг по программированию. Четыре из них — по языкам Pascal и Delphi, а две другие — по языку Python. И хотя тема не C++, мимо названия «Полезное программирование» было трудно пройти, да и сам автор время от времени высказывается о C++.
256 страниц. СОЛОН-пресс, 2016
Аннотация обещает сделать из читателя большого профессионала.
«Книга для тех, кто умеет программировать и уже готов этим зарабатывать.
Курс молодого, но профессионального программиста. Практические советы.
Что пригодится вам из пройденного и сданного. Что вы будете программировать сначала, а что позже, когда наберётесь опыта. К чему ещё можно применить ваш программистский талант, чтобы руководство одобрило и поощрило. Кратко, доступно, убедительно».
Подзаголовок книги — «Уникальное руководство к действию».
Приложения («Справочник обо всём»): «Всё о данных», «Всё об организации программы на нескольких страницах», «Всё о процедурах и функциях», «Всё продвинутое программирование на нескольких страницах», «Всё о списках. Или почти всё...», «Всё объектно-ориентированное программирование», «Простенький модуль для работы со строками. Простой, но очень полезный». Отдельно — «Задания для самостоятельного развития».
Долго и витиевато автор рассказывает, для кого он писал книгу: для тех, кто только что закончили университет и начинают работать, больше нигде не учатся и в аспирантуру не собираются.
// Уточнение
Всё вышесказанное о недостатках студентов касается в первую очередь их ненадёжности как работников, а совсем не их ума. Бывают и невообразимо [...], но чаще всё-таки наоборот. Один из бывших у нас студентов позже состоял в команде, выигравшей то ли чемпионат, то ли олимпиаду России по программированию. Занудства ради, на тот момент он был ещё студентом колледжа, бывшего индустриального техникума. Наберите в Google «колледж имени Коняева хакер». Нет, это не он.
// конец Уточнения
У книги своеобразный стиль.
Мысли автора о тех, кто пишут на разных языках, вызывают противоречивые чувства.
Автор рекомендует книги. Тут и интересные старые книжки вроде «Элементов стиля программирования» Кернигана и Плоджера (1984), и книжки по компьютерной графике, и всякая всячина (интересная, но нерелевантная), особенно «Что такое математика» В. И. Арнольда (2002), задачи которого автор цитирует:
Далее нас ждёт «самореклама» будущих книг автора в одноимённом подразделе: «Абсолютное руководство по написанию игр» в трёх томах, «Книга для больших программистов и маленьких начальников», «Программы-мутанты, или Почему они придут за вами!» («книга о самомутирующих программах»).
На «виртуальном диске», то есть в приложении — половина книги «Школа игры на Паскале». «Шестиструнном Паскале», по выражению автора.
Структура книги непростая.
Глава 1. Всё-таки учебная. Но в хорошем смысле
Вступление в предисловие
В начало книги попало эссе автора о резюме с историями из жизни. Например, о соискателе, которого не взяли на работу, хотя он знал 30 языков, но не знал Фортран.
Не совсем понятно, зачем объяснять молодым профессионалам, что такое пузырьковая сортировка. Но автор это пытается сделать.
Много на страницах книги (и других книг тоже) личного отношения автора к каким-то техническим вещам.
Опишите действия данного кода:
MyThread := TMyThread.Create(True);
MyThread.FreeOnTerminte:=true;
MyThread.Resume;
Не люблю я эти потоки.
Также много цитат из известных и малоизвестных фильмов без особой на то надобности.
Автор делает такие вольные заявления:
Попробуйте угадать, что такое «ось абсцисс в программировании».
В главе «С чего начинается работа» написано что-то про массивы и объекты. К терминам автор относится вольно: «Классы, они же объекты». К математическим терминам — тоже: «Что такое кривая? Это функция, ось \(X\) и ось \(Y\)».
Понять, зачем автор что-то упоминает, иногда сложно:
Оригинальный подход — показывать классы на примере гипотезы Гольдбаха (любое чётное, начиная с 4, можно представить в виде суммы двух простых). Некоторые ложные вещи подаются как факты. Так, правда в том, что сигнатура exe-файлов MZ названа в честь Марка Збиковски, а не того, о ком нафантазировал автор. Остаётся вопрос: зачем вообще эта информация в главе «А теперь о главном. Важное» и вообще в этой книге? А что делает в книге рекомендация почитать «Философию программирования Windows 95/NT»?
А что делает в книге этот пассаж?
// Вечность
У меня есть трёхдюймовые дискеты. Этим никого не удивишь. У меня есть пятидюймовые дискеты. Этим мало кого удивишь. А ещё у меня есть восьмидюймовые дискеты. На них что-то записано, и я бы очень хотел узнать, что именно, ведь это я сам что-то на них записывал, и это было что-то очень для меня важное.
[Здесь автор пишет про магнитные ленты и теории заговора: о полёте на Луну, о «Титанике», политике и т. д. — Прим. DZ]
// Конец Вечности
Глава о системах контроля версий очень необычная. Это рассказ о системе Visual SourceSafe Explorer, которая больше не поставляется с Visual Studio. А ещё эта глава про то, что́ нужно хранить на дисках C, D и E (что-то горячее). Вы догадались, что глава про динамические библиотеки («О скучном») будет в основном не про динамические библиотеки?
Глава «Мелкие технические подробности» — о сортировках. Они просто упоминаются: быстрая, коктейльная, сортировка расчёской... Без начала и конца.
Что автору удаётся — так это провокации. Глава «Техника программирования, или Это вы обязательно должны знать». Становится любопытно. Оказывается, нужно знать указатели. И всё бы было хорошо, если бы не история, как автор когда-то программировал на M-20 («а может, M-220») в машинных кодах. История без выводов и морали. Только бесконечно скучные примеры кода:
MS.SetSize(skoka);
Move( p^, MS.Memory^, skoka);
После этого глава «Что должен знать программист? Как он должен себя вести?» не вызывает энтузиазма. «В этой главе будет много о моём личном опыте», — пишет автор. А также о Петре Первом, Ломоносове и проверке орфографии в текстовом редакторе. Раздел «Математика» — это биография автора, в которой он рассказывает, как учился играть на гитаре, и жалуется, что ему хотелось, чтобы его больше учили языкам программирования (на специальности «Прикладная математика»). У автора, надо сказать, довольно превратное представление о том, как учат инженеров ПО. А в разделе «Информатика» автор говорит о случайном наборе языков, о которых он слышал, и физике.
А «Для дома, для семьи» (название главы), оказывается, нужно прочитать пару книг по Турбо Паскалю начала 1990-х годов. И написать языковую модель на основе цепей Маркова («бредогенератор»; в пример автор приводит знаменитый «Корчеватель» — наукообразную статью, которую удалось опубликовать в журнале как настоящую). Мимоходом что-то рассказывает про Лисп.
У автора есть страсть к тому, чтобы писать книги. Несколько раз он упоминает, что в интернете есть его не опубликованные официально книги (или нет) или что он собирается их написать. Например, анонсирует «Полное введение в теорию вероятностей на Дельфи за пятнадцать минут, с цветными пошлыми картинками». Сюда же попала задача под условным названием «Библейский код» — перемешать символы в тексте и найти там смысл и предсказания.
В приложениях тоже попадаются интересные вещи. Приложение C «Всё о процедурах и функциях»:
В конце книги есть «Задания для самостоятельного развития», вот пример:
Многие вещи в книге видятся оскорбительными, так что их процитировать здесь невозможно. Идеи скачут. Всё в вольном стиле. И в авторской редакции. С мемуарами, цитатами из фильмов и анекдотами. Книга в прошедшем времени.
298 страниц. СОЛОН-пресс, 2014/2018
Оригинальное название на обложке написано неправильно. Выглядит эта книга так же, как и предыдущая. Только автор у неё то Н. Ю. Комлев, то Р. Гаско, а «редактором» указан Н. Ю. Комлев. Кстати, Рик Гаско (Гэсско) — персонаж фильма «Мальчишник» (1984), которого сыграл Том Хэнкс. В своих книгах автор цитирует и фильм «День сурка» (1993), в котором главную роль сыграл тот же актёр.
Книга «посвящается, естественно, Хорошим Людям. Нас так мало осталось».
Приложения: «Немного о карточных играх», «Как настроить Delphi», «Как рисовать в TP. На одной странице. Нет, на двух», «Как рисовать в Delphi», «Простой объект для работы с клавиатурой через BIOS», «Программа о словах. Полностью и даже лучше», «Очень полезные процедуры, функции и классы».
Хотя книга разбита на две части — теорию и практику — в части по теории есть практические задания.
Этот труд никогда не видел корректора и редактора:
Если честно, вообще непонятно, что делает цитата Вильяма Похлёбкина из книги «Моя кухня и моё меню». И рассуждения про зелёный суп.
Книга — листинги кода с комментариями в виде анекдотов, историй о жизни и киноцитат. Идея с картами, пожалуй, хорошая (но, наверное, не для учебных заведений), некоторые приёмы работы с объектами удобно показывать на картах, но у автора что-то выловить здесь сложно.
Написано очень вязко. Конечно, об объектно-ориентированном программировании, проектировании, каких-то приёмах мы почти ничего не узнаем.
260 страниц. СОЛОН-пресс, 2018
Здесь автор уже «новый».
Видимо, к таковым себя причисляет автор.
Приложения: «Простая процедура для рисования графиков с уместными комментариями. Длинное приложение, но полезное. Но длинное», «Просто колода карт. Полезна для простых опытов из теории вероятностей», «Та самая гравюра из Невского альманаха. И бонус», «Баллада о синусе», «Приложение Е, печальное. Чего в книге нет, но могло быть» (отсылка к фильму «Любовь и голуби»; а в книгу не вошли: матрицы, высшая алгебра, графы, теория игр, вычислительная математика, аналитическая геометрия), «Приложение F, радостное. Чем заняться на досуге, по главам».
Что мы узнаем? Биографию автора («в дипломе написано „Математик“ орфографически правильно»), цитаты, в том числе из «Дня сурка», много анекдотов.
Отзывы вполне исчерпывающие.
«Книга написана утомительным хамоватым стилем и засыпана доверху неуместными цитатами и пошлыми анекдотами, которыми автор среди самовосхваления постоянно перебивает себя. [...]
Автор [...] прочно застрял в замшелом Pascal и Delphi утверждая, что они, дескать, очень полезны для понимания алгоритмов».
Но в начале книги про математику есть главка про опечатки и ошибки в предыдущих книгах. Первая — «про Паскаль всех видов», вторая — про «ОПП» [sic] и т. д. Так автор расписывается в том, что он действительно автор, а не просто редактор (книга «Полезное программирование», с которой мы начали, посвящена «всем людям, которые хотят получить пользу от программирования», её официальный автор — Н. Ю. Комлев).
Слово «Издатель» автор пишет непременно с большой буквы, подчёркивает и добавляет знак ™.
320 страниц. СОЛОН-пресс, 2018
Автор не изменяет своему стилю. Название начальной главы: «Всяческие вступления и предисловия (вступление № 1, вступление № 2 — от старой книги с моей давно изменившейся точки зрения)».
И ещё набор загадочных глав.
«Так получилось, что шесть лет я учил программировать. Сначала решил для интереса попробовать один год, но получилось шесть. [...] Но до того как начать учить, я много лет программировал. И пока учил, тоже программировал. [...] А в придачу руководил и руковожу группой коллег-программистов. [...]
Так получается, что опытные педагоги, обучающие программированию, обычно программисты-теоретики и ничего существенного запрограммировать им в жизни не довелось».
Среди всех книг эта содержит, наверное, меньше всего постороннего, но то, что есть, заставляет удивляться:
А стиль кода просто великолепен.
nashli:=true;
В принципе, интересная и простая задача — считать из файла ноты, длительности и воспроизвести через встроенный динамик. Почитайте:
Попутно автор объясняет нотную грамоту.
Задача для самостоятельного решения:
Многое уже было в других книгах: указатели, ханойские башни — теперь с картинкой, ранее автор долго рассказывал про «графику в Паскале», но ни одной сгенерированной картинки не было. Поначалу автор вставляет скриншоты консоли, а потом бросает это.
Он пишет, что хотел бы привести отрывок из одной книги, но боится нарушить авторские права (хотя закон не запрещает цитировать), и тут же пишет «обновление», будто бы это не книга, а пост на форуме:
Отрывок в книге так и не появился. Как и цитата Дейкстры:
258 страниц. СОЛОН-пресс, 2019
Это издание уже не раз обозревали, его критикуют за то же, за что критикуют другие книги, а также за устаревшую версию языка Python.
Вы удивитесь, но в книге есть примеры кода на Паскале.
Автор расписывается в том, что он не знает, зачем нужны лямбда-функции и какая польза от исключений.
268 страниц. СОЛОН-пресс, 2021
Приложения: «Как работать в традиционной среде», «Как работать в интерактивной среде», «Что такое Geany. Коротко», «Так что же такое текстовый файл», «Что нужно знать об оптимизации — на трёх страницах [...]», «Страшное слово — PEP-8» (PEP-8 — соглашение о том, как писать код на языке Python), «Что-то в этом есть», «18+. Отношение к Питону через проекцию А. С. Пушкина».
В книге есть главки «Кортеж — это понятно, только зачем?» и «Lambda. Оно надо?». То есть автор так и не разобрался в том, что такое лямбда-функции, но взялся за учебник якобы для более продвинутых.
Средняя цена книг — 1300 рублей, со скидками по акции — 900. Дороже всего стоит книга по ООП. У некоторых книг сносные обложки, на других стоит метка «Библиотека профессионала», внутри — исходники, какие-то термины, так что может показаться, что это стоит купить. Но если присмотреться, то выяснится, что даже в учебнике по языку Python автор пишет свои мемуары с анекдотами и кодом на Delphi, и кажется, что День дельфийского сурка никогда не закончится.