![image](https://habrastorage.org/getpro/habr/post_images/805/985/bac/805985bac50d3378702b92756f5d8dcd.jpg)
В моём представлении теория и практика должны быть разделены в соотношении 20/80. Я люблю добиваться выполнения практических задач, но в то же время мне нравится изучать теорию, на основе которой я их решаю. Мои наиболее творческие идеи всегда приходят ко мне из теоретических книг. Прочитав достаточно книг по теории, внезапно множество идей выстраивается во что-то новое.
Некоторые читатели спрашивали, почему я рассказываю только про пять книг за раз. Очень просто — написание одной статьи в блог о 100 книгах сразу могло бы занять у меня несколько недель усилий. Разделяя их на маленькие части, это намного проще выполнить. К тому же, приятно ощущать прогресс по мере увеличения номера публикации.
Если вас заинтересовала серия, вы можете подписаться на RSS-рассылку моего блога и подписаться на обновления в моём твиттере.
![image](https://habrastorage.org/getpro/habr/post_images/46e/3d7/3c7/46e3d73c72345caa19eeb27e795aef51.jpg)
Итак, приступим к книгам этой недели!
#6 Избранные статьи по Информатике Дональда Кнута
![image](https://habrastorage.org/getpro/habr/post_images/e35/beb/ed1/e35bebed1be46aa9582e4bec1709b0b0.jpg)
Избранные статьи по Информатике.
Это одна из самых доступных книг Кнута. Эта книга принесла мне много наслаждения. Она написана не только для тех, кто является специалистом в предмете. Она написана для людей, имеющих образование в любой отрасли, и для её прочтения нет необходимости знать высшую математику.
Сам Кнут об этой книге говорит следующее: «Если какая-либо из моих работ заслуживает того, чтобы о ней знали все, то я бы хотел, чтобы запомнили именно эту книгу». Кнут рассуждает в ней о таких темах, как борьба с конечностью, полезность игровых проблем, теория против практики, история алгоритмов, первая компьютерная программа Фон Неймана, и о многих других.
Эту книгу необходимо иметь, если Вы хотите ознакомиться с творчеством Кнута, описанным простым языком и изучить что-то новое, не требующее много усилий.
Я только что вспомнил, что много лет назад уже написал в блоге статью о о Первом Компьютере Дональда Кнута много лет назад, основанную на одной из глав этой книги. Я даже отсканировал фотографию из этой книги, на которой изображен молодой Дональд Кнут в возрасте 20 лет, работающий на моём любимом IBM 650 (1958 год):
![image](https://habrastorage.org/getpro/habr/post_images/6c3/aea/82c/6c3aea82c1dcef099c6327cda6f749bd.jpg)
Молодой Дональд Кнут в возрасте 20 лет за своим первым IBM 650 в 1958 году.
Автор: Дональд Е. Кнут
#7 Как рассмешить Пересмешника
![image](https://habrastorage.org/getpro/habr/post_images/18d/720/c78/18d720c78d87ee2385c862fb5f21c084.jpg)
Как рассмешить Пересмешника.
Одна из самых запоминающихся и забавных книг, которую я когда-либо изучил. Эта книга учит комбинаторной логике, представляя комбинаторов в виде поющих птичек. Вы услышите пение птиц Тьюринга и отправитесь путешествовать в лес Геделя. Убедитесь, что Вы готовы к этому путешествию, — Вам понадобится много бумаги и чая, потому что эта книга захватит Вас сразу, как только вы начнете разбираться в описанных в ней проблемах. Книга будет смешить Вас, рассказывая Вам о новых птицах. Вы получите хорошую зарядку для ума. Если у Вас хватит терпения проработать все главы, в конце Вы узнаете о кодировках Чёрча (Church encoding) и теореме Гёделя о неполноте.
![image](https://habrastorage.org/getpro/habr/post_images/57e/494/30a/57e49430a6e4e529afe1c31f29d8aa3a.jpg)
Мастер лес — вход только для Элиты.
Эту книгу, возможно, будет проблематично найти, потому что она больше не издаётся. Свой экземпляр я получил много лет назад, когда она ещё была в печати. Прямо сейчас на Amazon есть 10 подержанных копий. Также она доступна на Kindle и Nook. Если Вам нужна именно печатная версия, попробуйте поискать её на Ebay или Powell. Там тоже есть несколько копий в продаже.
Автор: Рэймонд Смулиан.
#8 Опытный Комбинатор
![image](https://habrastorage.org/getpro/habr/post_images/450/7de/994/4507de994c0cd582d78f5e7b1c398835.jpg)
Опытный комбинатор.
Опытный Комбинатор — это продолжение книги Маленький Комбинатор, которую я отметил в своём списке под номером #4 в первой части серии. Эта книга написана в том же стиле, что и Маленький Комбинатор и читать её очень весело. Это диалог между Вами и авторами, но, в отличие от Маленького Комбинатора, который учит думать рекурсивно, эта книга учит думать о природе вычислений. Вы изучите приближения, продолжения и программирование в стиле передачи продолжений (Continuation-passing style, CPS), y-комбинатор (комбинатор неподвижной точки) и реализацию Вашего собственного языка Lisp на Lisp в конце книги.
Когда я читал книгу, я собирал все примеры кода и заповеди программирования на github: репозиторий-опытного-комбинатора.
![image](https://habrastorage.org/files/eb6/3fd/826/eb63fd8268b6460abb34f9a193078dc7.jpg)
Решение одной из проблем Опытного Комбинатора.
Авторы: Даниэль П. Фридман и Маттиас Феллайзен.
#9 Экспертное Прогарммирование на C
![image](https://habrastorage.org/getpro/habr/post_images/5d0/473/704/5d04737046e9ed0534003d555eeee991.jpg)
Экспертное Программирование на C.
Вернёмся к книгам по практике, — это классическая книга по программированию на C. Я изучил этот язык в совершенстве, программируя и разбирая примеры кода, не прочитав ни единого учебника, и эта книга стала моей первой книгой по C. Эта книга предназначена для людей, которые уже знают C на приличном уровне. Она представляет тонкие аспекты языка и выявляет шокирующую правду, что массивы и указатели в C — это не одно и то же. Причудам языка сопутствуют интересные истории и предположения, называемые удобной эвристикой. Она написана забавно, и исторические анекдоты тоже очень интересны.
Мне понравилось, как про эту книгу было сказано следующее: «Вы точно поймёте, что вы гик, если поймаете себя на хихиканьи над всеми весёлыми комментариями книги. То, что создал Питер ван дер Линден, является не столько книгой о C, сколько взглядом изнутри на культуру хакерства. Это образ ещё того Интернета, который когда-то почти являлся синонимом для „Аккаунт UNIX“. Эта книга даст Вам +10 очков к гиковости. Вперёд к прочтению!
![image](https://habrastorage.org/getpro/habr/post_images/86c/626/24d/86c62624d2663c21a400ed391b6c88b9.jpg)
Забавная задачка по программированию.
Автор: Питер ван дер Линден.
#10 Комбинаторные Проблемы и Упражнения Ласло Ловаса
![image](https://habrastorage.org/getpro/habr/post_images/63f/291/6db/63f2916dba5f70ddac8044a76f1ba8e0.jpg)
Комбинаторные Проблемы и Упражнения Ласло Ловаса.
Эта книга, возможно, самая продвинутая из всей серии. Но она настолько хороша, что я должен был рассказать про неё как можно раньше, в топ-10. Эта книга написана в стиле Проблема-Подсказка-Решение. Проблемы занимают первые 100 страниц, далее следуют подсказки и решения на остальных 500 страницах. Ловас начинает с простых проблем, которые может решить любой, и быстро продвигается к более сложным проблемам. В этой книги нет теории.
Периодически, когда у меня возникает желание заняться математикой, я прорабатываю пару задач, которые нахожу в ней… Я понял для себя, что стиль Проблема-Подсказка-Решение является идеальным способом для быстрого изучения новых техник, помогающих решать проблемы. Если Вы хотите повысить свои комбинаторные навыки и разобраться с теорией графов, и вы любите решать задачи, то это книга для Вас.
Забавная история — я слышал, что первокурсники, которые учатся на доктора наук (PhD) в Венгрии (родина автора книги), должны прорешать все задачи этой книги. Те же, кто не справится, — не смогут и перейти на второй курс.
Автор: Ласло Ловас.
До следующего раза!
Комментарии (22)
brainick
10.06.2015 14:46+4>>Комбинаторные Проблемы и Упражнения Ласло Ловеса<<
Комбинаторные задачи и упражнения Ласло ЛовАса, блин.
ru.wikipedia.org/wiki/Ловас,_Ласло
>>студенты-первогодки (PhD)<<
WTF??? Я то считал, что PhD это en.wikipedia.org/wiki/Doctor_of_Philosophy
>> разобраться в теорией графов<< ????
>>Проблемы занимаются<<
>>идеальным способом для быстрого для быстрого изучения <<
В общем, по всей видимости статья была написана так:
1. Случайная выборка книг с Амазона
2. Гугл-транслейт аннотаций
P.S. Надеюсь, следующего раза не будет.FractalizeR
10.06.2015 14:56У вас претензии к грамотности или к сути? С тем, что ошибки в переводе имеются и местами грубые — согласен. Но разве книги, которые описываются, не заслуживают того, чтобы их прочитали?
brainick
10.06.2015 15:51+14Ошибки в переводе не просто грубые — это ошибки, которые показывают, что автор перевода не знаком с предметной областью.
>>Если у Вас хватит терпения проработать все главы, в конце Вы узнаете о кодировках в Церквях и незавершённости теорем Гёделя.<<
кодировки в Церквях!!! — АААААААААААААААААААА!!!
Бл… дь это же Church encoding, а Чёрч это ru.wikipedia.org/wiki/Чёрч,_Алонзо
Бл… что это с Хабром творится, на главной странице долболюбы свои испражнения демонстрируют?
Интересно, а кто статью плюсует, тот прочитал то хоть ее содержание?
lari4
10.06.2015 15:14+2Это не подборка автора поста, а перевод цикла статей программиста Петериса Круминыша.
kal1sha Автор
10.06.2015 20:07-5Очень извиняюсь за все ошибки. Это мой друг делал перевод, а я ему доверял. Я не перечитал его перевод перед тем, как опубликовать, и вот результат. Я ему только что написал, что так нельзя делать перевод, и он извинился, сказал, что торопился и мозг не включил.
Я только что перечитал всю статью сам и поправил все ошибки, которые вы упомянули.
В следующий раз я сам буду делать перевод, и ошибок не будет. И я буду делать перевод по 10-20 книг, а не по 5.kstep
11.06.2015 12:14+3Нет, нет, не удержусь.
Скрытый текстМопед не мой?..kal1sha Автор
11.06.2015 19:11На этот раз не мопед. Вот блог моего друга, Вовы, devprog.ru. Он только что перевел и 3. часть (последняя статья на его блоге). Но я теперь буду внимательно перечитывать его перевод прежде публиковать на хабре, а то позор.
Myshov
10.06.2015 18:46+3Schemer — это все же не комбинатор, а человек, пишущий на/изучающий язык Scheme.
kal1sha Автор
10.06.2015 20:25-3Если честно, это зависит от того, как на это посмотреть. В моём понимании комбинатор — это человек, который много думает. А книжка как раз это и требует от читателя. И комбинатор классно звучит, почти как герой из «12 стульев». Потому мы и использовали это слово.
brainick
10.06.2015 19:06+8>> Если у Вас хватит терпения проработать все главы, в конце Вы узнаете о Церковных кодировках (Church encoding) и незавершённости теорем Гёделя.<<
Аффтар, ты кто? Я же написал тебе, что Church — это ru.wikipedia.org/wiki/Чёрч,_Алонзо
>>Мастер леса — вход только для Элиты.<<
Master forest — это главный лес, а не мастер леса.
В этой статье уже ничего не исправить — НЛО жги.
kal1sha Автор
10.06.2015 20:13-2Ещё раз извиняюсь за ошибки. Посмотрите пожалуйста мой комментарий выше. Я там написал, почему так произошло. В этот раз все ошибки исправил сам (а не друг). Теперь будем смотреть, сожгёт ли НЛО статью или нет…
kstep
11.06.2015 12:12Всё же в данном контексте не «главный лес», а «лес мастеров», на что намекает вторая половина фразы: «вход только для элиты» (то есть для мастеров).
brainick
11.06.2015 13:04В своем переводе я опирался на то, что существует The Master Forest Owners Volunteer Program www.cce.cornell.edu/learnAbout/GetInvolved/Pages/MasterForestOwners.aspx
поэтому и перевел как главный лес. Мультитран выдает www.multitran.ru/c/m.exe?CL=1&s=master+forest&l1=1 хотя, возможно, там достаточно хитрая игра слов.
sferrka
11.06.2015 08:30Друга зовут Mr. Google Translate?)
kal1sha Автор
11.06.2015 19:07-2Нет, его зовут Вова (посмотрите его блог — devprog.ru). Он только что перевел и 3. часть. Последняя статья на его блоге. Но я теперь буду внимательно перечитывать его перевод прежде публиковать на хабре.
lari4
Вы серьезно? Собираетесь перевести 20 статей по пять книг? Проще было бы дождаться выхода всех статей из этого цикла и уместить все в 1-2 поста.
kal1sha Автор
Спасибо Вам! Тоже думал об этом, если народ будет просить я так и сделаю.
miwa
Как по мне, лучше переводить описания к тем книгам, для которых есть перевод на русский язык. Кто сможет читать эти книги в оригинале, тому ваши переводы не нужны — они прочтут и оригинал от Peteris Krumnis. А кто не сможет — тому тоже переводы не особо нужны, так как кроме вашего перевода все равно больше ничего прочесть не смогут.
Punk_Joker
Хотябы книг 10-20 в статье было бы лучше.
kal1sha Автор
Да, вы правы, я подумал, и мы (вместе с другом, который делал перевод) будем ждать, пока автор напишет по 2 или 4 статьи и потом будем перевод публиковать по 10 или 20 книг.