четверг, 12 марта 2015 г.

Must-have книги по программированию

В ходе опроса портала DOU.ua 1015 украинских айтишников высказали свое мнение о том, какие именно книги по программированию можно назвать полезными и стоящими для чтения.
Каждой книге можно было поставить одну из трех оценок: «Хорошо» (1 балл), «Так себе» (0 баллов), «Не понравилось» (-1 балл). По сумме этих баллов и считался общий рейтинг издания.
Кроме общего рейтинга, DOU.ua посчитали рейтинг по индексу полезности. Он показывает, сколько процентов людей из тех, кто прочитали книгу, оценили ее высоко. Значения этой шкалы переведены в пятибалльную систему.
Среди рассмотренных тем: C#/.NET, C и C++, Java, PHP, JavaScript, jQuery, Node.js, HTML, CSS, Разное (Алгоритмы, ООП, проектирование ПО ...)
Итак,  ТОП-5 лидеров по двум рейтингам для каждой технологии, вынесенной в опрос. Если книга есть в продаже, мы приводим ссылки на книгу из нашего магазина, если книги нет в продаже или она не издавалась, мы приводим ссылку на amazon.

C#/.NET



Общий рейтинг Рейтинг полезности
2. C# 2010: ускоренный курс для профессионалов Нэш Т. - 54 балла 2. Программирование для Microsoft Windows 8. Чарльз Петцольд DOU: 4.5
3. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C# Джеффри Рихтер - 44 балла 3. C# 3.0. Руководство для начинающих. Шилдт Г. Рейтинг DOU: 4.4
4. Программирование для Microsoft Windows 8. Чарльз Петцольд - 42 балла 4. ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов Адам Фримен - Рейтинг DOU: 4.1
5. Windows для профессионалов Рихтер Дж. - 27 баллов 5. ASP.NET MVC 4: разработка реальных веб-приложений с помощью ASP.NET MVC Чедвик, Снайдер, Панда Рейтинг DOU: 3.9

C и C++


Общий рейтинг Рейтинг полезности
3. Современное проектирование на C++ Александреску - 41 балл 3. Стандартная библиотека C++: справочное руководство Джосаттис Рейтинг DOU: 4.3
4. Абстракция данных и решение задач на C++ Каррано Ф., Генри Т. - 34 балла 4. Освой самостоятельно C++ за 21 день Рао Рейтинг DOU: 4.2
5. Новые сложные задачи на C++ Саттер - 31 балл 5. Абстракция данных и решение задач на C++ Каррано Ф., Генри Т. Рейтинг DOU: 4.1

Java


Общий рейтинг Рейтинг полезности
2. Java 8. Полное руководство Герберт Шилдт - 143 балла 2. Паттерны проектирования Фримен Рейтинг DOU: 4.3
3. Философия Java Брюс Эккель - 127 баллов Рейтинг DOU: 4.2
4. Java. Библиотека профессионала Хорстманн, Корнелл - 95 баллов 4. Head First Java Sierra K., Bates B. Рейтинг DOU: 4.0
5. Head First Java Sierra K., Bates B. - 50 баллов 5. SCJP Sun Certified Programmer for Java 6 Exam Sierra K., Bates B. Рейтинг DOU: 4.0

PHP


Общий рейтинг Рейтинг полезности
2. PHP 5 в подлиннике Котеров - 20 баллов 2. Разработка веб-приложений с помощью PHP и MySQL Веллинг Л., Томсон Л. Рейтинг DOU: 4.1
3. Разработка веб-приложений с помощью PHP и MySQL Веллинг Л., Томсон Л. Рейтинг - 18 баллов 3. Профессиональное программирование на PHP Шлосснейгл Дж. Рейтинг DOU: 3.6
4. Профессиональное программирование на PHP Шлосснейгл Дж. - 7 баллов 4. PHP 5 в подлиннике Котеров Рейтинг DOU: 3.4
5. Самоучитель PHP5 Колисниченко Д. - 4 балла Рейтинг DOU: 1.6

JavaScript, jQuery, Node.js


Общий рейтинг Рейтинг полезности
1. JavaScript. Шаблоны Стефанов C. - 62 балла Рейтинг DOU: 4.8
2. Веб-приложения на JavaScript Маккоу А - 30 баллов 2. jQuery. Сборник рецептов Самков Г. Рейтинг DOU: 4.7
3. JavaScript. Подробное руководство Флэнаган Д. - 20 баллов 3. JavaScript: сильные стороны Крокфорд Д. DOU: 4.7
4. jQuery. Подробное руководство по продвинутому JavaScript Бибо Б., Кац И. - 19 баллов 4. Веб-приложения на JavaScript Маккоу А Рейтинг DOU: 4.4
5. Изучаем Node.js Пауэрс Ш - 18 баллов 5. JavaScript. Подробное руководство Флэнаган Д. DOU: 4.3

HTML, CSS


Общий рейтинг Рейтинг полезности
1. Большая книга CSS3 Макфарланд - 11 баллов Рейтинг DOU: 5.0
2. HTML5. Недостающее руководство Макдональд М. - 9 баллов 2. HTML5 для профессионалов Лабберс П. Рейтинг DOU: 5.0
3. Изучаем HTML5. Библиотека специалиста. 2-е изд. Лоусон Б., Шарп Р. - 7 баллов 3. HTML5. Путеводитель по технологии Сухов К. Рейтинг DOU: 5.0
4. HTML5, CSS3 и JavaScript. Исчерпывающее руководство Роббинс Дж. - 5 баллов 4. HTML5. Недостающее руководство Макдональд М. Рейтинг DOU: 4.5
5. HTML5 для профессионалов Лабберс П - 4 балла 5. Изучаем HTML5. Библиотека специалиста. 2-е изд. Лоусон Б., Шарп Р. Рейтинг DOU: 4.4

Разное (Алгоритмы, ООП, проектирование ПО ...)


Общий рейтинг Рейтинг полезности
1. Объектно-ориентированное программирование Иванова Г., Ничушкина Т. - 102 балла 1. Код.Тайный язык информатики Петцольд Ч. Рейтинг DOU: 5.0
2. Искусство программирования Кнут Д. - 77 балов 2. Регулярные выражения Фридл Дж. Рейтинг DOU: 5.0
3. Чистый код Мартин Р. - 68 баллов 3. Приемы объектно-ориентированного проектирования. Паттерны проектирования Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес Рейтинг DOU: 5.0
4. Интерфейс: новые направления в проектировании компьютерных систем Раскин Д. - 49 баллов 4. Структура и интерпретация компьютерных программ Абельсон Х, Сассман Дж. Рейтинг DOU: 4.7
5. Рефакторинг с использованием шаблонов Кириевски Д. - 48 баллов 5. Программирование: теоремы и задачи Шень А. Рейтинг DOU: 4.
6. Структура и интерпретация компьютерных программ Абельсон Х, Сассман Дж. - 35 баллов 6. Чистый код Мартин Р Рейтинг DOU: 4.5
7. Алгоритмы и структуры данных Вирт Н. - 31 балл 7. Мир Лиспа Хювёнен Э., Сеппянен И. Рейтинг DOU: 4.5
8. Компиляторы: принципы, технологии и инструментарий А Ахо, М Лам, Р Сети, Дж Ульман - 30 баллов 8. Алгоритмы: построение и анализ Т Кормен, Ч Лейзерсон, Р Ривест, К Штайн Рейтинг DOU: 4.3
9. Экстремальное программирование Бек К. - 30 баллов 9. Объектно-ориентированное программирование Иванова Г., Ничушкина Т. Рейтинг DOU: 4.2
10. Современные методы описания функциональных требований к системам Коберн А. - 30 баллов 10. Искусство программирования Кнут Д. Рейтинг DOU: 4.2

Большинству участников опроса от 20 до 30 лет, средний опыт работы - 5 лет. Половина всех проголосовавших программируют на Java, C# или PHP. Новые книги украинские программисты в основном предпочитают брать из открытых источников в интернете (43% опрошенных). Второй по популярности способ (с большой разницей — вдвое меньше) - покупки в интернет-магазинах (22%).
После опубликования опроса появилось большое количество критики. В основном это касается ассортимента книг из которых делался выбор и отсутствие некоторых явных лидеров послених лет.

Ниже мы приводим основные тезисы критики:

- Книга Паттерны проектирования Фримен явно должна быть помещена в раздел "Разное (Алгоритмы, ООП, проектирование ПО ...)"

- Многие указали на то, что C# 5.0 и платформа .NET 4.5 для профессионалов Нейгел К. заняла 1 место в категории C#. При этом Язык программирования C# 5.0 и платформа .NET 4.5 Троелсен даже не попала в в список (а это классическое и очень популярное издание). При этом книга CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C# Джеффри Рихтер заняла только 3-е место.

- В рейтинге отсутствует книга Совершенный код Макконнелл, а её рекомендуют ведущие программисты по всему миру

- В рейтинге отсутствует книги Мартина Фаулера Шаблоны корпоративных приложений и Рефакторинг: улучшение существующего кода. Количество рекомендаций на них превышает все разумные пределы

- Многих смутила старая ВУЗовская книга Объектно-ориентированное программирование Иванова Г., Ничушкина Т., и это при практически полном отсутствии классики ООП в списке