Рейтинг ИТ-книг 2017
В этой статье мы поделимся результатами недавно проведенного на DOU опроса о книгах, которые читают украинские ИТ-специалисты. Версию 2015 года можно прочитать тут.
В опросе приняли участие 1288 человек. Участники могли выбрать из 13 направлений не более трех, в которых у них больше всего профессионального опыта, и оценить книги соответствующей тематики.
Далее мы анализировали каждую книгу по двум параметрам:
- Популярность — сколько людей прочли эту книгу (из тех, кто выбрал соответствующее направление).
- Рекомендации — как оценивают книгу те, кто ее читал. Респонденты могли выбрать один из трех вариантов: не рекомендую, можно прочесть, очень рекомендую.
Прежде всего, пару дисклеймеров о данных:
- Показатели популярности книг могут быть несколько завышены из-за self selection эффекта: в опросе о книгах, скорее всего, будут участвовать те, кто их читает.
- Многие книги получили достаточно высокие рекомендации. Это можно объяснить тем, что мы изначально составляли список из наиболее популярных книг, учитывая также рекомендации наших читателей.
В итоговый рейтинг мы включили книги, которые оценили хотя бы 30 человек и у которых сумма ответов «можно прочесть» и «очень рекомендую» была больше 90% (как говорилось выше, оценки в целом довольно высокие, и таких книг получилось немало).
Кроме того, мы отдельно изучили ответы людей с опытом в ИТ от пяти лет. Если они высоко оценили книгу, которая не попала в предыдущий список, мы указываем ее дополнительно.
Ниже размещены результаты по отдельным направлениям (по убыванию уровня рекомендации) с обложками для ТОП-3 книг. На виджете внизу страницы вы можете посмотреть весь список книг и их оценки (книги, не набравшие достаточно голосов, выделены серым цветом). Полный массив данных доступен по ссылке.
Условные обозначения в таблицах:
% читавших
% «очень рекомендую» + «можно прочесть»
% «очень рекомендую»
% «очень рекомендую» + «можно прочесть» от респондентов с опытом в ИТ от 5 лет
Цвет ячеек отображает значение по каждому отдельному столбцу: выше или ниже.
Серый цвет означает, что не набралось достаточно голосов.
Быстрый переход по направлениям:
C#
C/ C++
Java
JavaScript, jQuery, Node.js
PHP
Python
Ruby/ Rails
Unix/ Linux
Базы данных
Программирование: общие принципы, алгоритмы, ООП
Тестирование
Управление проектами
ИТ-бизнес в целом
C#

| Книга | ||||
| Skeet J., C# In depth C# для профессионалов: тонкости программирования | 31 | 97 | 77 | 100 |
| Troelsen A., Pro C# and the .NET Framework C# и платформа .NET | 52 | 97 | 63 | 95 |
| Freeman A., Pro ASP.NET MVC 5 ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов | 36 | 95 | 60 | 92 |
| Osherove R., The Art of Unit Testing with examples in C# Искусство автономного тестирования с примерами на C# | 23 | 94 | 67 | 95 |
| Richter J., Applied Microsoft .NET Framework Programming Программирование на платформе MS NET Framework | 35 | 93 | 80 | 94 |
| Freeman A., Pro .NET 4 Parallel Programming in C# | 17 | 91 | 41 | |
| Freeman A., Pro ASP.NET Core MVC ASP.NET Core MVC с примерами на C# для профессионалов | 24 | 91 | 48 |
C/ C++

| Книга | ||||
| Stroustrup B. The Design and Evolution of C++ Дизайн и эволюция C++ | 40 | 96 | 71 | 94 |
| Meyers S. Effective STL Эффективное использование STL | 49 | 96 | 66 | 95 |
| Williams A. C++ Concurrency in Action: Practical Multithreading5 Параллельное программирование на С++ в действии | 31 | 95 | 67 | |
| Kernighan B., Ritchie D. The C Programming Language Язык программирования Си | 51 | 94 | 65 | 93 |
| Sutter G., Exceptional C++ Решение сложных задач на С++ | 34 | 94 | 66 | 91 |
| Alexandrescu A. Modern C++ Design: Generic Programming and Design Patterns Applied Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования | 47 | 92 | 58 | 93 |
| Alexandrescu A., Sutter H. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices Стандарты программирования на С++: 101 правило и рекомендация | 43 | 92 | 55 | 93 |
| Meyers S. Effective C++ Эффективное использование C++ | 52 | 92 | 72 | 91 |
| Stroustrup B. The C++ Programming Language Язык программирования С++ | 55 | 91 | 72 | 88 |
| Дополнительно: книги, высоко оцененные опытными ИТ-специалистами | ||||
| Richter J., Advanced Windows Windows для профессионалов | 23 | 89 | 65 | 94 |
Java

| Книга | ||||
| Bloch J. Effective Java. Programming Language Guide Java. Эффективное программирование | 53 | 98 | 82 | 97 |
| Goetz B., Java Concurrency in Practice | 34 | 97 | 68 | 97 |
| Eckel B. Thinking in Java Философия Java | 71 | 96 | 66 | 94 |
| Freeman E Head First Design Patterns | 42 | 95 | 58 | 92 |
| Lafore R. Data Structures & Algorithms in Java Структуры данных и алгоритмы Java | 28 | 94 | 50 | 93 |
| Horstmann C., Cornell G. Core Java (volume 1, volume 2) Java. Библиотека профессионала | 44 | 92 | 52 | 90 |
JavaScript, jQuery, Node.js

| Книга | ||||
| Stefanov S. JavaScript: Patterns JavaScript. Шаблоны | 40 | 96 | 68 | 95 |
| Simpson K., You Don’t Know JS (series) | 28 | 96 | 69 | |
| Crockford D. JavaScript: The Good Parts JavaScript. Сильные стороны | 36 | 95 | 58 | 92 |
| Zakas N. High Performance: JavaScript JavaScript. Оптимизация производительности | 22 | 95 | 57 | |
| Flanagan D. JavaScript: The Definitive Guide JavaScript. Подробное руководство | 44 | 93 | 59 | 97 |
PHP

| Книга | ||||
| Zandstra M. PHP Objects, Patterns, and Practice Объекты, шаблоны и методики программирования | 63 | 95 | 72 | 95 |
Python

| Книга | ||||
| McKinney W. Python for Data Analysis Python и анализ данных | 20 | 97 | 33 | |
| Piligrim M. Dive into Python Погружение в Python | 46 | 94 | 64 | |
| Lutz M. Learning Python Изучаем Python | 76 | 94 | 65 | 94 |
| Lutz M. Python Pocket reference+ Python. Карманный справочник | 44 | 91 | 55 | |
| Beazley D. Python: Essential Reference Python. Подробный справочник | 29 | 91 | 30 |
Ruby/ Rails

| Книга | ||||
| Flanagan D., Matsumoto Y. The Ruby Programming Language Язык программирования Ruby | 62 | 100 | 58 |
Unix/ Linux

| Книга | ||||
| Bach M. The design of the Unix operating system Архитектура операционной системы Unix | 33 | 100 | 41 | |
| Kernighan B., Pike R. The Unix Programming Environment UNIX.Программное окружение / UNIX-универсальная среда программирования | 32 | 100 | 61 | |
| Tanenbaum A., Woodhull A. Operating Systems Design and Implementation Операционные системы.Разработка и реализация | 55 | 98 | 57 | 100 |
| Kernighan B., Pike R. The Practice of Programming Практика программирования | 31 | 97 | 33 | |
| Nemeth E., Snyder G. Unix и Linux System Administration Handbook UNIX руководство системного администратора | 54 | 92 | 71 | 90 |
Базы данных

| Книга | ||||
| Gruber M. Understanding SQL Понимание SQL / SQL для простых смертных | 35 | 90 | 59 |
Программирование: общие принципы, алгоритмы, ООП

| Книга | ||||
| Martin R. Clean code Чистый код | 59 | 96 | 69 | 94 |
| Fowler M., Beck K. Refactoring Рефакторинг. Улучшение существующего кода | 50 | 95 | 67 | 94 |
| McConnell S. Code Complete Совершенный код | 54 | 94 | 69 | 92 |
| Wirth N. Algorithms and Data Structures Алгоритмы и структуры данных | 26 | 91 | 46 | 91 |
| Cormen T., Leiserson C. Introduction to Algorithms Алгоритмы. Построение и анализ | 41 | 91 | 65 | 91 |
| Abelson H., Sussman G. Structure and Interpretation of Computer Programs Структура и интерпретация компьютерных программ | 23 | 90 | 51 | 94 |
| Дополнительно: книги, высоко оцененные опытными ИТ-специалистами | ||||
| Aho A., Sethi R. Compilers: Principles, Techniques, and Tools Компиляторы. Принципы, технологии, инструменты | 24 | 85 | 52 | 93 |
Тестирование

| Книга | ||||
| Copeland L. A Practitioner’s Guide to Software Test Design | 40 | 97 | 70 | |
| Kaner C., Bach J. Lessons Learned in Software Testing | 46 | 94 | 57 | |
| Crispin, Gregory. Agile Testing: A Practical Guide for Testers and Agile Teams Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд | 29 | 94 | 49 | |
| Black R. Critical Testing Processes: Plan, Prepare, Perform, Perfect Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование | 28 | 93 | 41 |
Управление проектами

| Книга | ||||
| DeMarco T., Lister T. Peopleware: Productive Projects and Teams Человеческий фактор. Успешные проекты и команды | 49 | 96 | 49 | 98 |
| DeMarco T., Lister T. Waltzing With Bears: Managing Risk on Software Projects Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения | 42 | 95 | 50 | 97 |
| Brooks F. The Mythical Man-Month: Essays on Software Engineering Мифический человеко-месяц, или Как создаются программные системы | 49 | 93 | 52 | 93 |
| Mantle M., Lichty R., Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams | 26 | 92 | 32 | |
| Adizes I. The Ideal Executive Идеальный руководитель | 39 | 91 | 54 | |
| McConnell S. Software Project: Survival Guide Остаться в живых! Руководство для менеджера программных проектов | 38 | 91 | 36 | |
| Lencioni P. The Five Dysfunctions of a Team Пять пороков команды | 37 | 91 | 38 |
ИТ-бизнес в целом

| Книга | ||||
| Vance A. Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future Илон Маск. Tesla, SpaceX и дорога в будущее | 32 | 91 | 53 |
