Литература
Вклад отдельных разработчиков чрезвычайно отличается, исследования показывают десятикратно большую производительность труда лучших по сравнению с худшими. Это значит, что не поощрение (неустойчивого) героического индивидуального программирования, а правильные знания и рабочие привычки имеют существенное значение для продуктивности – в этом ценность постоянного образования и наставничества для разработчиков. Л. Крейг. [8]
Значительная часть исследований в компьютерных науках либо слишком далека от повседневных задач (даже от предполагаемых в будущем), любо углубилась в повседневность настолько, что мало отличается от простой передачи технологий.
Бьерн Страуструп [17],
создатель языка C++
It doesn’t take a huge amount of knowledge and skill to get a program working. Kids in high school do it all the time… Getting it right is another matter entirely. Getting software right is hard.
Robert C. Martin [11]
1. Бадд, Т. Объектно-ориентированное программирование.
2. Брукс, Ф. Мифический человеко-месяц, или как создаются программные системы.
https://www.ozon.ru/context/detail/id/83760/
3. Буч, Г. Объектно-ориентированный анализ и проектирование.
https://www.ozon.ru/context/detail/id/3905587/
https://www.amazon.com/dp/5845914019/
4. Дейт, К. Дж. Введение в системы баз данных.
https://www.ozon.ru/context/detail/id/136880774/
https://www.amazon.com/dp/B0108DWNMG/
5. Design Patterns: Elements of Reusable Object-Oriented Software.
6. Кнут, Д. Искусство программирования. Том 1.
7. Ларман, К. Введение в объектно-ориентированный анализ, проектирование и разработку.
8. Larman, C. Agile and Iterative Development: A Manager's Guide.
https://www.amazon.com/dp/0131111558
9. Liskov, B., Zilles, S. Programming with abstract data types // pp. 50-59.
https://dl.acm.org/citation.cfm?id=807045
10. Макконнелл, С. Совершенный код.
https://www.ozon.ru/context/detail/id/142768363
https://www.amazon.com/dp/0735619670/
11. Martin, R. C. Clean architecture. A Craftsman’s Guide to Software Structure and Design.
https://www.ozon.ru/context/detail/id/144499396/
https://www.amazon.com/dp/0134494164/
12. Martin, R. C. Design Principles And Design Patterns.
13. Мейер, Б. Объектно-ориентированное конструирование программных систем.
Электронные издания: Основы объектно-ориентированного программирования (https://www.intuit.ru/goods_store/ebooks/8212), Основы объектно-ориентированного проектирования (https://www.intuit.ru/goods_store/ebooks/8213). Бумажное издание на русском: Объектно-ориентированное конструирование программных систем https://www.ozon.ru/context/detail/id/2336754/.
14. John von Neumann. On the Principles of Large Scale Computing Machines, with H. H. Goldstine. 1946 (lecture)
http://ieeexplore.ieee.org/document/4640688/
15. Parnas, D. L. On the Criteria To Be Used in Decomposing Systems into Modules / Programming Techniques. 1972.
http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf
16. Parnas. Information distribution aspects of design methodology.
17. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Бьянкуцци Ф., Уорден Ш.
https://www.ozon.ru/context/detail/id/5596946/
https://www.amazon.com/dp/0596515170
18. Пратт, Т., Зелковиц, М. Языки программирования: разработка и реализация.
http://www.ozon.ru/context/detail/id/1158230/
https://www.amazon.com/dp/0130276782
19. Petricek, T., Skeet J. Real World Functional Programming with examples in F# and C#
https://www.amazon.com/dp/1933988924/
20. Скит, Дж. C# для профессионалов. Тонкости программирования.
https://www.ozon.ru/context/detail/id/27933250/
https://www.amazon.com/dp/1617294535/
21. Эванс, Э. Предметно-ориентированное проектирование (DDD).
https://www.ozon.ru/context/detail/id/30958003/
https://www.amazon.com/dp/0321125215/
22. Ousterhout, John. A Philosophy of Software Design. 2018.