Рейтинг ІТ-книг 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 | 
| 
J. Richter, 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 | 
| Додатково: книги, високо оцінені досвідченими ІТ-спеціалістами | ||||
| 
J. Richter, 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. Компілятори: 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 Bears With: 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 | 
Віджет з результатами по всіх книгах
.tableauWrapper {overflow: hidden;width: inherit;margin: 0 auto;}.tableauPlaceholder {margin: 0 auto -70px;} td[bgcolor]{text-align:center!important;vertical-align:middle!important;} table.bordered tr:first-child td:not(:first-child) {padding-left:0!important;padding-right:0!important;text-align:center!important;vertical-align: bottom!important;width:50px;}.is_mobile table.bordered tr:first-child td:not(:first-child){width:40px;}table.bordered img{display:inline-block!important;}.is_desktop table.bordered{max-width:100%!important;width:700px!important;}.is_mobile h2{margin-left:-20px;padding-left:5px;margin-right:-15px;padding-right:5px;}.is_mobile .b-typo table.bordered img{margin:0!important;}Опубліковано: 22/05/17 @ 07:01
Розділ  Різне  
Рекомендуємо:
Front-Еnd дайджест #24: ReasonML, React в Airbnb і Samsung Internet
 Front-Еnd #24: ReasonML, React в Airbnb і Samsung Internet
 Як перемогти Баден-Баден: відповіді на часті запитання
 Go - це просто. Створюємо HelloWorld веб-сервер
 DOU Проектор: Raccoon.world - гаджети для взаємодії з цифровою реальністю