Технології

10 книжок, які має прочитати кожен програміст

19 жов•Буквоїд

Генеральний директор корпорації Apple був впевнений, що ця трагедія може навчити "від протилежного", як варто взаємодіяти з програмістами, щоб фірма була успішною. Напередодні щорічної google-конференції GDG Lviv Читомо запитало в одного з учасників події Олексія Чиркова, які художні книжки варто прочитати тому, хто тільки починає створювати код, або тим, хто вже на цьому з'їв не одного "равлика".

Наприкінці листопада / Туве Янссон

Саме цю, не найвідомішу книгу із "мумі-тролівської" серії, можна порадити програмістам. Події розвиваються у Долині Мумі, коли приходить осінь, і сім'я їде на море: "Одного дня на світанку Нюхмумрик прокинувся у своєму наметі в Долині Мумі-тролів і відчув, що у повітрі запахло осінню".

Це єдина книга з циклу, де нема головних героїв, вони лишаються десь "за кадром", наче "боги з машини", що створює особливу, навіть трохи апокаліптичну атмосферу.

Це світ, у якому раптом зникли головні важелі впливу й керівництва, вже нема Мумі-мами, яка, як відомо, "може виправити все, що завгодно", нема Мумі-батька, який заспокоїть сім'ю, нема навіть доброзичливого Мумі-троля,

що завжди вміє домовитися з іншими.

Проте є сором'язливий і самотній Хомса Тофт, який тимчасово мешкає у будинку сім'ї Мумі. В одній з кімнат Тофт знаходить книгу про загадкового Нумуліта, який харчується електрикою (наче справжня комп'ютерна програма!), і вирішує йому допомогти. Тофта можна назвати казковим аналогом сучасного програміста: його фантазії втілюються у життя, якщо він докладно їх продумує.

Для того, щоб допомогти Нумулітові, Тофт влаштовує грозу, однак звірятко після негоди стає великою і досить небезпечною істотою. Нумуліт приходить до будинку Мумі, стукає у вікна і лякає мешканців долини. І тоді Тофт уявляє, як чудовисько повертається у море – і це справді відбувається. Лише таким чином, "дописавши програму", Хомса Тофт рятує інших мешканців від того, що він сам створив.

So what?

Будь-якому творцю варто бути обережним із власними фантазіями та експериментами: те, що видається безпечним і зрозумілим, у певний момент може перетворитися на "нечитомий код", який неможливо контролювати.

Сталеві печери / Айзек Азімов

"Сталеві печери" – один з перших в історії детективів про роботів,

сюжетно він пов'язаний із культовою збіркою "Я, робот". Дія роману відбувається у далекому майбутньому у місті-нащадку сучасного Нью-Йорка. Земляни змушені жити в гігантських підземних містах, використовуючи енергію надр. Замість фермерських продуктів – штучно синтезована їжа, замість свіжого повітря – складна система вентиляції. Поряд з Нью-Йорком існує Космотаун – місто "спейсерів", мешканців інших планет, які контролюють Землю і всіх людей.

Невдовзі робототехніки створюють Р. Даніла Оліво ("Р." означає "робот"), що має вигляд точної копії свого творця Роя Сартона.

Мабуть, саме в цьому романі три закони робототехніки представлені "на живому прикладі", а не в абстрактній формі.

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

So what?

Насправді ніколи не знаєш, хто і що поруч з тобою. Будь-яка інша істота є загадкою, кантівською "річчю у собі" або "роботом у собі", як у цьому випадку. Однак не варто відкидати все незнайоме – нову програму, чужий код, складну комп'ютерну мову. Лише опановуючи щось нове щодня, можна досягти успіху у цій професії.

Аліса в Задзеркаллі / Льюїс Керрол

Дівчинка Аліса вирішила увійти у дзеркало і опинилася у Задзеркаллі, де світ є великою шаховою дошкою – хто ж не знає цієї історії! Однак програмістам варто перечитати її вже у дорослому віці, повірте, ви подивитеся на неї зовсім по-іншому!

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

Якщо у дитинстві у книгах Керрола нас захоплюють яскраві образи, то в дорослому віці ми починаємо відчитувати глибоку "недитячу" філософію цих творів.

So what?

Сучасний фізик Мічіо Каку порівнював дзеркало Аліси з космічною чорною дірою. Здавалося б, у чорній дірі нічого не існує, проте це не так: крізь неї можна потрапити в інший світ,

де діють незвичні для нас закони. Так само буває і з чужою комп'ютерною програмою: якщо її написано інакше, ніж ми звикли, не варто одразу лізти у код і намагатися перетворити його на "правильний" чи "ергономічний".

Можливо, ви з цим програмістом просто "живете по різні сторони", як сказала б Аліса.

Криптономікон / Ніл Стівенсон

У романі американського фантаста йдеться про діяльність двох груп програмістів з двох різних епох. Першою групою є криптоаналітики антигітлерівської коаліції під час Другої світової війни (сьогодні більшість знає про них з фільма Мортена Тильдума "Гра в імітацію"), а також деякі солдати і шпигуни. Інша сюжетна лінія пов'язана із сучасністю: нащадки попередніх героїв працюють в IT-сфері, намагаючись побудувати дата-центр у вигаданому султанаті Кінакуті десь біля Філіппін. Мета їхньої роботи – запровадити криптографічно стійку електронну валюту, яку не зможе контролювати жоден уряд, що допоможе уникнути майбутніх війн і голокостів.

Завдяки "Криптономікону" можна не лише зрозуміти принципи роботи машини Тюрінга, а й дізнатися про таємничий світ "black hat" хакерів,

завдяки яким існують, наприклад, біткоїни.

Цікаво, що Ніл Стівенсон – і сам програміст, у примітках можна знайти справжній комп'ютерний код, який використовує головний герой твору.

So what?

Будь-який комп'ютерний феномен, від біткоїнів до шифропанку, має позитивні й негативні риси. Все залежить від того, хто, як і навіщо використовує його. Програмістові важливо пам'ятати про етику професії, про яку сьогодні в Україні чомусь мало згадують.

Місто і Зірки / Артур Кларк

Дія роману відбувається у далекому майбутньому, в ізольованому від решти світу місті Діаспар. Діаспар, на перший погляд, ідеал урбаністичного поселення: місто цілком автономне і захищене, а городяни – безсмертні й забезпечені всім необхідним.

Улюблене дозвілля мешканців Діаспару – комп'ютерні симуляції, у яких можна собі дозволити справжню пригоду, адже у житті ніхто не виходить за межі міських мурів.

Однак одного дня двадцятирічний юнак Елвін виявляє, що ціле місто – це теж своєрідна комп'ютерна симуляція, з якої нема виходу.

So what?

Задовго до Бодрійяра і його симулякрів Кларк дав читачам привід задуматися про природу віртуального й реального.

Іноді варто залишити комп'ютер вдома і поїхати за межі міста, аби доторкнутися до того, що ми називаємо "реальним". На щастя, для нас це поки можливо.

Десять міст. Машиноградос / Марчелло Арджиллі

"Десять міст" – збірка італійського "підліткового" письменника Марчелло Арджиллі. Кожному місту присвячено одну главу, яка є самодостатнім оповіданням. "Поетонія", "Солдафонія", "Поліцейськ", "Олімпійськ" – це окремі всесвіти зі своїми законами та героями. "Машиноградос" варто прочитати насамперед тим програмістам, які у майбутньому хочуть брати участь у розробці роботів.

So what?

Коротке сумне оповідання, що стало основою для багатьох фільмів, порушує зовсім не дитячі питання: чи може робот стати рівним людині? Чи має цей металевий механізм почуття?

Як нам взаємодіяти із досконалими роботами? І чи варто це робити взагалі?

Напевне, не існує фанатів робототехніки, які хоча б колись про це не думали.

Вінні Пух /Алан Александр Мілн/ та Вінні-Пух і всі-всі-всі /Борис Заходер

Якщо Керрола варто перечитувати герменевтично, тобто, зосереджено й заглиблено, то "Вінні-пухів" я раджу проглядати компаративно – порівнюючи два світи,

створені різними авторами з різних країн.

Відомо, що Заходер називав свій варіант "переказом", а не "перекладом" історії про ведмедика. Крім того, простий для сприйняття текст Мілна допоможе підтягнути мову тим, хто проспав половину пар з англійської в університеті.

So what?

Два різні "Вінні-Пухи" – це ніби аналогічні програми, написані різними комп'ютерними мовами. Наче, схожі, але все ж різні. А образ слонопотама – це знайомий всім айтішникам "шрьодінбаг", тобто, помилка, яку неможливо знайти, хоча вона десь існує. Може, тоді не варто й шукати? Все одно половина функцій тримається "на магії", як ми знаємо.

Депеш Мод / Сергій Жадан

Повість українського письменника Сергія Жадана "Депеш Мод" схожа на роман Джека Керуака "У дорозі" – той самий настрій розгубленості й бажання втекти від суспільства, зануреного у консьюмеризм.

Однак книжка Жадана значно ближча для українського читача за твори "короля бітників", хоча харківський автор часто пише про речі та ситуації, яких ми воліємо не помічати.

Як і в будь-якій багатошаровій прозі, кожен знайде тут щось своє: "кльову" мову,

"пацанський гумор" без прикрас або численні пригоди, у які втрапляють персонажі.

So what?

У програмістів є поняття "хакатон" (від hack + marathon). Це своєрідний форум, під час якого розробники з різних сфер разом цілодобово працюють над рішенням певного завдання. В Україні хакатони зазвичай пов'язані з ІТ-волонтерством або освітою.

"Депеш Мод" – це також своєрідний хакатон, коли різні люди вирішують однакові проблеми і намагаються досягнути спільної мети. Завдяки "Депеш Мод" розумієш: хакатон – це не лише корисно, а й весело.

Машина відмінностей / Брюс Стерлінг, Вільям Гібсон

Фантастичний стімпанк-роман Гібсона і Стерлінга – це історія про зміну суспільства завдяки технологіям у часи вікторіанської Англії. Під час форсованої індустріалізації математик Чарльз Беббідж винаходить машину відмінностей (difference engine) – потужний комп'ютер парової епохи.

Машина Беббіджа – це своєрідний аналог Великого Брата Орвелла: вона так само спостерігає за мешканцями міста й контролює їхню поведінку. Однак навіть машині можна протистояти.

So what?

Насамперед роман цікавий тим,

що головну роль у ньому відіграє жінка – Ада Лавлейс, дочка Байрона і перший програміст в історії. Лавлейс пояснила, що таке "програмний цикл", запровадила поняття "робоча комірка" й описала алгоритм обчислення Чисел Бернуллі. Саме на честь дочки Байрона згодом назвали мову програмування Ada. Часто програмісти, на жаль, скептично ставляться до жінок у своїй професії, забуваючи, що першим програмістом була саме жінка. Отже, подолання гендерних упереджень – не останнє, заради чого варто прочитати "Машину відмінностей".

Сума технології / Станіслав Лем

Збірка філософсько-футурологічних есе польського письменника Станіслава Лема – це спроба масштабного прогнозу, "дослідження шпичаків троянд, які поки не існують", як писав сам автор.

Назва збірки є алюзією на "Суму теології" Томи Аквінського: замість всемогутнього християнського Бога в центрі цивілізаційних і культурних звершень тепер перебуває наука – новий бог, щедрий, але й небезпечний.

Через брак в шістдесяті роки праць Стівена Гокінга і Мічіо Каку саме книжка Лема відіграла велику роль у популяризації науки в цілому і математично-обчислювальних ідей зокрема.

So what?

У передмові Лем зазначив, що головною ідеєю його збірки є відмова "прийняти концепції, що постулюють винятковість нашого існування".

Лем зіштовхує нас з п'єдесталу, на якому ми звикли гордо височіти над світом. Боляче, але корисно.

Підсумки

Хороша книжка – як хороша комп'ютерна програма: вона може змінити світ. І програмісти це знають не гірше за гуманітаріїв.

Богдана Романцова

Читайте ще