Языки
содержание
- Assembler для DOS, Windows, и UNIX (Зубков С.В)
- Практическое программирование Tcl и Tk (Брент Уэлш, Кент Джонс)
- Современное проектирование на C++ (Андрей Александреску)
- Стандарты программирования на C++ (Герб Саттер, Андрей Александерску)
- Новые сложные задачи на C++ (Герб Саттер)
- Шаблоны С++. Справочник разработчика (Дэвид Вандевурд, Николаи М. Джосаттис)
- Язык программирования C++ (Бьерн Страуструп)
- Полный справочник по C++ (Герберт Шилдт)
- STL стандартная библиотека шаблонов C++ (П.Дж. Плаугер, Александр Степанов, Менг Ли, Дэвид Массер)
- С++ Boost Graph Library (Джереми Сик, Лай-Кван Ли, Эндрю Ламсдэйн)
- Расширение библиотеки STL для С++ (Мэтью Уилсон)
- C++: практический подход к решению проблем программирования (Мэтью Уилсон)
- Регулярные выражения (Джеффри Фридл)
- Приёмы объектно ориентированного проектирования. Паттерны проектирования (Э.Гамма, Р.Хелм, З.Джонсон, Д.Влиссидес)
- Алгоритмы искуственного интеллекта на языке PROLOG (Иван Братко)
- Функционально программирование на языке Haskell (Душкин Р.В.)
- Компьютерная типография LaTeX (Евгений Балдин)
Assembler для DOS, Windows, и UNIX
Зубков С.В.
Название конешно претенциозное. После неё программировать по UNIX вы не захотите, хотя представление получите неплохое.
Возможно это далеко не лучший учебник по Win32 (кстати посмотрите уроки Iczelion).
Эта книга была моим первым учебником, который я купил для ассебмлера (точнее первой для Intel).
Правда господин Касперский говорил что считая эту, есть две или три очень неплохих книги. Но я их не читал и не хочу.
Но если вас интересует ассемблер, то покупайте эту книгу в первых рядах.
Практическое программирование Tcl и Tk
Брент Уэлш, Кент Джонс
Вобщем довольно интересный криптовый язык (хотя не так интересен как lua). Простой, быстрый и легко встраивается.
tcl можно без усилий вставить в свою программу на Си, и наоборот легко встроить процедуры на Си в tcl скрипт.
(вспоминаются почему-то времена когда я ради баловства влинковывал в программу на ассемблере, процедуру сделанную на Си).
Во время запуска скрипта вы можете выбирать, надо ли его компилировать в байт код или выполнять непосредственно.
Всё зависит от того надо ли выполнять данный скрипт один раз или запускается он часто. Однократный запуск
бытрее работает без компиляции.
Современное проектирование на C++
Андрей Александреску
Большой набор фирменных метапрограммных рецетов. Во время чтения порой просто закипает мозг.
Книга довольно сложная и гружёная. Многие из описываемых шаблонов вызывают удивление.
Часто это удивление возникает даже не потому что в C++ можно сделать подобные вещи, а то что компилятор C++ позволяет
такое вытворять. Если вы вдруг захотите написать собственный C++ компилятор, то прочитав такую книгу можете
очень резко перехотеть. Чего только стоят шаблоны определяющие, является ли тип указателем (я бы никогда не
додумался до такого шаблона). Или списки шаблонов, которые практически делают из C++, lisp на
этапе компиляции (хотя между нами, это же чисто сексуальное домогательство).
Очень радуют мелкие объяснения. Например очень красиво и хорошо поясняется почему при объявлении int *n, звёздочку надо
лепить к переменной, а не к типу. Когда я начинал учить Си, я делал это правильно. Но потом забыл про это.
Книгу недавно переиздали, поэтому её можно купить в нормальных магазинах. И всем кто её не читал, очень сильно повезло,
потому что доставать подобные шедевры, тираж которых почему-то не хотят перевыпускать - очень трудно.
Я так вообще в своё время заказывал её из Минска.
Сам Андрей Александреску - попросту знаменитый маньяк.
Бывало что некоторые из его программ писались просто на бумаге. Они были рабочие, но не существовало компилятора, который мог их правильно откопилировать.
Только со временем находились люди, которые заставляли Это работать с помщью модификаций и геройских усилий.
Стандарты программирования на C++
Герб Саттер, Андрей Александерску
Название книги говорит само за себя (то которое мелким шрифтом на обложке).
А именно '101 правило и рекомендация'. Книга действительно попросту содержит 101 совет, про то как надо писать на Си.
Навязывать кому-то свои правила оформления кода или стиль программирования - занятие в принципе глупое.
Конешно можно найти в ней и достаточно полезные для себя моменты (я нашёл). А так книга, помойму, на любителя.
По краней мере она давно не выпускается, а того чтобы заказывать её со старого склада в каком-нибудь
ростове, за завышенные деньги - совсем не стоит. Можете слить электронную копию в сайта: www.all-ebooks.com
Новые сложные задачи на C++
Герб Саттер
Является продолжением некой книги: "Сложные задачи на C++", которая мне честно говоря не понравилась совсем (500 страниц, задачи тупые,
больше похоже на стандарты программирования).
Вся эта книга, целиком состоит за задач для C++. Задают задачу или загадку.
Например почему этот исходник не будет работать так как надо? или как сделать что-то этакое? А потом пишут ответ и объяснения.
Вобщем все задачи на высоте, даже если вы Гуру C++, наверняка найдёте очень многое. Кроме того обсуждается возможности
оптимизации кода в зависимости от того как написан ваш исходник и много других интересных вещей.
p.s. копию книги можете скачать у меня.
Шаблоны С++. Справочник разработчика
Дэвид Вандевурд, Николаи М. Джосаттис
Отличная вещь. Наиболее полный и детальный справочник по шаблонам C++.
Обсуждаются даже будущие возможные расширения механизма шаблонов и ему подобное.
Кроме того очень интересен конец книги, в котором очень много уникальных рассказов про практические возможности применения шаблонов:
умные указатели, метапрограммирование, кортежи и т.п.
(после прочтения таких книг у меня порой возникает ощущение что C++, недетерминированный язык. Порой изучая все эти алгоритмы поиска имён и подходящих для вызова функций, можно немного вывихнуть мозг).
p.s.
саму книгу вроде уже не печатают. Свою копию я заказал почтой из соседненго города Ленинграда (недорого и относительно быстро).
Язык программирования C++
Бьерн Страуструп
Очень большая книга. Задумана как очень детальное описание языка C++, а так же философии и основных библиотек.
Достаточно подробно описан STL, включая многие его самые далёкие расширения (часть из которых я даже в природе никогда
не видел). К самой этой книге я с детства испытываю некое отвращение. Мне доводилось видеть людей совсем не знакомых
с С++, которые пытались начать его изучение с этой книги. Как, после этого, они пытались на нём писать, лучше ни видеть.
Это был просто буйнопомешаный дибилизм. Утверждаётся что третье издание сильно переработано, для того чтобы всё
написаное было максимально понятным. У меня к сожалению нет возможности сравнить эту книгу с предыдущими изданиями,
но этот выпуск на самом деле выглядит очень стройным и понятным. Будет ли он понятен новичку, сказать не могу.
Если есть лишние деньги, то книгу стоит взять. Более детальное описание языка - найти будет трудно.
Полный справочник по C++
Герберт Шилдт
Четвёртое издание. Полное описание и иллюстрация всех ключевых слов,
функций, классов и свойств языка C++, соответствующих международному стандарту ANSI/ISO.
В книге подробно освещены все аспекты языка C++. Так же содержит
описание стандартных библиотек и шаблонов STL.
Честно говоря, книга просто находка. Хотя в ней всё таки освещены не все тонкости языка,
но если бы мне надо было купить только одну книгу по C++, я бы выбрал эту. Соотношение цена/качество превосходно.
STL стандартная библиотека шаблонов C++
П.Дж. Плаугер, Александр Степанов, Менг Ли, Дэвид Массер
Изучать STL по этой книге будет абсолютно бесполезно. Никаких рассказов про сам STL или даже самых мелких примеров
в этой книге вы не найдёте. Обычный сухой справочник. Но тем не менее, даже если вы разбираетесь в STL методом
тыка, находя в интернете левые примеры и читая сообщения с форумов. Книгу это стоит всегда иметь под рукой.
Лично я с ней не расстаюсь с самого момента её покупки (хотя STL тогда ещё применять не умел).
С++ Boost Graph Library
Джереми Сик, Лай-Кван Ли, Эндрю Ламсдэйн
Честно говоря за такой подход к руководству я бы отрывал руки. Даже я смог бы написать эту книгу намного лучше.
Самые первые примеры построены на самом деле очень красиво и внушают уважение, хотя первый из
них мой компилятор собирать отказывается напрочь (по идейным причинам). А в целом книга очень безсистемная.
Рабочие примеры собрать по тексту очень трудно, ибо они не продуманы
и многие из них даже не думают компилироваться.
Глупости совершаемые во многих примерах, даже смешно видеть. В первой же главе я нашёл две грубые опечатки.
А их манеры использовать dot файлы в качестве графов, для приводимых примеров - это полный маразм.
Потому как сами файлы нигде не напечатаны и взять их негде. Соотвественно в работе приводимый пример,
для нарисованного графа, проверять весьма затруднительно. Грубо говоря - книга частично напоминает кашу.
Ну а в целом, другой книги по boost в нашей стране пока не напечатали. И выбора нет никакого.
Кроме того в ней её очень интересные главы про STL. Кстати если вы не знаете STL, то книгу можете даже не
открывать.
Расширение библиотеки STL для С++
Мэтью Уилсон
Каких-то гениальных идей или описания работы STL не нашёл ни в одном месте.
Простая занудная библиотека, для работы с файлами, списками и всего чего только можно придумать.
Компилируется под разные платформы. Может использовать библиотеки от MFC, STL, ICE и т.д.
На самом деле ничего сверх технологичного. Тупые шаблоны и тупое описание шаблонов и всё...
Разве что показалось забавной идея, использоваться итераторы, для перечисления окон и веток реестра.
Есть пара умных мыслей, но в них автор ссылается на другую свою же книгу как на источник.
Кроме того, автору нужно немного поработать на собственным стилем изложения.
Вывод у меня простой - эту книгу не надо брать даже даром. Если захочется чего адекватного,
то можно взять книгу: 'Imperfect C++ Practical Solutions for Real-Life Programmin' того же автора.
Хотя про неё я тоже слышал не очень хорошие отзывы (прочитаю повнимательнее - расскажу).
C++: практический подход к решению проблем программирования
Мэтью Уилсон
Про неё я упоминал пунктом выше. Ну почитать книгу в принципе можно.
Там есть над чем подумать и есть хорошие идеи. А в целом впечатления смутные и печальные.
Автор книги какой-то фанатик и многие проблемы о которых он пишет попросту говоря надуманные.
Очень много рассуждений про несовершенство стандартов c++, и изменений которые надо в него внести.
Хотя часть из проблем которые его беспокоят - легко решает умный компилятор.
Часть из них не спасёт людей от собственного идиотизма. А часть из них и просто полный бред.
И поэтому я очень рад, что автор не имеет никакого отношения к этим самым стандартам.
Иначе бы он довёл объекты, шаблоны и прочий c++ до полного маразма, а там и так не всё просто.
Биография очень не понравилась. Горячё рекомендует обязательно прочесть Стива Маерса с его детскими советами.
А одну из величайших книг про C++ А. Александерски, упоминает всколзь, даже как-то брезгливо.
Регулярные выражения
Джеффри Фридл
Сверх детальное описание языка регулярных выражений (если слово язык тут уместно). Описание всех возможных возможностей, расширений и тонкостей регулярных
выражений, которые попадаются где-либо в природе. Т.е. упоминаются почти все языки, стандарты и т.д. Кстати выражения эти настолько разошлись что немного напоминают уже не регулярные выражения,
а контекстные грамматики. Описаны так же принципы (алгоритмы) работы существующих движков регулярный выражений, включая методы оптимизации работы, которые они
применяют. Притом сделано всё это так, чтобы понял любой необразованный школьник. Автор наверное чуть не надорвался пытаясь сделать слишком
доходчивые рассказы. Отдельные главы посвящены выражениям таких языков, как Perl, Java, .NET, PHP. Так же в самой книге, довольно часто
упоминаются VB, Ruby, Python, Tcl, Grep.
Приёмы объектно ориентированного проектирования. Паттерны проектирования
Э.Гамма, Р.Хелм, З.Джонсон, Д.Влиссидес
Написано всё каким-то жутким непонятным языком. Понимать всё приходится с огромным трудом или вообще читать по диагонали, на другое просто сил
в какой-то момент не хватает. Просто полный бред. Быть может я не слишком заморочен в ООП и патернах (последние я сильно в серъёз воспринимать вообще-то не могу).
Вобщем скорее всего просто кривой перевод, очень кривой и безалаберный.
Алгоритмы искуственного интеллекта на языке PROLOG
Иван Братко
Лучший учебник как по Prolog, так и по функциональному программированию, особенно для начинающих.
Изложенно последовательно, чётко, доходчиво. Каждая глава кончается вполне доступными задачами.
Так же довольно много рассказано, по переборные задачи, игры (типа шахмат), экспертные системы и всякие извратные расширения самого языка.
Есть так же последняя глава где рассказано про самодельное ООП, метапрограммирование и прочие приколы.
Функционально программирование на языке Haskell
Душкин Р.В.
Книга по язык Haskell. Так же позиционируется как учебник по функциональному программированию. Хотя изучать по ней функциональное программирование,
я бы просто застрелился. Изложение не очень последованительное, рассказов изложенных в книге недостаточно для комфортного решения упражнений, которые задаются
в книге. Местами автор вообще ударяется в какие-то жуткие математические теории и абстракции, которые смотрятся очень не к месту.
В целом итог такой, если вы уже что-то понимаете в функциональных языках или умете писать на том же Prolog-ге или учитесь на факультете
автора и вам этот ужас преподают, то читайте обязательно. Если нет, то начинать с такой книги не стоит, мучаться будете долго и сильно, или будете слишком ломать голову.
Хотя нельзя не признать. Автор всё же таки очень стрался. К тому же он написал пока единственную книгу про Haskell, и это просто замечательно.
Компьютерная типография LaTeX
Евгений Балдин
Очень краткий обзор макропакетов, и вообще современного состояния дел в TeX-е (а нормальных книг про TeX у нас пишут мало). Притом книга не конспект больших обзоров и крутых книг,
она их скорее неплохо дополняет. Довольно интересное и лёгкое чтение. Т.е покупать её хорошо, чтобы просто почитать. Я правда иногда в неё
заглядываю когда что-то вспомнить хочу. Написано аккуратно и без ошибок, чего можно сказать далеко не про все книги о TeX-е.
Так что потрудились там хорошо. К тому же за её небольшую цену к ней так же прилагается CD c дистрибутивом какого-то TeX-a.