13 крутых книг по программированию. Советуют айтишники и Bubble

Пользователь Hacker News попросил форумчан порекомендовать книги по программированию. Айтишники советовали как конкретные книги, так и целые списки — а мы нашли это все на Amazon, выбрали лучшее и бонусом составили еще и топ рекомендаций от Bubble.

  1. Elements of Programming в соавторстве Александра Степанова и Пола Макджонса рассказывает о программировании с точки зрения математики и показывает, как алгоритмы, например, на С++ могут работать в математике.
  2. У книги Structure and Interpretation of Computer Programs три автора: профессор компьютерных наук и инженерии Массачусетского технологического института Гарольд Абельсон, профессор электротехники Джеральд Джей Сассман и Джулия Сассман. Вы узнаете про параллельное программирование, функциональное программирование, недетерминированное программирование и ленивое вычисление. В книге есть разделы с примерами процедур высшего порядка в графике и приложениями потоковой обработки в численном программировании. А еще есть и упражнения.
  3. How to Design Programs, second edition: An Introduction to Programming and Computing — еще одна книга из списка, которая подойдет тем, кто недавно начал изучать программирование. Ее авторы профессора компьютерных наук Маттиас Феллейзен, Роберт Брюс Финдлер, Мэтью Флэтт, Шрирам Кришнамурти описывают процесс разработки программ, советуют новичкам, как правильно анализировать постановку задачи и придумать схему решения. 
  4. Computer Systems: A Programmer’s Perspective от Рендала Брианта — преподавателя Калифорнийского технологического института. В книге описывается архитектура процессора и способы оптимизации программ, объясняется, что такое виртуальная память и как с ней работать. В конце есть упражнения — можно тренироваться самому.
  5. C Programming Language подойдет С-разработчикам. В ней Брайан Керниган рассказывает о наборе операторов ANSI C и показывает, как его использовать, а еще объясняет, как управлять данными и структурировать их. Это второе издание книги, в нем появилось больше актуальных примеров и задач
  6. Think Python: How to Think Like a Computer Scientist от Аллена Дауни советуем тем, кто хочет начать программировать на Python. Книга ориентирована на новичков, в ней Дауни объясняет основы синтаксиса и семантики, дает определения значениям, переменным и операторам и рассказывает, как работать с файлами и базами данных.
  7. Operating System Concepts Авраама Зильбершатца, Грега Ганье и Пеера Галвина 10th Edition рассказывает в подробностях о том, как устроены операционные системы. Эта книга для студентов — поэтому в конце каждой главы есть вопросы и упражнения.
  8. Readings in Database Systems  Джозефа Хеллерштейна и Майкла Стоунбрейкера для тех, кто хочет разобраться в базах данных. В книге есть статьи по разным темам, например, по истории моделей данных, языкам запросов, архитектуре баз данных и поисковых систем.
Топ-9 полезных приложений чтобы убить прокрастинацию и начать учебу
Топ-9 полезных приложений, чтобы убить прокрастинацию и начать учебу
По теме
Топ-9 полезных приложений, чтобы убить прокрастинацию и начать учебу

Книги по рекомендации Bubble

  1. A Programmer’s Guide to Computer Science: A virtual degree for the self-taught developer для тех, кто только начал изучать программирование, особенно для самоучек. В ней разработчик ПО Уильям Спрингер рассказывает об основах компьютерных наук, алгоритмах и структурах данных.
  2. Code: The Hidden Language of Computer Hardware and Software Чарльза Петцольда рассказывает об устройстве процессора и детально объясняет, как устроен компьютер.
  3. Software Engineering at Google: Lessons Learned from Programming Over Time написали инженеры-программисты Google Титус Титус Уинтерс и Хайрам Райт. В книге они рассказывают, как создавать и поддерживать ПО, говорят об инженерной культуре, процессах и инструментах Google и том, как это влияет на эффективность. Вы узнаете, как сделать код устойчивым и как масштаб влияет на жизнеспособность программных практик.
  4. Из книги Fundamentals of Software Architecture: An Engineering Approach Марка Ричардса и Нила Форда можно узнать о технической основе архитектурных решений, метриках и способах оценки ПО. Бонус: есть главы про soft skills: узнаете, как эффективно управлять командой, вести себя на переговорах и проводить презентации.
  5. Clean Code: A Handbook of Agile Software Craftsmanship консультанта по ПО Роберта Мартина — о том, как отличить хороший код от плохого и превратить плохой в хороший, как создавать хорошие имена, хорошие функции, хорошие объекты и хорошие классы. Вы узнаете, как обрабатывать ошибки, проводить модульное тестирование и сделать код читабельным.
article widget img
«‎‎Главная ошибка собеса — подгонять ответы»‎. Рекрутеры рассказали о найме в IT
Откуда берутся IT-рекрутеры, с какими трудностями они сталкиваются в попытках закрыть позиции и какие ошибки сами совершают на интервью — полезно знать перед тем, как искать работу.
Телеграм-канал про Образо­вание, карьеру и жизнь в IT
Телеграм-канал про Образо­вание, карьеру и жизнь в IT

Читайте по теме

Расти в IT
Расти в IT
21

Расти в IT

Как вырасти до сеньора и тим-лида — гид по карьерному росту в айти
nerd head nerd letter

Мир содрогнулся, когда узнал, что читают разработчики по ночам...

Ничего криминального — только полезная еженедельная рассылка от Bubble. Тренды в айти, лайфхаки и советы экспертов.

Подписывайся!

Ты — котик! Проверяй почту
Нам нужен настоящий адрес эл. почты
Спецпредложения
Курсы со скидками для пользователей Bubble
Выбрать курс
Освоить за выходные
Экспресс-курсы программирования
Выбрать курс
Баг пофиксил
Курсы для QA-инженеров
Выбрать курс
Звездочка к резюме
Курсы по карьерному росту
Выбрать курс
Подписывайся на Bubble в соцсетях
Подписывайся на BUBBLE в социальных сетях
Телеграм-канал про Образование, карьеру и жизнь в IT
Только полезный контент и ничего лишнего.