Давно хотел как-то упорядочить свой список книг для внеклассного чтения для повышения проф-пригодности. Эти книжки для тех программистов, которые уже не совсем новички. Возможно уже и не совсем программисты – техлиды/архитекты. И хотят данную ситуацию усугубить.
Я из них прочитал еще не все 🙁
Но галочки уже расставляю 🙂
зы. Не думаю, что это нужно/интересно/полезно вот прям всем – это уже лично мой список отражающий текущие или прошлые профессиональные интересы. Я ж наверняка что-то позабыл включить, а что-то мне разонравится и я буду безжалостно это вычеркивать – так что в статье ожидаются правки 🙂
C++
- Язык программирования С++, Страуструп
- Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ, Мейерс Скотт
- Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов, Мейерс Скотт
- C++: Библиотека программиста, Джефф Элджер
- Веревка достаточной длины, чтобы… выстрелить себе в ногу. Правила программирования на Си и Си++. Ален Голуб
- Стандарты программирования на С++. 101 правило и рекомедакция. Герб Саттер, Андрей Александреску
- C++. Практический подход к решению проблем программирования, Мэтью Уилсон
- Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования, Андрей Александреску
- Advanced C++ Metaprogramming, Davide Di Gennaro
- Introduction to the Boost C++ Libraries, by Robert Demming
Алгоритмы
- Algorithms in a Nutshell, George T. Heineman, Gary Pollice, Stanley Selkow
- Алгоритмы на C++, Роберт Седжвик
- Алгоритмы. Построение и анализ, Томас Кормен
- Искусство программирования, Дональд Э. Кнут
Сети
- Эффективное программирование TCP-IP, Снейдер Й.
- UNIX. Разработка сетевых приложений, У. Р. Стивенс
Функциональный подход к программированию
- Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp, Peter Norvig
- Learn You Some Erlang for Great Good!: A Beginner’s Guide, Fred Hebert
- ERLANG Programming, Francesco Cesarini, Simon Thompson
- Purely Functional Data Structures, Chris Okasaki
- Learn You a Haskell for Great Good!: A Beginner’s Guide, Miran Lipovaca
Проектирование ООП программ
- Head First Object-Oriented Analysis and Design, Brett D. McLaughlin, Gary Pollice, Dave West
- Head First Design Patterns, Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
- Head First Software Development, Dan Pilone, Russ Miles
- Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans
- An Introduction to Object-Oriented Analysis and Design and Iterative Development, Craig Larman
Компьютерное зрение
- Computer Vision: Models, Learning, and Inference, Simon J. D. Prince
- Multiple View Geometry in Computer Vision Richard Hartley, Andrew Zisserman
- Computer Vision: A Modern Approach, David A. Forsyth
- Компьютерное зрение, Шапиро, Стокман
ОБЩАЯ МЕТОДОЛОГИЯ ПРОГРАММИРОВАНИЯ
- Чистый код. Создание, анализ и рефакторинг, Роберт Мартин
- Совершенный код, Стив Макконнелл
- 97 этюдов для архитекторов программных систем, Нил Форд, Майкл Найгард, Билл де Ора
- Защищённый код, Майкл Ховард, Дэвид Леблан
- Рефакторинг. Улучшение существующего кода, Мартин Фаулер
- Шаблоны корпоративных приложений, Мартин Фаулер
- Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, Bobby Woolf, Gregor Hohpe
- How to Design Programs: An Introduction to Programming and Computing, http://htdp.org/, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
- Structure and Interpretation of Computer Programs (SICP), http://mitpress.mit.edu/sicp, Harold Abelson, Gerald Jay Sussman, Julie Sussman
- The Pragmatic Programmer: From Journeyman to Master, Andrew Hunt
- Writing Solid Code, Steve Maguire
- Hacker’s Delight, Henry S. Warren
- The Software Architect’s Profession: An Introduction, Marc Sewel
- 19 смертных грехов, угрожающих безопасности программ, Ховард М., Лебланк Д., Виега Д.
- Компиляторы: принципы, технологии и инструменты, “книга дракона”, Альфреда В. Ахо, Рави Сети, Джеффри Д. Ульмана,
- Паттерны проектирования, Гамма, Хелм, Джонсон, Влиссидес
- Test Driven Development: By Example, Kent Beck
- Code Craft: The Practice of Writing Excellent Code, Pete Goodliffe
- The Art of Multiprocessor Programming, Maurice Herlihy
- The Architecture of Open Source Applications, Amy Brown, Greg Wilson
VIM (emacs – 😛)
- Practical Vim: Edit Text at the Speed of Thought, Drew Neil
- Learning the vi and Vim Editors, Arnold Robbins, Elbert Hannah, Linda Lamb
Project Managment
- Искусство войны, Сунь-Цзы
- Мифический человеко-месяц, или Как создаются программные системы, Фредерик Брукс
- The Psychology of Computer Programming, Gerald M. Weinberg
- Extreme Programming Explained, Kent Beck
- Agile Software Development: The Cooperative Game, Alistar Cockburn
- Peopleware: Productive Projects and Teams, Tom DeMarco
- Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, James A. Highsmith
- Software Craftsmanship: The New Imperative, Pete McBreen
- Dynamics of Software Development, Jim McCarthy
- Antipatterns: Managing Software Organizations and People, Colin J. Neill, Philip A. Laplante, Joanna F. DeFranco
- AntiPatterns in Project Management, William J. Brown
- Beyond Chaos: The Expert Edge in Managing Software Development, Larry L. Constantine
- The Manager Pool: Patterns for Radical Leadership (Software Patterns Series), by Don Sherwood Olson
- Death March, Edward Yourdon
- Leading a Software Development Team: A developer’s guide to successfully leading people, Richard Whitehead
- Head First PMP, Jennifer Greene, Andrew Stellman
- Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin
- Цель. Процесс непрерывного совершенствования, Элияху М. Голдрат, Джефф Кокс
- Как пасти котов. Наставление для программистов, руководящих другими программистами, Дж. Ханк Рейнвотер
UX design
- A Project Guide to UX Design: For user experience designers in the field or in the making (2nd Edition) (Voices That Matter), Russ Unger, Carolyn Chandler
и, на посошок
Некоторые любопытные обсуждения литературы для проф развития:
http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read
http://habrahabr.ru/post/135897/
http://mrelusive.com/books/books.html – список книг для разработчика игр