DOU Books: 5 книг, которые советует Всеволод Дёмкин
Когда меня просят дать рекомендации книг, я обычно затрудняюсь ответить, потому что в последние годы очень мало читаю именно книги. В основном это отдельные главы, статьи, блог-посты и переписки. Такой вот ADHD. Или просто формат книг отживает свое, так как трудно собрать столь большой объем текста, чтобы он был равномерно полезен и интересен. Но когда-то ведь жизнь была более размеренной и можно было позволить себе почитать книжку. :) Так или иначе, несколько книг за свою жизнь я таки прочел и даже, если покопаться, оказывается, могу порекомендовать кое-что.
Practical Common Lisp. Peter Seibel
Можно сказать, что эта книга во многом предопределила мою специализацию в программировании, поскольку встретил и прочитал я ее тогда, когда как раз находился на этапе поиска: будучи глубоко разочарованным тем, что предоставлял на тот момент мейнстрим, я знакомился с его альтернативами (например, популярные тогда скриптинговые языки TCL, Perl и Python). И парадигма, которую открыла мне эта книга, не только оказалась именно тем, что я искал: «естественной» для меня и дающей ответы на те проблемы, которые меня волновали,— она еще и вернула мне веру в программирование и дала вдохновение, которое я продолжаю ощущать до сих пор. Так сказать, вернула «The Joy of «Programming», как называется популярная серия книг по разработке от издательства Manning. И хотя книга была написана больше 10 лет назад, она, как и многое связанное с Лиспом, сохраняет свою актуальность до сих пор, о чем я могу судить по отзывам, которые слышал даже в этом году. Еще про нее есть хороший анекдот, рассказанный одним из технических директоров компании ITA Software (поисковик авиабилетов на Lisp’е, который был куплен Google за $1 млрд): что их способ найма Lisp-разработчиков заключался в том, чтобы найти программиста с хорошей базой, дать ему эту книгу и через 2 недели вовлекать в работу над продакшн-системой.
Beautiful Code — Leading Programmers Explain How They Think. Andy Oram, Greg Wilson
Эту книгу, а, точнее отдельные главы из нее, я рекомендую чаще какой-либо другой технической книги. И даже как-то написал ее небольшой обзор. Вообще, я очень люблю этот формат историй от выдающихся людей (в данном случае, программистов), которые позволяют понять их взгляд на вещи, а также расширить кругозор в разработке и получить небольшой превью тех областей, до которых пока не доходили руки. Эта книга — объемная и, конечно, не все главы в ней одинаково интересны, есть и откровенный треш, как на мой вкус. Но если вы хотите лучше понять программирование, у вас есть время и нечего почитать, то это то, с чего стоит начинать.
Lisp Hackers — Interviews with 100x More Productive Programmers. Vsevolod Dyomkin
В продолжение тем Лиспа и историй от программистов я хотел бы заняться наглым самопиаром и рассказать также о своей книге в этом ключе. Как видите, я, действительно, люблю этот формат, и несколько лет назад мне пришла на ум мысль сделать серию интервью на своем блоге с Лисп-программистами, которые меня вдохновляли. Все они отвечали по имейлу на десяток вопросов, который касался Лиспа, инструментария разработки, их личного профессионального пути и мудрости, которой они могли бы поделиться. Результат вышел интересным и получил теплый прием в сообществе, что натолкнуло меня на идею «увековечить» эти 14 интервью в виде книги и опубликовать на самиздат-сервисе Leanpub. Сейчас книгу прочитало почти 10 тысяч человек и даже отправило мне около тысячи долларов в качестве благодарности :)
The Daemon, the Gnu, and the Penguin. Dr. Peter Salus
Это книга об эволюции, пожалуй, самого значительного явления в истории нашей индустрии — Unix (и сопутствующего ему движения Open Source). Как и любая грандиозная история, она очень занимательна и полна перипетий, порожденных человеческой глупостью, жадностью и завистью. Тем важнее изучать ее, чтобы не повторять тех же ошибок, а, наоборот, «стоять на плечах гигантов». Я размышлял о книгах по Unix, которые мог бы порекомендовать (например, The Art of Unix Programming), и пришел к выводу, что ценность Unix не только, и не столько в конкретных технологических решениях (о некоторых из которых, кстати, можно прочитать в Beautiful Code, а о некоторых — со знаком минус в The UNIX HATERS Handbook). А именно в истории человеческого взаимодействия и того, как на его основе создаются серьезные программные проекты. И урок Unix’а в этом смысле, пожалуй, интересней того же Mystical Man-Month или Peopleware.
Бхагават-Гита как она есть. А.Ч. Бхактиведанта Свами Прабхупада
Наконец, я подумал, что этот список не должен ограничиваться только технологиями. Ведь нужно же понимать, что делать с человеческой глупостью, жадностью и завистью. Эту книгу должен изучить каждый культурный человек, поскольку она излагает наиболее глубокую и научно-обоснованную (да-да, хотя и не в смысле экспериментальной теории, но как четкую логически-структурированную непротиворечивую аксиоматическую систему) картину мира и нашего места в нем, которую, к сожалению, не изучают в школе или университете. В лучшем случае о ней слышали как о мифе и старинном эпосе. Хотя истины, изложенные в Гите, находятся вне исторического контекста и актуальны для любой эпохи, любого человека и обстоятельств. Ну и, теперь вы будете точно знать ответ на вопрос, какую книгу взять с собой на необитаемый остров. ;)
Прочитав этот список, я пришел к выводу, что книги, попавшие в него, объединяют два свойства: они делятся опытом (а не просто передают информацию или знания) и вдохновляют. Вдохновляют программировать, творить и, в конце концов, жить. Возможно, именно это сейчас является подоплёкой для создания хорошей книги.
Не пропустіть результати зарплатного опитування — підписуйтеся на Telegram-канал редакції DOU
До обраного В обраному 0
Схожі статті DOU Books: 5 книг, которые советует Денис Резник, Data Architect в IntappЯ остановился на тематике: «Книги, которые как-то на меня повлияли». Многие из них я читал прям очень давно, но о том, что напишу в подборке, помню до сих пор. Поехали. 11
DOU Books: 5 книжок про дизайн-рішення від Андрія Русакова, Principle Experience Designer у SoftServeЦі п’ять книжок спрямовані показати, що дизайн створює не тільки візуально естетичний образ, а ідентифікує проблеми, формує задачі і їх ефективне рішення у візуальній формі.
5 книжок, які допомогли зрозуміти зміни у світі, від Павла Кузнєцова, Sr. Product Manager ZalandoПід час карантину ми помітили багато змін у світі. 6
Подкаст DOU #37
45 коментарівпочитал Beautiful Code. хуже книгу просто не придумаешь, описывается либо очевидное, либо нафиг никому не нужное, что там за глава могла понравится хз
Ну значит в этой ситуации мы просто наше к уже здесь наши полномочия всё. окончены.
— А какие книги ты взял бы с собой на необитаемый остров? Я взяла бы Пруста, Бланшо, Маркеса и Бодлера. — Я взял бы книги по сельскому хозяйству, ботанический атлас, и медицинский справочник. А ты умрешь.
Сурвайвалисты. Необитаемый остров потому и необитаемый, что там нельзя заниматься сельским хозяйством иначе его бы заселили хомо сапиенс. Медицинский справочник без лекарств бесполезен, а атлас тоже малополезен. Надо питаться тем, что и другие приматы. Ах, нет приматов? Тогда для вас вообще плохие новости.
Все мы умрём. И перед смертью окажется очень важным то, о чём написано в Гите.
Неа, когда мы помрем уже нифига важно не будет.
Когда помрёшь — да — пойдёшь следующий круг мотать. Важно будет в миг перед.
Ммм.. почем такая трава за килограм?
Что примечательно — такую траву насыпают, только руки подставляй.
Спойлер: они оба умрут, но первая хоть почилит с любимыми книгами.
Кстати, только сейчас подумал — а зачем на необитаемом острове книга про человеческую глупость, зависть и жадность? Ведь кроме самого «робинзона» на острове не будет других глупцов, жадин и завистников.
Ждём рекомендаций читать книги по дианетике от рубистов и литературу по каббалле от программёров на джаве.
Ну. а пэхапешники, скорее всего начнут раздавать брюшюрки от Свидетей Иеговы.
Класс, вдохновляющая статья, обязательно что нибудь прочту из этого списка :) Спасибо за то что поделился с нами хорошими книгами. (y)
А де SICP? Занадто початкового рівня чи тому що Scheme?
За фоматом можна було порекомендувати тільки 5 книг :) Є ще багато чудових і цікавих книг, які фізично не могли потрапити до цього переліку, і SICP — безумовно, одна з них, але не моя улюблена.
О, Сева, ты кришнаит? Не знал
Ну, на це питання складно от так відповісти всеохопююче. Бо велика частина відповіді лежить в психологічній та соціальній площині.Якщо говорити суто про «технічну» частину: CL — більш стабільна та відточена мова з декількома якісними реалізаціями (з опен сорс — SBCL), які генерують досить швидкий нативний код (одні й тіж програми, написані на різних динамічних мовах, як правило, будуть найшвидшими саме в CL реалізації) і найбільш просунутим інтерактивним середовищем розробки. Мої програми на CL працювали з достатнім рівнем швидкодії у досить навантажених серверних сценаріях, в яких той же Python чи Clojure, мабуть, не змогли б задовольнити вимогам швидкодії. Втім, є сценарії (напркилад, низькорівнева real-time обробка), в яких CL не дає достатнього контролю для оптимізації (є приклад стартапу Teclo, які намагались реалізувати в CL власний мережевий стек для оптимізації мобільних мереж, але змушені були таки перейти на C++). В той же час, екосистема бібліотек в CL в деяких випадках відстає (іноді доводиться самому трохи влазити і доробляти, хоча це і буває цікавим :). Основна технічна перевага Clojure — це гарна інтеграція у Java-платформу (звісно, там, де це потрібно) і, відповідно, легших доступ до великого набору бібліотек Java екосистеми. Якщо говорити про інші цікаві технології Clojure, то всі вони або є в CL, або досить легко можуть бути відтвореними в ньому при потребі, а от навпаки — не завжди. При цьому, звісно, Clojure трохи більш «елегантна» в тому сенсі, що в CL є деякі артефакти його історичного розвитку, які можуть дратувати, хоча це і поверхневе, на мою думку, і не сильно впливає на загальний досвід використання. Накінець, суттєвою різницею на стику технологічному та соціальному є те, що Clojure як мова розвивається, а CL — ні (і не буде). В залежності від контексту та ваших преференцій це можна розглядати і як недолік, і як перевагу. Перевага в тому, що програми, написані 15 років тому, все ще спокійно запускаються і працюють, а розвивати потрібні можливості цілком можна на основі існуючого стандарту (в бібліотеках та всередині реалізацій), але і недоліки в цьому, звісно, теж можна знайти.Якщо ж говорити про нетехнологічні моменти, то тут можна легко піти у бік холівару. Звісно, з точки зору зовнішнього сприйняття, використання Clojure може бути подане як рішення взяти перспективну нову технологію, в той час як CL виглядає як мертва мова (хоча це, звісно, не так: на ньому продовжують цілком успішно програмувати у Гуглі і ряді інших компаній, є певна достатня кількість ентузіастів у світі).Загалом, CL як екосистема — дуже не типова. Вона, так би мовити, найбільш децентралізована і демократична серед усіх мовних спільнот. Навіть, мабуть, це можна назвати анархічною спільнотою. Тому її розвиток відбувається трохи за іншими законами, які треба зрозуміти, звикнути до них і прийняти, або буде не комфортно :)Тобто, якщо обирати CL для свого проекту, треба розуміти, що не так багато людей це підтримають і зрозуміють, і ще менше будуть готові до нього долучитись у разі потреби розвивати команду.
Щас бы сектантскую литературу на ДОУ рекламировать!Хотите ознакомиться с индуизмом — почитайте «исходники» Бхагават-Гиты, прочтите Махабхарату и Рамаяну, притчи, наконец, но зачем читать сектантскую адаптацию?
Если вы загляните в книгу, то увидите, что там как раз есть исходники (оригинальный санскритский текст и пословный перевод). А какое издание «исходников» Бхагават-Гиты вы читали, можете дать ссылку?
bhagavadgita.ruА вот глава из книги Дворкина о сектах про кришнаитов (речь идет именно об Обществе Сознания Кришны — те чувачки, которые и ассоциируются в народном сознании с «кришнаитами», хотя их много. Как раз эту секту и основал Прабхупада):pravbeseda.ru/. ndex.php?page=book&id=917
Настырная православность Дворкина тоже довольно сильно раздражает, но о сектах он написал отличную книгу.