Просто книги неплохие

содержание

Жемчужины программирования

Джон Бентли

Эта книга просто сборник задач про программированию. Если выражаться коректнее, то не задач а их решений. И решений довольно оригинальных. Выпускалась она давно и достать её я не мог. Пришлось заказывать из магазина в Челябинске. Но она того стоила. Размером конешно она не большая, всяким разным руководствам по подготовке к олимпиадам она далеко не конкурент, но меня она очень порадовала. Написано с умом.

Программирование в стандарте POSIX

В.А. Галатенко (два тома)

Издательство: Интернет-Университет Информационных Технологий. Серьёзных книг это издательство не выпускает. Но эта книга у них получилась хорошо. Я конешно сомневаюсь что книга эта сильно продвинутая. Но если вы её купите, то не пожалеете. По крайней мере будете иметь хорошее представление о POXIX стандарте. Особенно полезно, для тех кто интересуется программированием в Linux, unix и т.д.

UNIX разработка сетевых приложений, UNIX взаимодействия процессов

Уильям Стивенс

Две превосходные книги, по программированию под UNIX. Хотя 'Взаимодействие процессов' не смотря на свой большой размер на полное описание претендовать никак не может, но понятие сигналов и прочего описано очень хорошо и подробно. А вот 'Разработка сетевых приложений'. Даже если вы программируете под Windows, то эту книгу вам всё равно надо бежать и покупать в первых рядах, она вам пригодится. Потому как между сокетами UNIX и Windows есть довольно много общего, а такого большого справочника вы нигде не найдёте.

up. UNIX разработка сетевых приложений 3-изд. (синяя обложка) - правда не знаю насколько оно там переработано, знаю что дополнено более современными данными. А так же удалены все данные про X/Open. Честно говоря, когда я первый раз по честному хотел прочитать всю книгу целиком. То X/Open конешно показался довольно интересной вещью. Т.е. как альтернатива сокетам он интересен и сама идея, но зачем он мне нужен я не и не понял, и нормально всё таки читать не стал. Теперь, как оказалось, он не нужен вовсе. Т.е. новое издание не только по настоящему новое, и более лаконичное. Мне очень жаль я всё таки не успел вовремя его купить, тираж быстро закончился.

Компиляторы. Принципы, технологии, инструменты

Альфред Ахо, Рави сети, Джеффри Ульман

Книга описывает принципы работы компиляторов. Правда мне не очень понятно кому она может пригодится целиком. Если человек не знает вообще ничего, то возможно ему эта книга пойдёт на пользу. Методы работы с конечными автоматами мне очень понравились. А более сложные примеры поймёт далеко не каждый. Разобрать по этой книге их будет довольно трудно - примеры не достаточно продуманны. Про хранение переменных и генерацию кода писать и вовсе не нужно. Потому что тот кто не сможет справится с такими вещами самостоятельно, вряд ли когда-то сможет понять эту книгу. В прочем если вы очень интересуетесь компиляцией, это эту книгу нужно купить в первую очередь. Тем более что она довольно современная и изнутри не такая чёрствая и муторная как старый двух томник Ахо Ульмана.

Новое издание 2008 года. Чуствуется что почти всё содержимое книги сильно переработано. Именилось названия и количество разделов почти в каждой главе. Похоже что некоторые главы просто переделаны, расширены, некоторые добавлены. Перерисованы иллюстрации. Добавлены главы про оптимизацию для многопроцессорных систем. Добавлена очень приятная глава с образцом и детальным описанием небольшого траслятора, написаном на Java. Среди иллюстраций появились вот такие схемки конечных автоматов: [click]. Раньше, если ты в чём-то разбирался, то тоже самое так или иначе приходилось рисовать самому. Короче, книга стала в 1.5 раза больше, гораздо понятнее и более практичной. Книга меня очень порадовала, даже не смотря на очень зверскую цену, которая стала в несколько раз больше.

Техника оптимизации программ. Эффективное использование памяти

Крис Касперски

Вообще всё что пишет Крис Касперски, по определению круто. И тот кто просто неглядя соберёт все книги которые он писал, никогда не пожалеет, все его книги оригинальны. (сам я правда не собирал). В книга, как вы поняли, посвящена оптимизации программ. В ней изложена очень и очень глубоко изложена работа компьютера. Есть только два минуса. Железо развивается довольно быстро и так сильно его изучать просто нет никакого смысла, да и запомнить книгу книгу до конца вы всё равно никогда не сможете. Но почитать не вредно. Узнаете очень много и получите правильный настрой.

Основы PostgreSQL

Ричард Стоунс, Нейл Мэттью

Простой и полный учебник для тех кто интересуется PostgreSQL. А те кто не интересуется и не хочет хотя бы бегло ознакомиться, многое теряет. Мощная, популярная и самое главное бесплатная БД. Кроме того в области компиляторов и баз данных: Беркли всегда вне всякой конкуренции.

Модель COM и применение ATL 3.0 [1]

Э Трельсен

COM и COM+, полное руководство [2]

Эш Рофэйл, Яссер Шохауд
Мне приходилось видеть с добрый десяток книг по COM технологиям. Картина везде почти одинаковая. Начинаются книги с речи приблизительно следующего содержания: COM+ вероятно самая интересная из новых технологий Microsoft, и я не могу назвать никого другово, кроме Боба, кто столь квалифицированно смог описать её. И так далее - несколько абзацев самонадеяных речей. А когда начинаешь читать саму суть, то она представляет из себя полную кашу. В том что автор много знает обычно сомнений не возникает. Только вот в книге непонятно, толи он разговаривает сам с собой, толи решил написать не учебник, а экскурсию для серкретарш. Т.е. всё что вы сможете это нахвататься бесполезных терминов, не вникая в суть самих вещей.

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

Скажу пожалуй так. Если вы уважаете MFC и не против того чтобы агрегацию, делегирование и прочие прелести, можно было сделать всего одной строкой, ввиде MFC макроса. А обработку ошибок руками не делать вообще. То начинайте с первой книги. Если вы считаете что оспользование ООП, не делает средства COM 'счасливыми', а их работу эффективной. Тогда берите вторую, хотя она всё же немного сложнее для понимания.

up. + к этой двойке хитов по com технологиям, есть ещё и третья интересная книга, но о ней позже.

Техника отладки программ без исходных текстов

Крис Касперски

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

Qt3 программирование GUI, на C++

Жасмин Бланшет, Марк Саммерфилд

Единственная книга по которой можно нормально изучать Qt3. Собсвенно сам этот учебник в оригинале я видел очень часто. Он возникал в недрах интернета ввиде PDF файла. Сначала была книга про Qt2, потом вышла про Qt3. Последнюю сразу после выхода кто-то успел перевести на русский, притом сделано это было так быстро что уму непостижимо. После этого она появилась в наших магазинах (кстати стоит очень недорого).

Кстати есть электронный вариант: http://doc.dvgu.ru/devel/qt3/index.html

Qt4 программирование GUI, на C++

Жасмин Бланшет, Марк Саммерфилд

Те же самые авторы что писали про Qt3. Книга по содержанию и размеру обложки сильно повторяет предыдущую книгу про Qt3. Разница только в том что написана она всё же про Qt4. А по толщине она почти в 1.5 раза больше. Кроме того теперь к ней прилагается ещё и диск. Однозначно это самая лучшая книга про Qt (лучше никто не напишет).

Qt4 программирование GUI, на C++. Второе издание

Жасмин Бланшет, Марк Саммерфилд

Содержимое пока что не перечитывал. Но книга очень заметно выросла по сравнению с предыдущим изданием. Теперь выросла не только толщина, но и формат книги (обложка стала твёрдой). Если бы хотите изучить Qt - ничего лучше этой книги нет. Или жалко денег, то берите первое издание, оно тоже неплохое. Если интерес к Qt только теоретический, то берите книгу про Qt3, она почти ничего не стоит.

Пара дополнений про Qt, которые полезно прочитать: [1] [2] [3] [4] - [1] [2]

GTK+ разработка переносимых графических интерфейсов

Андрей Костельцев

Писать на GTK+ сейчас не модно. Да и эту книгу давно уже не продают, всю уже раскупили. Но с точки зрения архитектуры GTK+ очень приятен и достаточно красив. Glib и GTK (который построен поверх него), написаны на чистом Си, но при этом полностью воспроизводят объектно ориентированную модель. Там конешно не так красиво как Qt, но всё равно интересно. Знакомство с его внутренним миром, не на уровне примеров и окошек, очень познавательно.

Неплохой, но поверхностный рассказ GLib можно найти тут: [GLib]

Разработка ядра Linux

Роберт Лав

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

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

MySQL сборник рецептов

Поль Дюбуа

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

Программирование сетевых приложений на C++. ACE и паттерны

Дуглас Шмит, Стивен Хьюстон

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

На самом деле сколько себя помню, жил без этих библиотек и не парился. Писал программы которые совершенно одинаково работали и под Unix и под Win32. И те же селекты вовсе не такие уж страшные, как пугают авторы книги, и разница между ними в различных операционках не такая жуткая. Для сетевых программ часто можно отделаться парой отдельных функций для разных платформ и определениями навроде #define SOCKET int. Ну а всякие там примочки навроде OpenSSL и подавно ничего не требуют, они на любой платформе одинаковые. Те платформы где некоторые функции могут оказаться на самом деле экзотичными, например BeOS, этой библитекой насколько я понял не поддерживаются.

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

см. также: http://www.rsdn.ru/res/book/cpp/ace1.xml

Форматы и алгоритмы сжатия в действии

Дж. Миано

Самые детальные описания форматов и алгоритмов сжатия, таких файлов как bmp, gif, png, jpg (наверное всё кроме exif показали). Мне вобщем понравилось, много интересного подчерпнул для себя. Кстати понял что png всё таки полный бред и лучше пользоваться jpg, а ещё то что jpg сжимает в пол силы из-за идиотских патентов.

Но! Книга написана очень невнятно. Я по крайней мере всё понял, потому что понимаю как работает jpg, lzw, хафман и прочее... Мне особо задумываться не пришлось. Хотя есть одно два места, которые я всё таки не понял и понять даже не пытался. Примеры алгоритмов приведены в основном на паскале, небольшая часть при этом на Си. Местами нашёл в алгоритмах ошибки, хотя правда для человека думающего хоть немного - это не проблема. Равно как и оба языка в примерах, хотя паскальные варианты смотрятся плохо и воспринимаются хуже, хотя бы из-за отсутствия операции инкремента (++) и прочих мелочей, без которых формулы становятся громосткими и тяжёлыми. Местами возникают попытки обяснить как умножаются матрицы и прочие вещи, а местами наоброт начинается какая-то дикая математическая пурга. Описание CRC - очень неказистое, идёт упоминание про полином, потом двоичные коды, потом код и отговорки про то что рассказ про CRC в книгу не влезет. Хотя на мой вгляд трёх страниц для более менее полноценого объяснения вполне бы хватило (crcguide.pdf).

Короче книга что надо. Но немного невнятная в оригинале + очень паршивый перевод.

Linux сетевая архитектура

Клаус Вейрле, Франк Пэльке, Хармут Риттер, Даниэль Мюллер, Марк Бехлер

Структура и реализация сетевых протоколов в ядре. Книга немного о ядре, так же как 'Разработка ядра Linux' (см. выше). Но в основном описывается устройство и работа сетевых подсистем ядра. Концепции, протоколы, драйвера устройств, интерфейс приложений (сокеты). PPP, IP, TCP, брандмаузеры, NAT, Bluetooth, и т.д. Несмотря на довольно противную обложку, книга довольно умная и толковая. Хотя некоторые места я не совсем понял. Алгоритмы и продробности работы TCP просто изумительно внятно написаны, куда получше чем у Ричарда Стивенса (хотя его прочитать по любому надо). В приложениях описана работа с сокетами + краткие примеры, дирестория proc во всех подробностях и т.д.

Ещё одна страность в моём издании. Похоже что просто забыли положить в книгу часть бумаги. Потому что некоторые приложения? которые должны быть и содержание - в ней полностью отсутсвуют. Полный бред. Содержание правда можно найти в интернете, напечатать и пронумеровать самому.

Графы в программировании

В.Н. Касьянов, В.А. Евтигнеев

Есть полезные и хорошие моменты. Но когда дело касается описания алгоритмов, то манера их описания выбрана очень неудачно или они не описаны вовсе. К примеру вы можете узнать что есть пара тройка десятков способов нарисовать планарный граф на экране, но в чём суть этих способов не узнаете. Есть места которые описаны более менее прилично: например 2-3 деревья. Вобщем книга не слишком современная, не слишком хорошо написана, и учебника по дискретке она никак не заменит. Но обзор в неё на самом деле просто титанический. Сейчас я не жалею о том, что она стоит и меня на полке.




Hosted by uCoz