Содержание
- Советы новичкам
- Алгоритмы: разработка и применение
- «Чистый код: создание, анализ и рефакторинг» (Библиотека программиста)
- «Scratch для детей. Самоучитель по программированию»
- «Паттерны объектно-ориентированного проектирования»
- Начальный+/Средний уровень
- 7. «Java. Создание приложений» и 8. «Java Code. Сборник исходников», Алексей Крючков
- 9. «Java. Библиотека профессионала», Хорстманн, Корнелл
- 10. «Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн
- 11. «Чистый код. Создание, анализ и рефакторинг», Роберт Мартин
- 12. «Java. Эффективное программирование», Джошуа Блох
- Экстремальное программирование: разработка через тестирование. Кент Бек
- 4 Программист-фанатик
- Дискретная математика для программистов. Рей Хаггарти
- «Рефакторинг. Улучшение проекта, существующего кода»
- «Как создать сайт. Комикс-путеводитель по HTML, CSS и WordPress»
- Курс программирования на языке СИ. Сергей Фомин, Вадим Подбельский
- Алгоритмы для начинающих
- Учебник по C ++
- Эл Свейгарт — «Автоматизация рутинных задач с помощью Python. Практическое руководство для начинающих»
- Учебники по JavaScript
- Топ-7. Codemika
- 1 Python. Карманный справочник
- 3 Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
- Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Федерико Бьянкуцци, Шейн Уорден
- Путь в магию. Первые шаги. Fiery
- 2 Scratch для юных программистов
- «Искусство программирования»
- «Мифический человеко-месяц»
- 1 Программируем на Python
Советы новичкам
Учитывая поэтапность процесса, нужно создать план обучения.
- В каждом пункте его должно быть прописано, что именно на этом этапе необходимо выучить и какие средства использовать.
- Обучение не должно быть растянутым на всю жизнь, ведь информационные технологии очень быстро развиваются и меняются. Пока Вы будете тщательно изучать какой-то инструмент программирования, к концу обучения он может уже устареть, и в тренде окажется что-то другое, более современное.
- В процессе обучения обязательно используйте наработки других людей, все сервисы и материалы, которые доступны. Тут ничем нельзя пренебрегать. Ищите и налаживайте связи с практикующими программистами, общайтесь с ними как можно больше. Может быть, таким способом Вы найдете себе куратора, который будет находить ваши ошибки и подбрасывать интересные задачки для саморазвития. Это особенно полезно, если начинающий программист занимается самообучением.
- Изучите архитектуру компьютера и английский, потому что большинство самых ценных учебных программ написаны на этом языке. Хороших русскоязычных ресурсов пока еще гораздо меньше. К тому же, самая высокооплачиваемая работа – у англоязычных работодателей, да и на любом языке программирования коды пишутся на латинице с использованием английских слов.
Это совершенно другая, особенная жизнь, в которой люди работают везде – в офисе, в собственном доме. Даже на отдыхе не получается расслабиться, потому что у айтишника все мысли заняты багами и тасками. К тому же, всё что потребуется знать программисту, на курсах не получить, всю жизнь придётся доучиваться.
По факту Вас ждет обучение нон-стоп, и это совершенно особая философия жизни. Начинайте с малого, но действуйте быстро, пока технологический поезд не оставил Вас далеко позади.
Алгоритмы: разработка и применение
Авторы: Джон Клейнберг, Эва Тардос.
Год издания: 2016.
Авторы этой книги — профессора теории вычислительных систем в Корнелльском университете. Клейнберг специализируется на алгоритмах, связанных со структурой сетей и информации. Его работы лежат в основе поисковых систем интернета. Тардос специализируется на графах и сетевых задачах.
Книга учит читателей различным методам
проектирования и анализа алгоритмов
для решения задач, возникающих при
разработке программного обеспечения.
Авторы старались донести до учащихся
суть процесса разработки алгоритма и
рассказать о месте алгоритмов в
информатике.
В книге рассматриваются (среди прочих)
такие темы как основы анализа алгоритмов,
графы, жадные алгоритмы, алгоритмы
«разделяй и властвуй», динамическое
программирование, NP-полнота, аппроксимирующие
и рандомизированные алгоритмы.
«Чистый код: создание, анализ и рефакторинг» (Библиотека программиста)
Роберт Мартин
Перевод с английского — Е. А. Матвеев
Издательство «Питер», 2021 год, 464 с.
Оригинальное название: Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Зачем читать: чтобы научиться замечать типичные ошибки и не делать их самому. Например, не пускать на самотёк именование переменных, подпрограмм и модулей, форматирование кода, обработку граничных условий — то, что по отдельности кажется мелочью, а всё вместе безбожно портит код.
Сложность:
Начинающим программистам иногда кажется, что раз программа заработала, то и ладно. Ни к чему с ней дальше возиться: незачем тщательно продумывать структуру классов, обрабатывать все граничные условия и уж тем более заботиться о говорящих именах переменных, полезных комментариях и других «мелочах».
Дядюшка Боб считает, что внимание к деталям, умение отличать хороший код от плохого и привычки чистюли сделают из кодера настоящего программиста. Мартин и соавторы на примерах показывают, как грамотно проектировать архитектуру приложения и писать чистый код, а в конце перечисляют признаки «дурно пахнущего кода» — типичные ошибки
Мартин и соавторы на примерах показывают, как грамотно проектировать архитектуру приложения и писать чистый код, а в конце перечисляют признаки «дурно пахнущего кода» — типичные ошибки.
В общем, для создания хорошего приложения нужно потрудиться — самим же потом легче будет его сопровождать.
«Scratch для детей. Самоучитель по программированию»
В 2014 году Мажед Маржи, старший разработчик программного приложения в General Motors, написал книгу о языке программирования Scratch, которая была разработана в Массачусетсе специально для обучения детей.
Книга составлена таким образом, что после изучения каждой главы юный исследователь, выполнив итоговое задание, сможет написать программу. Книга содержит исчерпывающую информацию о Scratch. Что такое Scratch, какая у этого языка среда программирования, блоки и проекты. Книга поможет разобраться с интерфейсом Scratch, увидеть и исправить возникающие ошибки. Поэтапная инструкция, сопровождаемая иллюстрациями, позволит создать свою первую игру.
Маржи уверяет, что Scratch может освоить любой ребенок, умеющий читать и считать, их родители и те, кто не имеет никаких навыков программирования. Программирование в Scratch похоже на игру в конструктор, где из простых блоков любой сможет собрать работающий продукт.
Родители делятся позитивным впечатлением от книги, особо отмечая доступный язык, благодаря чему даже дети до 10 лет смогут самостоятельно разобраться в основах программирования. Определенным преимуществом стало отсутствие лишней информации, которая помешает в начале обучения.
«Паттерны объектно-ориентированного проектирования»
Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
Перевод с английского — А. Слинкин
Издательство «Питер», 2021 год, 448 с.
Оригинальное название: Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm
Зачем читать: чтобы узнать про шаблоны программирования из первоисточника.
Сложность:
Четвёрка авторов, она же «Банда четырёх», среди программистов известна не меньше, чем «Битлз» во всём мире. И знамениты они как раз тем, что первыми детально описали 23 основных шаблона проектирования — показали, как организовывать взаимодействие классов и объектов, чтобы решать типичные задачи программирования.
Многие считают, что эта книга устарела, — первое издание вышло 25 лет назад, и за это время было написано много других книг о шаблонах. Однако принципы классификации, да и сами шаблоны, до сих пор актуальны.
Начальный+/Средний уровень
7. «Java. Создание приложений» и 8. «Java Code. Сборник исходников», Алексей Крючков
Годы издания: 2018 – 2020.Количество страниц: 33-39.Знания читателя: уровень начальный+.
Алексей Крючков – писатель «универсальный». Из-под его пера выходили и сборники анекдотов, и описание операционной системы Linux Mint, и пособия по системам автоматизированного проектирования, и книги для изучения Java.
В категорию «Лучшие книги по Java 2021» его работы отнести можно, хоть они и не отличаются полнотой изложения. Несмотря на неширокий охват темы, творчество автора рекомендуется к ознакомлению.
Книги про Java в исполнении Крючкова раскрывают некоторые интересные моменты программирования в среде NetBeans, разработки веб-приложений с оптимизацией под Google Chrome. По ходу изучения читатель сможет сам написать четыре приложения, ознакомиться с алгоритмами создания сообщений а-ля Android, удаленного определения операционной системы, генератора паролей.
9. «Java. Библиотека профессионала», Хорстманн, Корнелл
Годы издания: 2009 – 2021.Количество страниц: 1500 – 2000 (2 тома), в зависимости от издания.Знания читателя: уровень начальный+.
«Библиотека профессионала» – лучшая книга по Java, если вы уже понимаете общие принципы объектно-ориентированного программирования.
Работу Хорстманна и Корнелла сложно назвать самоучителем для начинающих, это, скорее, справочное пособие, регулярно обновляемое с учетом эволюции языка программирования.
Рекомендуется знакомство с 10 и 11 изданиями. Они наиболее полно соответствуют реалиям сегодняшнего дня. В первом томе даются основы языка. Второй том рассматривает средства построения GUI, создание корпоративных приложений, другие актуальные вопросы программирования на Java.
10. «Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн
Годы издания: 2013 – 2021.Количество страниц: 843.Знания читателя: уровень начальный+.
В своей работе Седжвик и Уэйн рассматривают общие вопросы алгоритмизации, алгоритмы поиска, сортировки, обработки данных и многие другие. Книга написана лаконичным языком, понятным для начинающих разработчиков. Материал снабжен наглядными примерами и иллюстрациями, даются практические задания для самостоятельной работы.
В отличие от многих других пособий, в «Алгоритмах» приведены примеры реального кода, использующегося в популярном ПО.
Книга рекомендуется для самого широкого круга читателей, серьезно решивших стать профессиональными java-программистами. Пособие предполагает изучение 50 алгоритмов, с которыми должен ознакомиться каждый разработчик.
11. «Чистый код. Создание, анализ и рефакторинг», Роберт Мартин
Год издания: 2018.Количество страниц: 464.Знания читателя: начальный/средний уровень.
В своей книге автор, американский инженер, профессионал и международный консультант по разработке ПО, пытается научить читателя хорошему стилю программирования на Java. Пособие несомненно можно записать в лучшие книги по программированию Java.
Первая часть работы посвящена искусству написания «чистого» кода. Во второй Роберт Мартин приводит множество примеров хорошего программирования.
Рекомендуются к ознакомлению и другие книги этого автора: «Идеальный программист. Как стать профессионалом разработки ПО» и «Чистая архитектура. Искусство разработки ПО».
12. «Java. Эффективное программирование», Джошуа Блох
Годы издания: 2001 – 2021.Количество страниц: 440 (зависит от издания).Знания читателя: средний уровень.
Джошуа Блох написал книгу, которую без сомнения должен прочитать каждый java-программист. Его работу нельзя назвать пособием для начинающего. Скорее она будет интересна пользователям, уже имеющим некоторое представление о программировании.
Все статьи самодостаточны. Каждая посвящена одному из аспектов разработки и основана на опыте лучших специалистов.
В книге рассматриваются java.io, java.util, java.lang, ряд других библиотек, но работа не затрагивает GUI и специализированных программных интерфейсов приложений.
Экстремальное программирование: разработка через тестирование. Кент Бек
Эта книга для ленивых антиперфекционистов, в глубине души считающих Макконела занудой, находящих тестирование и отладку на редкость утомительным занятием, но все равно мечтающих о том, чтобы написанные ими программы сносно работали.
Кент Бек написал во вступлении:
Этот гениальный своей простотой совет, за много лет вырос в голове Кена в фантастически результативную методику программирования:
- Сначала пишем тесты;
- На втором шаге кодируем и добиваемся четкого выполнения тестов;
- Проводим рефакторинг.
Воплощения этих трех шагов на практике посвящено 200 страниц, которые занимают описание паттернов TDD, советы по проведению рефакторинга, и рассказы о личном опыте применения методики на примере работы над приложением xUnit.
Идеи из книги давно ушли в народ и применяются как разработчиками-одиночками, так и в компаниях. Если вы заинтересовались, рекомендую найти в сети материалы о применении TDD с языками программирования, на которых пишите.
4 Программист-фанатик
В этой книге нет узкоспециализированных знаний по программированию, и вообще тема разработки ПО в ней не рассматривается. Тем не менее, она пользуется огромной популярностью, поскольку позволяет сэкономить несколько лет и воспользоваться чужим опытом в построении незаурядной IT-карьеры.
На страницах представлены практические советы о том, как встроиться в успешный коллектив или создать свою команду мечты, поднять свою мотивацию, получить заказ мечты и т. д. Материал универсален и полезен всем – и начинающим программистам, и старым динозаврам кодинга, и даже тем, кто никогда не занимался программированием.
Дискретная математика для программистов. Рей Хаггарти
Это единственный учебник по математике, беглое ознакомление с которым в книжном магазине вызвало немедленное желание его купить. Удивительно легкая подача текста, много поясняющих картинок, решение задач не требует глубины знаний других разделов математики.
- графы и ориентированные графы;
- комбинаторика;
- эффективность алгоритмов;
- математический аспект функциональных языков программирования;
- бинарные отношения;
- экспертные системы;
- теория множеств;
- и т.п.
Радуют пояснительные примеры на псевдокоде (который по сути Pascal).
Ознакомление с этим учебником (в первую очередь с главой 7 и приложением к ней) теоретически и морально готовит к чтению третьего тома книги Дональда Кнута «Искусство программирования». Как настроить себя на чтение остальных томов, мне неизвестно:-(
Но главное, что эта книга развернуто и доступно отвечает на волнующий кодеров-любителей вопрос: «Зачем программисту когда-либо может понадобиться математика?».
«Рефакторинг. Улучшение проекта, существующего кода»
Мартин Фаулер
Перевод с английского — И. В. Красиков
Издательство «Вильямс», 2019 год, 448с.
Оригинальное название: Refactoring. Improving the Design of Existing Code by Martin Fowler
Зачем читать: чтобы разобраться, когда применять рефакторинг, а главное — как это делать и не развалить весь проект.
Сложность:
Рефакторинг — это, по сути, улучшение проекта после того, как код написан. Однако рабочее кредо многих программистов (и их начальников) звучит так: «Работает — не трогай». Они не хотят тратить деньги и время на изменение программы, если результат не виден снаружи. Так и появляются проекты с многочисленными костылями и заплатками в критичных местах, копится технический долг. Со временем всё это становится нежизнеспособным.
Фаулер пишет о типичных проблемах в коде и о том, как их исправить: шаг за шагом, начиная с написания тестов и заканчивая последовательным улучшением исходников.
«Как создать сайт. Комикс-путеводитель по HTML, CSS и WordPress»
В отличие от других примеров из списка, книга Нейта Купера написана не только для юных программистов и их родителей, но и для тех, кто интересуется дизайном. Автор знакомит читателя с художницей Ким, попавшей на необычную планету. После необычных приключений с HTML в WordPress-сити Ким возвращается домой.
В этой оригинальной книге текст перемежается комиксами и иллюстрациями самой Ким. Читатель узнает о базовых приемах создания сайта, основы HTML, CSS и WordPress. Чтобы успешно изучить материал, понадобятся самые простые навыки: находить и сохранять файлы, пользоваться браузером. Книга рекомендуется для детей школьного возраста, комиксы подают материал в точной и в то же время интересной форме. Прочитав комикс-путеводитель и выполняя предложенные задания, ребенок научится действовать в WordPress: настраивать, работать с виджетами и плагинами, запустить свой сайт.
Все, кто ознакомились с путеводителем, отмечают лаконичность и четкость подачи материала, оригинальный формат и понятный язык. Книга может служить начальной ступенью, предваряющей изучение более серьезных произведений по программированию сайтов. Согласно отзывам, подходит новичкам, желающим научиться программированию, а также подросткам для разработки собственного блога.
Курс программирования на языке СИ. Сергей Фомин, Вадим Подбельский
Учебник по программированию на C, который подойдет для самостоятельного изучения языка. В нем описано все простым языком, чтобы читатель смог разобраться и понять принцип языка. Книга российских авторов, которые являются многолетними преподавателями на математическом факультете. Исходя из своего опыта, они решили написать учебник по программированию, который основывается на их предмете. Теоретическая информация подкрепляется иллюстрациями и практическими примерами с объяснениями. После каждой рассмотренной темы авторы сделали сборник задач для самостоятельного решения, что позволяет закрепить пройденный материал.
Предназначена книга для преподавателей и студентов вузов.
Достоинства:
- книга хорошо организована, материал подается в нужной последовательности и объеме;
- рекомендуется для того, чтобы изучить азы новичкам, также подойдет и студентам первых курсов.
Алгоритмы для начинающих
Это учебное пособие предназначено для людей, не имеющих бэкграунда в продвинутых темах математики и информатики. Упор в книге делается на задачи и жизненные примеры. Разбираемые алгоритмы представлены в виде псевдокода и легко могут быть реализованы на любом языке программирования, включая Python.
Чтобы получить наибольшую пользу от
этой книги, читатель должен разбираться
в основах математики и иметь базовое
представление о работе компьютеров.
Все остальные необходимые концепции
поясняются в самой книге.
После ознакомления читателя с
псевдокодом, базовой терминологией и
структурами данных, в книге разбираются
такие темы как сжатие, криптография,
графы, хеширование и многие другие.
Каждая глава представляет какую-то
реальную жизненную проблему и алгоритмы
для ее решения.
Учебник по C ++
«Учебник по C ++» Стэнли Б. Липпмана, Хосе Ладжуа и Барбары Э. Му считается одной из лучших книг по изучению программирования на C ++ и идеально подходит для программистов любого уровня подготовки. В этой книге объемом почти 1000 страниц есть все необходимое, чтобы с нуля стать профессиональным программистом на C ++. Книга, измененная для более быстрого и активного обучения, также предоставляет читателям множество примеров для проверки своих навыков. Стэнли Б. Липпман – соавтор этой книги, ученый-компьютерщик, работавший на начальных этапах разработки C ++. Это лучшие книги по C ++ для начинающих, чтобы начать свой путь.
Пятое издание продолжает наследие предыдущих четырех изданий, обеспечивая соответствие материала последним классификациям. Книга также обновлена до недавно выпущенного стандарта C ++ 11. Книга знакомит с библиотекой C ++ с самого начала и раскрывает ее стандартные функции и возможности, чтобы начать ваш путь к тому, чтобы стать успешным программистом на C ++. Предыдущие издания были наполнены примерами, чтобы помочь поддержать теоретический подход к практике, и новое издание делает то же самое. Было обновлено много старых примеров, но в то же время в книгу добавлено несколько новых. Тысячи людей во всем мире предпочитают эту книгу (и ее предыдущие издания). Он считается ценным ресурсом как для начинающих, так и для опытных программистов. Книга – одна из лучших книг по программированию на C ++.
2. Эффективный современный C ++: 42 конкретных способа улучшить использование C ++ 11 и C ++ 14
Книга Скотта Мейерса «Эффективный современный C ++» следует формату на основе примеров, который также присутствует в более ранних книгах, опубликованных автором. Эта книга знакомит программистов на C ++ с C ++ 11 и C ++ 14 и помогает им ознакомиться с этими версиями и их функциями. Возможности, включая автоматическое объявление типов, семантику перемещения, поддержку параллелизма и многое другое. В книге обсуждается использование этих функций и способы повышения эффективности, управляемости и переносимости программного обеспечения.
В книге, содержащей более 300 страниц, обсуждается несколько тем, относящихся к последним версиям C ++. Некоторые из этих тем включают плюсы и минусы инициализации в фигурных скобках, функции создания интеллектуального указателя, разницу между std :: atomic и volatile, а также их использование в C ++ и взаимосвязь между std :: move и std :: forward. Помимо обсуждения языка, книга также проливает свет на методы, которым можно следовать для написания ясного и правильного кода, и на то, как старые практики программирования требуют некоторой доработки для разработки программного обеспечения в настоящее время.
Эл Свейгарт — «Автоматизация рутинных задач с помощью Python. Практическое руководство для начинающих»
Даже если читатель не планирует становиться профессиональным Python-программистом, в этой книге всё равно найдётся что-то интересное. Ведь с помощью этого простого высокоуровневого языка программы пишутся гораздо быстрее. Для автоматизации повседневных задач даже не всегда нужно создавать полноценную программу — зачастую хватает небольшого скрипта.
Здесь разобраны основы синтаксиса, так что пособие подойдёт в качестве первого руководства. Для изучающих Python с нуля книга будет интересна прежде всего обилием повседневных рецептов, благодаря которым можно сэкономить время, избавив себя от рутины.
Учебники по JavaScript
JavaScript – это уже не просто стили и разметки страницы, но полноценный язык программирования для веб-сайтов. Если вы видите не просто статичную страничку, но какую-то анимацию, проигрыватель видео или аудиозаписей, онлайн-калькуляторы и многие другие «фишки», где какие-то действия выполняются при загрузке страницы или по клику пользователя, вероятнее всего, что без JavaScript здесь не обошлось.
Фримен Э., Робсон Э. «Изучаем программирование на JavaScript»
Один из лучших учебников для новичков в веб-программировании. Очень простой язык, удобная подача информации. Новичкам будут особенно интересны базовые возможности, синтаксис и основной функционал. С опытом вы заинтересуетесь, как писать код, одинаково работающий в разных браузерах, как делать JavaScript-код максимально легким и быстрым, избегать проблем с передачей данных, защитить свой ресурс от взлома и т.д. В книге много примеров, практических задач и даже готовых небольших приложений, которые помогут понять на практике, что такое JavaScript.
Дэвид Флэнаган «JavaScript. Подробное руководство»
Автор этого учебника – практикующий программист, который постоянно совершенствуется. Сейчас уже вышло 6-е издание, в котором автор обновил некоторые нюансы работы с новыми версиями языка. Это издание не совсем подходит для новичков, так как язык изложения несколько суховат, и основы описаны сжато. Но если вы сначала ознакомитесь с азами и синтаксисом, «Подробное руководство» поможет вам изучить многочисленные нюансы работы в JavaScript. В книге очень много полезных и оригинальных примеров.
Райан Бенедетти, Ронан Крэнли «Изучаем работу с jQuery»
Эта книга посвящена одной из самых важных и универсальных библиотек JavaScript под названием jQuery. С ее помощью обеспечивается мультибраузерность, производится множество манипуляций с DOM, обмен информацией через API и многое другое. Эта библиотека применяется на большинстве сайтов. По сути, она позволяет при помощи средств JavaScript объединять элементы HTML и CSS, даже управлять ими. После изучения основ JavaScript, обязательно ознакомьтесь с этой библиотекой.
Топ-7. Codemika
Рейтинг (2021): 4.53
Учтено 19 отзывов с ресурсов: Яндекс.Карты, Google Карты, Zoon
Отличная подача материала
Преподаватели в «Кодемика» объясняют все настолько круто, что даже самые сложные темы покажутся простыми и понятными.
Онлайн-школа «Codemika» предоставляет возможность школьникам и взрослым получить IT профессию из любой точки мира. Все желающие могут пройти углубленный курс по программированию на Java, Python, Scratch, научиться создавать игры, приложения, сайты и многое другое. Программа подбирается исходя из возраста и интересов. Например, дети 7-8 лет могут пройти развлекательный курс по созданию мультфильмов. Ребятам 10-11-12 лет будут интересны занятия по разработке игр. Выпускники, студенты и взрослые смогут попробовать себя в роли настоящего разработчика и освоить полноценную специальность. Обучение строится в основном на практике, что большой плюс для дальнейшей профессиональной деятельности. Огорчает только ограниченный выбор курсов.
1 Python. Карманный справочник
Справочное пособие написано признанным во всем мире экспертом по языку Python Марком Лутцом и пережило уже 5-е издание
Его главный плюс – лаконичная подборка всех необходимых сведений в карманном формате А5, позволяющем носить справочник с собой и в любой момент обращаться к важному для себя методу или функции
Важно понимать, что книжка не является ни учебником, ни тем более, самоучителем. Начинающим с ней может быть трудно погрузиться в программирование, в частности, из-за слабо проработанного предметного указателя
Другой недостаток, на который указывают многие читатели – недостаток примеров из реальной жизни.
3 Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Большинство алгоритмов уже было когда-то найдено и выверено. Доказательства их жизнеспособности можно найти в многостраничных фолиантах классических авторов, но стоит ли этим заниматься, если есть книга «Грокаем алгоритмы»? Она доходчиво и последовательно, с помощью наглядных примеров и иллюстраций объясняет базовые принципы создания алгоритмов программирования, избавляя начинающих от лишних премудростей и объяснений.
Несмотря на то, что в рецензиях часто указывают на поверхностность информации и необходимость в самом скором времени переходить к более серьезным книгам, читатели рекомендуют все-таки грокнуть (в пер. с ам. сленга – разобраться, понять) темы, поднятые Адитьей Бхаргава, магистром по информатике в Чикагском университете.
Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Федерико Бьянкуцци, Шейн Уорден
Эта удивительная и вдохновляющая книга. Каждый раз когда перечитываешь — открываешь нечто новое. Она включает в себя интервью с создателями 17 языков программирования:
- Post Script;
- Perl;
- UML;
- C#;
- Java;
- Objective-C;
- SQL;
- ML;
- Haskell;
- Lua;
- AWK;
- Бейсик;
- Форт;
- APL;
- Python;
- C++.
В книге море любопытной технической информации и фактов из истории. Например:
- Первые семь лет разработка языка APL проходила без использования компьютеров;
- Создатель языка Eiffel Бертран Мейер еще в 1978 году написал книгу «Методы программирования», которую вскоре перевели на русский язык и издали в СССР. И до конца 2000-ых годов во время визитов в нашу страну ему попадались люди, которые утверждали, что изучали по ней программирование;
- Создатель Post Script описывает первоклассного программиста следующими словами «Когда он предъявляет код и говорит, что тот готов, это значит, что код абсолютно надежен и отшлифован». Последний раз такой парень встречался им в 1972 году;
- Когда Ларри пишет на своем Perl он вносит изменение в код и перезапускает программу примерно каждые 30 секунд;
- Turbo Pascal создан тем же человеком, что и C#;
- C++ используется чаще чем Objective-C потому, что его раскручивала корпорация AT&T (по мнению создателя Objective-C).
В интервью много сложных технических вопросов, но они удачно переплетаются с разговорами о науке, бизнесе, будущем IT-технологии, секретах успеха и трудностях с которыми пришлось столкнутся при создании и внедрении новых языков программирования.
Джон Хьюз учит важности смирения для эффективной работы в команде, Дон Чемберден объясняет почему сегодня трудно сделать популярным новый язык программирования, а Гвидо ван Россум делиться приемами, как мгновенно включиться в написание кода, если тебя отвлекли. Герои книги — уникальные люди
В них сочетается творческий ум, смелость и способность доводить дело до конца, не боясь потратить на него десяток другой лет своей жизни. Чтение «Пионеров программирования» мотивирует к действию не хуже журнала «Работница»
Герои книги — уникальные люди. В них сочетается творческий ум, смелость и способность доводить дело до конца, не боясь потратить на него десяток другой лет своей жизни. Чтение «Пионеров программирования» мотивирует к действию не хуже журнала «Работница»
Путь в магию. Первые шаги. Fiery
Эта книга представляет собой сборник упражнений для развития умения себя контролировать с развернутыми авторскими комментариями. Выполнение этих упражнений помогает справиться со следующими проблемами:
- Неспособность сосредоточиться на текущем занятии;
- Невозможность заснуть из-за навязчивых мыслей;
- Чрезмерная утомляемость при достаточном времени сна из-за невозможности расслабиться.
Я делала эти упражнения в 16-17 лет во время подготовки к ЕГЭ, чтобы преодолеть трудности со сосредоточением на учебе. В тот момент они мне ощутимо помогли. Теперь только возвращаюсь к ним пару раз в год по мере необходимости.
Подача материала автором у нормального человека вызывает чувство недоверия, но не стоит обращать на нее внимание. Воспринимайте упражнения в рамках материалистического мировоззрения и сильно не увлекайтесь ими. . P.S
Если у вас начнутся выходы из тела по ночам, срочно завязывайте с упражнениями и никому об этом не рассказывайте
P.S. Если у вас начнутся выходы из тела по ночам, срочно завязывайте с упражнениями и никому об этом не рассказывайте.
Классных книг для программистов много. И ТОП-10 каждого разработчика индивидуален .
Не знаете какие книги читать? Обратитесь к опытному кодеру, который:
- Использует те же технологии, что и вы;
- Решает похожие задачи;
- Похож на вас характером.
И велик шанс, что он поможет вам найти книги, которые станут для вас чем-то большим, чем развлечение на пару вечеров.
iPhones.ru
И ни одного романа. Уверена, что это не первая статья о книгах для программистов, которые вы читаете и ждете увидеть ниже обложки увесистых томов авторства Дональда Кнута, Стивена Макконелла, Роберта Мартина, Томаса Кормена и культовой «Книги четырех» («Паттерны проектирования»). Чтобы прочесть подборку классики, которые IT-блогеры копипастят друг у друга требуется пару лет тяжелого интеллектуального труда. Если поставить себе цель…
2 Scratch для юных программистов
Если ребенок слишком увлекся гаджетами, лучше купить ему самоучитель по программированию и предложить самому сделать свою игру. Книга рассчитана на самостоятельное изучение детьми 8‒11 лет и оформлена в полном соответствии с детскими интересами: красивая, ярко проиллюстрированная цветными картинками, написанная крупным шрифтом на языке, понятном даже первокласснику (при условии, что он умеет читать и считать).
Книжка – одна из немногих, написанных на русском языке, и не кем-либо, а Денисом Голиковым, известным программистом и детским тренером по компьютерной грамотности. Изложенный материал основан на его многолетнем опыте преподавания и был протестирован сотнями детей, научившимся благодаря ему работать в графических редакторах, создавать игры, мультфильмы и озвучивать их.
«Искусство программирования»
Дональд Кнут
У третьего (актуального) издания на английском языке семь томов. На русский переведено четыре из них: две части первого тома, второй и третий, а также том 4А.
Перевод с английского — И. В. Красиков, С. Г. Тригуб, Ю. Г. Гордиенко
Издательство «Вильямс», 2020 год, 720 + 160 + 832 + 960 с.
Оригинальное название: The Art of Computer Programming by Donald Knuth
Зачем читать: чтобы прокачаться в вычислительной математике и анализе алгоритмов.
Сложность:
Самый классический и самый фундаментальный труд в нашей подборке: многотомник от всемирно признанного гуру в области программирования, автора 19 монографий и более сотни статей.
Труд настолько фундаментален, что в первой книге больше математики, чем программирования: математическая индукция, степени и логарифмы, матрицы и определители — вот это всё. Попадаются задания вроде «докажите утверждение» или «найдите простую замену для сложной формулы» — Кнут считает, что, прежде чем пользоваться готовыми чужими решениями, нужно разобраться в азах.
Далее в этом и последующих томах автор учит анализировать и оценивать алгоритмы, даёт «золотые решения» классических задач (сортировка, поиск, обход деревьев) — и сравнивает, чем хорошо и плохо каждое. Всё это помогает выбирать оптимальные вычислительные стратегии в реальных проектах.
Заметки на полях: читать непросто, но нужно. Тем более что про классику алгоритмизации и вычислительную сложность до сих спрашивают на серьёзных собеседованиях. А первый том «Искусства» даже завершается цитатой Билла Гейтса:
«Если вы смогли дочитать это до конца, вы определённо должны отправить мне своё резюме».
«Мифический человеко-месяц»
Фредерик Брукс
Перевод с английского — А. В. Логунов
Издательство «Питер», 2020 год, 368 с.
Оригинальное название: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) by Frederick Brooks
Зачем читать: чтобы узнать о жизненном цикле программного проекта — понять, почему в IT так часто срываются сроки и как с этим бороться.
Сложность:
Эта книга будет полезна:
- программисту, которого часто просят оценить сроки (чтобы давал более точную оценку);
- и менеджеру проекта, который мучает программистов подобными вопросами (чтобы составлять адекватные планы).
Но речь в книге не только об оценках. Это руководство попадает в подборки мастридов уже больше 40 лет. Оно учит решать проблемы, которыми проектные команды болеют до сих пор: нереалистичные оценки, сложности из-за разрастания команды и так далее.
1 Программируем на Python
В начале своей IT-карьеры многие решают стартовать с одного из самых простых языков программирования – «Питон». В таком случае для приобретения необходимых навыков им стоит ознакомиться с детальным пособием по этой теме – «Программируем на Python». Ее написал известный программист и дизайнер компьютерных игр Майкл Доусон, который преподает программирование на курсах при государственном Университете в Лос-Анджелесе (Калифорния), UCLA Extension.
По стилю написания чувствуется, что информация подана профессиональным преподавателем. Каждая функция разъяснена и разжевана до молекул, кроме голой теории, есть множество практических задач. Это то, что нужно начинающим, но для более продвинутых разработчиков информации все-таки маловато.