Мій топ-100 книг по Програмуванню, Комп'ютерів і Науці: частина 1

Нещодавно сайт Fog Creek взяв у мене інтерв'ю, і одне з питань було пов'язане з моїми улюбленими книгами з програмування, кодування та розроблення програм. Мені це питання запам'ятався тому, що я давно вважаю себе завзятим книжковим ботаніком. Книжковий ботанік я тому, що шалено люблю книги про науці, комп'ютерах і програмуванні. Кожні кілька місяців я приділяю день або два дослідженню нещодавно виданої літератури і покупці найбільш вподобаних примірників. Я міг би вічно розмовляти про свої улюблені книжки. Адже у мене їх так багато.

Мене настільки зацікавило питання про книги, що я вирішив почати нову серію статей на своєму сайті catonmat про моїх топ-100 книгах про програмування, програмне забезпечення, науки, фізики, математики та комп'ютерах. У кожній статті я буду розміщувати по п'ять книжок, адже розбивати величезне завдання на маленькі підзадачі — це найпростіший спосіб їх вирішувати (GTD — get things done).

Погляньте на мою книжкову полицю, щоб переконатися, що я справжній ботанік:

image

У перой статті серії я повторю ті ж п'ять книг, що я рекомендував в моєму інтерв'ю Fog Creek. Я думаю, що серія статей буде публікуватися довгий час, тому, якщо вам це цікаво, ви можете підписатися на канал rss мого блогу або стежити за моєю творчістю twitter.

Досить розмов. Переходимо до книжок!



#1 Новий Омнібус Тюрінга

image

Книга обов'язкова до прочитання для будь-якого зацікавленого комп'ютерами. Ця приголомшлива книга складається з 66 коротких нарисів з найбільш важливим і цікавим комп'ютерним таким темам, як компресія, машини Тюрінга, формальна граматика, необчислювані функції, і нейронні мережі. Книга написана повсякденною простою мовою і майже не містить математики. Це моя найулюбленіша книга.

Автор: Олександр K. Дюдни.

#2 Маленька книга про Семаформах (безкоштовний pdf)

image

Ця книга вчить тому, як думати многопоточно і вирішувати проблеми синхронізації. Я дуже рекомендую його, особливо якщо ви самоучка. Вона веде читача крок за кроком через серію класичних і не дуже проблем синхронізації. У ній дуже цікаво вирішуються дані проблеми, і я рекомендую її всім з тих пір, як вперше познайомився з нею.

Автор: Аллен Б. Дауні.

#3 Перлини програмування і Ще більше перлин програмування.

  • image
  • image


Перлини програмування і Ще більше перлин програмування.

Класична книга з програмування. Джон Бентлі знає, як писати чітко і з ентузіазмом про алгоритми. Ці книги вічні, і вони вчать читача, як розбиратися в проблемах, вирішувати їх по частинах і ефективно реалізовувати рішення. Ти зможеш пройти співбесіду в Google, якщо прочитаєш ці дві книги.

Автор: Джон Бентлі.

#4 Маленький комбінатор

image

Маленький комбінатор дає трошки знань про LISP самим що ні на є забавним способом. Книга — це діалог між тобою і автором про сотні дрібних програмних комбінацій, який крім іншого вчить читача думати рекурсивно. Ця книга змусить Тебе думати і трохи розширить Твою свідомість. Це одна з найцікавіших книг програмування з коли-небудь написаних.

Автори: Деніел П. Фрідман і Матіас Фелайзен.

#5 Елементи стилю і Елементи стилю програмування

  • image
  • image


Елементи стилю і Елементи стилю програмування.

«Елементи стилю» — це книга не зовсім про розробку або програмуванні, а скоріше про вміння писати. Якщо хочеш бути успішним програмістом, необхідно спілкуватися так, щоб іншим людям було зрозуміло, а відповідно і навички письма просто необхідні. У книзі всього 100 сторінок і її можна прочитати за один вечір. «Елементи стилю програмування» — класична книга з програмування від Кернигана, на форму цієї книги дуже сильно вплинула книга «Елементи стилю». Це стара книга, але здебільшого все, чого вона вчить, застосовується і сьогодні. Вона складається з 70 правил програмування, таких як «пишіть зрозуміло, — не намагайтеся здаватися занадто розумними»; «говорите, що ви хочете просто і точно»; «вибирайте спосіб подання даних, який робить програму простий»; «дозвольте даними формувати структуру програми».

І як бонус, я рекомендую мою власну книгу 'Perl One-Liners', опубліковану видавництвом No Starch Press. Моя книга вчить тому, як швидко отримувати результати з допомогою командного рядка на мові Perl. Швидка робота з командним рядком заощадить Вам тисячі годин на протягом всієї вашої кар'єри. Як тільки Ви вивчіть one-liner'и, ви почнете вирішувати швидкі одноразові завдання миттєво. Я бачив розробників, які витрачають години на написання програм для завдань, які можна виконати за 20 секунд з допомогою one-liner'а. Не будьте такими розробниками.

image

Я сподіваюся, що Вам сподобалися мої рекомендації по першим п'яти книг. Прошу Вас поділитися зі мною своїми улюбленими книгами в коментарях. До наступного разу!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.