Must read: 5 обязательных книг для разработчика

bookshelf

«Учиться, учиться и еще раз учиться!», — провозгласил известный советский вождь. Другой, не менее известный, добавил: «Кто не осваивает науки, тот осваивает Сибирь». Мы вас, разумеется, в Сибирь не отправим, но к книгам обратиться все же советуем. Cпециально для этого разработчики «Фабрики Приложений» рассказали о пяти важных книгах, без которых программист не программист.

Питер Сейбел «Кодеры за работой. Размышления о ремесле программиста»

YAnckSmPt7gЭта книга — сборник интервью, взятых у 15 великих программистов. Каждый рассказывает как начинался его путь в IT, какой первый язык он изучал и как развивалась его карьера. Своими собеседниками автор выбирает настоящих легенд. Это Кен Томпсон, создатель UNIX, Берни Козелл, участник первой реализации сети ARPANET, Дональд Кнут, автор классических трудов «Искусство программирования»,  Брендон Айк, создатель JavaScript, Джо Армстронг, создатель языка Erlang, Дуглас Крокфорд, автор JSON и утилиты JSLint. и многие-многие другие. Благодаря их рассказам любой разработчик, независимо от опыта и стека технологий, сможет соприкоснуться с духом того времени, прочувствовать и пережить успехи и ошибки рассказчика. Это уникальный шанс познакомиться с жизненными историями людей, которые прошли путь от начинающих программистов и выросли до грандиозных высот.

Цитата:

Реализация чего-нибудь — сильный мотивирующий фактор. Рекомендую всем. Хотите понять Си — напишите для него компилятор. Хотите понять Лисп — напишите для него компилятор или интерпретатор. Некоторые говорят: «Компилятор — это же так трудно». Совсем нет. Это легко. Есть масса мелочей, которые не трудны и которые нужно освоить. Надо разбираться в структурах данных. Надо разбираться в хеш-таблицах и в парсинге. В генерировании кода. В техниках интерпретации. Каждый из этих предметов не особенно сложен. Начинающие думают, что это все большие и сложные темы, и поэтому к ним не подступают. Все, что вы не делаете, трудно, все, что вы уже сделали, легко. Люди даже не пытаются ничего делать, и я думаю, это ошибка.

Брайан Керниган, Деннис Ритчи «Язык программирования C»

wddMcJ-zmJoОбязательная к прочтению книга для всех кто пишет на C. Руководство по языку, написанное его создателями. Материал начинается с самых основ и завершается рассмотрением реализации программных интерфейсов UNIX. Книга прекрасно подойдет как в роли обучающего пособия, так и практически исчерпывающего справочника. В пользу прочтения ее говорит еще и то, что она выдержала в США уже 34 переиздания. И пока C является важным в мире низкоуровневым языком, это, без сомнений, авторитетное руководство не потеряет своей значимости. Всем кто выбрал порой сложный путь разработки на C настоятельно рекомендуется иметь эту книгу на своем столе.

Цитата:

На языке, в котором чего-то не хватает, программировать всегда проще, чем на языке, который богат своими возможностями.

Одни языки создаются для решения задачи, другие — для доказательства той или иной точки зрения.

Дэвид Флэнаган «JavaScript. Подробное руководство»

Devid_Flenagan__JavaScript._Podrobnoe_rukovodstvoВсеописывающее руководство по стремительно развивающемуся языку JavaScript. В шестом издании книга пополнилась описанием современных возможностей языка, такими как WebSockets, Web Workers, LocalStorage, SessionStorage. Книга разделена на три части. Первая — основы JavaScript. Во второй части описывается клиентский JavaScript и API браузеров. Третья часть является обширным справочным руководством. В новом издании также добавлены разделы описывающие работу с библиотекой jQuery и API для создания графики на стороне клиента. Книга прекрасно подойдет как новичкам, так и опытным разработчикам, желающим привести в порядок свои знания о JavaScript.

Цитата:

Программисты, пытающиеся решать с помощью JavaScript не тривиальные задачи, часто разочаровываются в процессе разработки изза того, что недостаточно понимают возможности этого языка. Данная книга содержит всеобъемлющее описание JavaScript, позволяющее вам стать искушенным знатоком

Джон Рейсиг JavaScript.«Профессиональные приемы программирования»

85459075Не смотря на то, что русское издание книги вышло в далеком 2008 году, принципы написания кода излагаемые в ней, актуальны до сих пор. Её автор, создатель популярной JavaScript библиотеки jQuery, Джон Рейсиг на примерах показывает как писать чистый и гибкий библиотечный код. Рассмотрены объектно-ориентированные паттерны создания повторно используемых модулей, техники управления DOM и CSS, технология Ajax и инструменты отладки и тестирования кода. В конце книги имеется справочник по DOM API и событиям в JavaScript. Книга настоятельно рекомендуется тем, кто хочет писать модульный JavaScript, выжимая максимум из его объектно-ориентированных возможностей.

Цитата:

Развитие JavaScript шло постепенно, но имело постоянный характер. За прошедшее десятилетие восприятие JavaScript изменилось от простого, игрушечного до вполне уважаемого языка программирования, используемого по всему миру корпорациями и разработчиками для создания великолепных приложений. Современный JavaScript такой же, каким был всегда — цельный, надежный и невероятно мощный язык программирования.

Таненбаум Э. С., Бос Х. «Современные операционные системы»

Tanenbaum_E._S._Bos_H.__Sovremennye_operatsionnye_sistemyЭта книга — не просто бестселлер. Это целая эра, веха, эпоха в IT. Вдохновившись этой книгой, Линус Торвальдс создал Linux — ядро операционной системы GNU/Linux, являющейся на сегодня самой распространенной из свободных ОС. Эта книга расскажет вам обо всем, от самого «примитивного» устройства компьютера, и заканчивая исчерпывающими сведениями о Windows 8.1 или Android. Для закрепления материала в конце каждой главы автор размещает вопросы, что очень важно для контроля своего прогресса. Изложение материала очень подробное, автор старается ничего не упустить. Это настоящая библия программиста: 1000 страниц внятного и четкого описания всего, о чем мог бы задуматься разработчик. Must read, однозначно!

Цитата:

В Unix-системах есть команда — nice, позволяющая пользователю добровольно снизить приоритет свое процесса, чтобы угодить другим пользователям, но ею никто никогда не пользуется.