Практика программирования

Эффективное программирование.

Брайан Керниган, Роб Пайк «Практика программирования» Вильямс, 2015 год. 287 стр. (17,9 мб. pdf)

Авторская практика программирования и полученный опыт обобщились в книге с одноименным названием. Предложены практические уроки и ряд методик и технологических приемов (подбор алгоритмов, структур кода и оптимизацию данных для повышения быстродействия) , используя которые практикующие программисты смогли бы повысить свои показатели в эффективности и профессионализме написания программного кода. Это не первая совместная работа Брайана Кернигана и Роба Пайка, их совместный труд ставший библией для UNIX программистов («UNIX. Программное окружение» Символ Плюс, 2003 год, 416 стр. ISBN 5-93286-029-4 скачать бесплатно), можно сказать, что это практика программирования для UNIX систем.

О книге.

Представлено девять глав, где вы узнаете:

  1. Влияние стиля программирования на создание оптимизированного и производительного кода.
  2. Основы алгоритмизации и структур данных, как база для программиста.
  3. Сравнительные оценки применения одинаковых алгоритмов и структур данных в разных языках программирования.
  4. Рассмотрены вопросы проектирования программ.
  5. Методика и стратегия отладки и исправления ошибок программного кода.
  6. Автоматизированное и ручное тестирование, как технология поиска проблем.
  7. Эффективные методы оптимизации при работе программы.
  8. Межплатформенность. Перенос на новую аппаратную платформу, языковую среду или операционную систему.
  9. Структуризация кода с использованием регулярных выражений, форматирования данных, макросов и т.д.

Это восьмое по счету издание книги «Практика программирования». Вышедшее впервые в 2004 году ( издание на английском в 1999 году ISBN 0-201 -6 1586-X) Новая версия книги была верифицирована и доработана для русского издания самими авторами. Материал сопровождается примерами на С, С++, Java. Авторы книги выражают надежду, что она поможет в профессиональном росте и повышении квалификации разработчиков программного обеспечения.  ISBN: 978-5-8459-2005-8

Оглавление книги
Предисловие 9
Глава 1. Стиль программирования 15
1.1. Имена 17
1.2. Выражения и операторы 20
1.3. Единообразие стиля и устойчивые конструкции 25
1.4. Макрофункции 33
1.5. Явные числовые константы 35
1.6. Комментарии 39
1.7. Зачем утруждать себя 43
Дополнительная литература 44

Глава 2. Алгоритмы и структуры данных 45
2.1. Поиск 46
2.2. Сортировка 48
2.3. Библиотечные средства 51
2.4. Быстрая сортировка в Java 54
2.5. Оценка 56
2.6. Расширяемые массивы 58
2.7. Списки 61
2.8. Деревья 67
2.9. Хэш таблицы 72
2.10. Резюме 77
Дополнительная литература 78

Глава 3. Проектирование и реализация 79
3.1. Цепь Маркова 80
3.2. Выбор структур данных 82
3.3. Построение структуры данных на C 83
3.4. Генерирование выходных данных 87
3.5. Java 90
3.6. C++ 94
3.7. Awk и Perl 97
3.8. Вопросы быстродействия 100
3.9. Извлекаем уроки 101
Дополнительная литература 103

Глава 4. Интерфейсы 105
4.1. Данные, разделенные запятыми 106
4.2. Прототип библиотеки 108
4.3. Библиотека для общего пользования 111
4.4. Реализация на языке C++ 121
4.5. Принципы интерфейса 125
4.6. Управление ресурсами 128
4.7. Обработка ошибок 131
4.8. Пользовательские интерфейсы 136
Дополнительная литература 138

Глава 5. Отладка 139
5.1. Отладчики 140
5.2. Простые ошибки с очевидными симптомами 142
5.3. Сложные ошибки с трудными симптомами 146
5.4. Тяжелые случаи 151
5.5. Невоспроизводимые ошибки 155
5.6. Вспомогательные средства 156
5.7. Ошибки, сделанные другими 160
5.8. Резюме 161
Дополнительная литература 162

Глава 6. Тестирование 163
6.1. Тестирование по мере написания кода 164
6.2. Систематическое тестирование 170
6.3. Автоматизация тестирования 174
6.4. Тестирование компонентов в программных оболочках 177
6.5. Стрессовое тестирование 181
6.6. Полезные советы 185
6.7. Кто занимается тестированием 187
6.8. Тестирование марковской программы 188
6.9. Резюме 190
Дополнительная литература 191

Глава 7. Быстродействие 193
7.1. Узкие места 194
7.2. Измерение времени и профилирование 199
7.3. Стратегия ускорения 204
7.4. Настройка кода 207
7.5. Оптимизация использования памяти 212
7.6. Некоторые оценки 215
7.7. Резюме 218
Дополнительная литература 218

Глава 8. Переносимость 221
8.1. Язык 222
8.2. Заголовочные файлы и библиотеки 229
8.3. Организация программы 231
8.4. Изоляция 235
8.5. Обмен данными 236
8.6. Порядок следования байтов 238
8.7. Переносимость и модернизация 241
8.8. Интернационализация 243
8.9. Резюме 246
Дополнительная литература 247

Глава 9. Системы обозначений 249
9.1. Форматирование данных 250
9.2. Регулярные выражения 256
9.3. Программирование в командных оболочках 263
9.4. Интерпретаторы, компиляторы и виртуальные машины 266
9.5. Программы, пишущие программы 272
9.6. Генерирование кода с помощью макросов 275
9.7. Компиляция в реальном времени 276
Дополнительная литература 281
Эпилог 283
Предметный указатель 285

Скачать книгу бесплатно17,9 мб. pdf
Информатика. Программирование. Видео

Похожая литература