Список лучших бесплатных книг по программированию от Toptal
Опубликовано: 2022-03-11Интернет — это крупнейшее в мире хранилище знаний, информации, полезного (и бесполезного: вспомните картинки с кошками) цифрового контента. Сегодня мы кратко рассмотрим кое-что полезное и приземленное: бесплатные онлайн-книги по программированию.
В Интернете доступно множество полезных книг, руководств, технической документации, исследовательских работ, примеров кода и отзывов. Вы всего лишь поиск Google вдали от всего этого, при условии, что вы отсеете страницы с оптимизированным для SEO контентом, которые по-прежнему занимают высокие позиции в Google.
Поскольку мы не можем перечислить и просмотреть сотни книг в одном сообщении в блоге, мы будем полагаться на ваш вклад. Вы читали этим летом бесплатную книгу по программированию? Или хорошую статью, тематическое исследование? Если это так, пожалуйста, поделитесь им с сообществом и проверьте раздел комментариев для предложений, сделанных другими читателями.
Начало работы с Google и GitHub
Google и GitHub — очевидные места, с которых можно начать поиск бесплатных руководств по программированию, книг и другого контента.
На GitHub есть список бесплатных книг по программированию, насчитывающий более 500 наименований. Очевидно, что GitHub предлагает исчерпывающий список бесплатных книг по программированию. Книги, включенные в этот список, охватывают широкий спектр технологий и тем, от книг по программированию, не зависящих от языка, математики, подробных технических руководств для различных языков, некоторых руководств по разработке для конкретных аппаратных средств и многого другого.
Размер списка может представлять проблему для случайного читателя, потому что может быть трудно найти и выбрать только несколько книг; их просто слишком много, особенно если вы ищете что-то, связанное с популярной темой, такой как Python, Java/Javascript, C#/C++. Позже мы более подробно рассмотрим этот вопрос.
Что касается Google, он остается жизненно важным ресурсом для всех, кто ищет бесплатные ресурсы. Имейте в виду, я говорю не только о бесплатных книгах; Google можно использовать для поиска очень специфической информации, поиска соответствующей документации, исследовательских работ и так далее.
Самая большая проблема с Google заключается в том, что многие простые условия поиска не дают удовлетворительных результатов. После десяти лет работы в онлайн-публикациях я стал презирать банду SEO-оптимизированных, потому что вся идея этой конкретной ниши состоит в том, чтобы создавать почти бесполезный контент, занимающий высокие позиции в поиске. Чаще всего широко используемый поисковый запрос, ориентированный на популярную технологию, приводит к нескольким релевантным сайтам и десяткам SEO-оптимизированных страниц, содержащих переписанный, перегретый и совершенно бесполезный контент. Как бы Google ни менял свой алгоритм, эти ребята, кажется, на шаг впереди.
Сужение поиска в Google
Поскольку я обслуживаю технически подкованную аудиторию, я не буду тратить много времени на объяснение того, как можно сузить поиск в Google и сосредоточиться на релевантной информации. Существует множество советов по мощному поиску, и я думаю, что большинство наших читателей уже используют их.
Конечно, Google может быть не лучшим местом для поиска бесплатных книг, но книги — не единственный ресурс, который нам нужен. Поиск научных статей, технической документации или даже онлайн-дискуссий может оказаться полезным, если вам нужно решить конкретную проблему.
Поиск книг Google можно использовать для поиска ключевых слов в многочисленных библиотечных книгах. Google Scholar предназначен для поиска научных материалов во многом таким же образом. Оба могут быть полезны, особенно если вы пишете исследовательскую работу или полируете техническую документацию.
Конечно, эти сервисы просто дополняют ваш стандартный поиск Google. Вы можете сэкономить время и улучшить качество результатов поиска, используя функции расширенного поиска, такие как кавычки, поиск определенных типов файлов (обычно .pdf) или ограничение поиска определенными доменами. Всего несколько простых настроек должны помочь вам получить желаемый результат и сэкономить время.
Как я уже сказал, я не буду тратить время и место на объяснение советов Google Power Search, но если вы считаете, что вам нужно освежить свои навыки, ознакомьтесь с этой аккуратной инфографикой, которая охватывает основы.
Если вы ищете что-то конкретное, метод решения определенной проблемы, демонстрацию кода или тематические исследования, Google должен быть местом для начала (при условии, что вы используете его правильно).
Подборка лучших бесплатных книг по программированию от Toptal
Если, с другой стороны, вам просто нужны легкодоступные бесплатные книги по программированию, что-то, чтобы убить время или освежить свои навыки, такие ресурсы, как GitHub и другие сборники бесплатных книг, — ваш лучший выбор.
Блог Toptal также мог бы извлечь пользу из такого списка, хотя я не могу перечислить несколько сотен книг и дать краткие обзоры каждой из них. Хотя я люблю читать, проверить каждую из них было бы слишком сложно. Вот почему я ограничу список определенными языками, фреймворками и методами, расположенными в алфавитном порядке.
Книги, не зависящие от языка, не будут покрыты, по крайней мере, не в этот раз.
Превратите свою полку с электронными книгами в хранилище ценных знаний, не потратив ни копейки.
Андроид
- Обучение разработчиков Google Android — это очевидная отправная точка. Он предлагает множество полезных ресурсов, лучших практик и так далее.
- Бесплатное руководство по программированию для Android для начинающих — это курс из десяти глав, посвященный основам разработки под Android.
- Учебник Tuturials Point по Android — еще один учебник для «зеленых» разработчиков. Он также включает ряд примеров кода, которые могут быть полезны новичкам.
- Coreservlets также предлагает ряд руководств по Android, охватывающих широкий круг тем. Это не печатная книга, поэтому онлайн-коллекция время от времени расширяется и обновляется.
- Если вы ищете бесплатный совет по дизайну, вам следует проверить Styling Android. Это тоже не настоящая книга, поэтому содержание регулярно обновляется.
Я должен отметить, что большинство руководств по Android и практически все книги предполагают, что вы уже знакомы с Java. Если вы этого не сделаете, вам придется начать с этого, прежде чем переходить к этим ресурсам Android.
Си-Шарп, С, С++
- Руководство для начинающих по C# и .NET Micro Framework — относительно недавняя публикация GHI Electronics. Это краткое, но лаконичное руководство, которое должно помочь вам начать работу.
- Желтая книга по программированию на C# издается Халлским университетом, и, поскольку она является частью университетских курсов, книга регулярно обновляется.
- Для получения более подробной информации вы можете обратиться к Структурам данных и алгоритмам с шаблонами объектно-ориентированного проектирования в C#. Вам также следует ознакомиться с Threading in C# Джозефа Альбахари.
- Поскольку C и C++ существуют уже некоторое время, есть из чего выбирать, но многие из этих ресурсов устарели или просто плохи. Если вы ищете книги и учебные пособия по C++, я предлагаю вам ознакомиться с этой веткой Stackoverflow и найти что-то хорошее. Я должен отметить, что не все эти книги являются бесплатными.
- Что касается C, вы можете проверить C Wikibook, Deep C и C++ и Learn C The Hard Way.
Гит
- Если вы не уверены, подходит ли вам Git, «Контроль версий на примере» поможет вам сделать выбор между Apache Subversion, Mercurial, Git и Veracity.
- Стэнфордский Git Magic — еще один качественный ресурс, и, в отличие от большинства книг в нашем списке, он доступен на нескольких языках, включая китайский, французский, итальянский, польский и русский.
- Шпаргалка GitHub — это полезная коллекция скрытых функций и советов для опытных пользователей по Git и GitHub.
HTML и CSS
Многие авторы предпочитают освещать HTML и CSS в одной публикации, поэтому я укажу и то, и другое.

- Руководство Google по стилю HTML/CSS — отличное место, где можно узнать больше о лучших практиках. Руководство содержит множество правил, регулирующих стиль HTML и CSS, форматирование, метаданные и многое другое.
- Шэй Хоу «Учитесь кодировать HTML и CSS» и «Учитесь кодировать расширенный HTML и CSS» — это два простых руководства с разными кривыми обучения, что делает их подходящими для людей, желающих изучить основы или расширить свои навыки с помощью некоторых продвинутых методов.
- Если вы знакомы с HTML, но вам нужно обновить свои навыки, Dive Into HTML5 — хороший выбор. Основное внимание уделяется переходу на HTML5 и использованию новых функций, плюс вам может понравиться стиль Марка Пилгрима. Другие ресурсы HTML5 включают HTML5 Canvas, HTML5 для веб-дизайнеров и HTML5 для издателей.
iOS
Пять лет назад Apple опубликовала шесть бесплатных электронных книг для разработчиков iOS: руководство Cocoa Fundamental, язык программирования Objective-C, руководство по программированию приложений iOS, объектно-ориентированное программирование с помощью Objective-C, обзор технологии iOS и руководство по человеческому интерфейсу iOS. Книги свободно распространялись через iBookstore. Apple также предлагает дополнительные ресурсы для разработчиков, плохо знакомых с iOS, например, «Начните разработку приложений для iOS сегодня».
Настоятельно рекомендуется iOS Succinctly от Syncfusion, как и iOS 8 App Development Essentials от Techotopia.
С введением Swift Apple опубликовала всеобъемлющую книгу на 500 страниц, посвященную новому языку программирования. Название не очень образное: Язык программирования Swift.
Джава
Если вы увлекаетесь Java или JavaScript, можете считать себя счастливчиком, потому что есть десятки хороших, свободно распространяемых книг, которые вы можете использовать. На самом деле их так много, что я решил не перечислять большинство из них, потому что в конечном итоге этот пост будет выглядеть как класс Java 101.
Мышление Брюса Эккеля на Java выделяется и настоятельно рекомендуется.
Руководство Google по стилю Java обязательно к прочтению как новичками, так и ветеранами.
Переходя к другому технологическому гиганту, Sun Java Tutorials — это еще одна подборка полезных материалов по Java.
Введение в программирование на Java — это учебник Принстона, поэтому, если вы не можете позволить себе образование в Лиге плюща, вы можете, по крайней мере, использовать ту же программу. Также стоит отметить, что многие университеты мира предлагают подобные учебники, которые могут пригодиться, если вы не являетесь носителем английского языка.
JavaScript
Как я уже сказал, в Интернете доступны десятки различных книг, руководств и репозиториев кода по JavaScript, поэтому я сужу свой список до нескольких наименований.
Книга Эдди Османи «Изучение шаблонов проектирования JavaScript» посвящена оптимизации процесса обучения и упрощению понимания шаблонов JS.
Другая публикация O'Rilley, Programming JavaScript Applications by Eric Elliott, также доступна бесплатно в формате HTML.
Руководство по стилю Google JavaScript также должно пригодиться.
PHP
Поскольку PHP существует уже целую вечность, нет недостатка в бесплатных книгах и других ресурсах. Однако многие из них устарели (хотя они все еще могут быть полезны, если вы только сталкиваетесь с основами).
«Взлом с помощью PHP» (ранее «Практическое программирование на PHP») — это часто обновляемый ресурс, и в своем последнем воплощении он содержит много свежей информации о PHP 5.6.
Рекомендации PHP не требуют пояснений и регулярно обновляются.
Если вы ищете что-то, что предлагает все в одном месте, Викиучебник по программированию на PHP может быть тем, что вам нужно.
Если вы используете такой фреймворк, как Laravel, вы все равно можете найти несколько полезных бесплатных материалов, а именно официальную документацию.
Перл
Нетерпеливый Perl Грега Лондона является кратким справочным руководством. Это полезно для разработчиков, которые только начинают работать, но также могут использоваться опытными разработчиками в качестве справочного материала.
Modern Perl — относительно недавняя публикация, поэтому она идеально подходит для разработчиков, имеющих некоторый опыт работы с Perl, но нуждающихся в обновлении своего набора навыков.
O'Rilley’s Mastering Perl — не самая последняя публикация Perl, но все же хороший ресурс с большим количеством учебных пособий.
питон
Разработчикам Python повезло, потому что они могут выбирать из десятков бесплатных книг. Это вызывает проблему, потому что я не могу перечислить достаточно в этой статье. Есть ряд публикаций для новичков и закаленных в боях ветеранов, а также очень специфические нишевые материалы. Тем не менее, есть несколько очевидных вариантов, таких как публикации Google Python.
Google предлагает полный курс Python, а также руководство по стилю Python.
New Mexico Tech предлагает простое руководство по часто используемым функциям Python, которое может сэкономить время для «зеленых» разработчиков.
Книга Марка Пилгрима «Погружение в Python 3» посвящена переходу на Python 3.x, поэтому это хороший выбор для разработчиков, которым нужно освежить свои навыки.
Руби и Руби на рельсах
Ruby и Ruby on Rails — излюбленное оружие многих разработчиков, поэтому недостатка в книгах и руководствах пользователя нет.
Learn Ruby The Hard Way — это сборник упражнений, поэтому в нем используется практический подход к обучению.
Руководство по стилю Ruby, размещенное на GitHub, документирует стиль и лучшие практики.
Ruby за 20 минут — это небольшое руководство по Ruby, предназначенное для начинающих пользователей, которым нужно немного подержаться за руки.
Руководство по стилю Ruby on Rails — еще одно руководство GitHub, посвященное стилю и передовым практикам.
Ruby on Rails 4.0 Guide — это всеобъемлющее руководство, охватывающее большинство аспектов RoR 4.0.
Изучение Ruby on Rails при изменении клона Craigslist — это практическое руководство. Его могут использовать начинающие разработчики, а также те, кто имеет опыт работы с Rails.
Полезные ресурсы на расстоянии одного клика
Как я уже говорил ранее, этот список ограничен бесплатными публикациями, посвященными определенным языкам, и не охватывает специализированные темы или книги по программированию, не зависящие от языка. Если вы ищете что-то более конкретное, я предлагаю вам взглянуть на список бесплатных книг по программированию на GitHub.
Кроме того, книги — не единственный способ улучшить свои навыки. Ранее в этом году Toptal опубликовал список качественных блогов разработчиков, представленных нашим сообществом. Если вы пропустили это, пожалуйста, проверьте это. Я также предлагаю вам взглянуть на страницу ресурсов Toptal; наша команда усердно работает над расширением и обновлением всех разделов и превращением его в жизненно важный ресурс для всех внештатных разработчиков, а не только для участников Toptal.
Я также планировал написать несколько абзацев, посвященных новейшему программному и аппаратному обеспечению электронных книг, но передумал. Кроме того, наши читатели уже разбираются в различных гаджетах и знают, что им больше подходит: электронные чернила или хороший IPS LCD. В любом случае, аппаратное обеспечение не должно быть вашей главной заботой.
Лично я подумываю о покупке дешевого смартфона с двумя SIM-картами из Китая и дисплеем с электронными чернилами на задней панели. Это должно освободить место в моем рюкзаке, когда я отправлюсь на пляж; две мобильные сети, чтобы свести расходы на роуминг к минимуму, и полноценная программа для чтения электронных книг в одном устройстве — звучит практично, не так ли? Итак, все, что мне нужно, это телефон, полотенце, бутылка воды и шлепанцы (каламбур).