Рейтинг ІТ-книг 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 - гаджети для взаємодії з цифровою реальністю