Толкієн використовував Git. Подробиці під катом

Робота програміста — це боротьба зі складністю. Один з популярних питань про хмарну телефонію — «А навіщо її використовувати, якщо можна самим взяти Asterisk, вжух, і все зробити?». Цікава деталь з практики: багато тих, хто приходить до нас після Asterisk. Тобто спершу вони приходять до нас, дивляться, що платформа коштує грошей, кажуть «так самі все зробимо» і йдуть. Через півроку повертаються зі словами «Ми зрозуміли, що хочемо займатися своїм бізнесом, а не Asterisk». Як програмісти, ми дуже любимо боротися зі складністю: замінювати Asterisk на тулбокс з JavaScript напівфабрикатами, використовувати хмарні сервіси для роботи з кодом і завданнями, ділити все на невеликі частини і експериментувати з версіями. Як виявилося, не тільки ми це любимо. В новорічні свята я абсолютно випадково прочитала про те, що у Толкієна теж був свій Git. Під катом — адаптований для Хабра переклад.



Сталося у вас так, що при читанні книги ви не могли зрозуміти, як жива людина, взагалі, може написати щось настільки геніальний? Для мене такою книжкою був «Володар Кілець». Коли я читав її, то розумів, що навіть за сотню життів не зможу написати книгу настільки багате деталями, настільки глибоке і прекрасну. З тих пір я дізнався трохи про створення «Володаря», і ці знання дозволили мені переглянути перше враження. Але найдивовижніше, як ці знання перетнулися з тим, що я багато років тому дізнався про написання комп'ютерних програм.

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

Багато разів я особисто брав участь у цій еволюції одноклітинного софта до«Кембрійського вибуху». Бачив це своїми очима. Але що я не бачив — що це наскільки схоже на написання книг!

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

Розуму потрібний об'єкт для зосередження. Кожне проміжне стан проекту є таким об'єктом. З'єднання таких станів надихає наш розум створити щось дійсно видатне. Що-небудь, що буде нести в собі ледь помітний слід того, що було на самому початку.

Давайте я розповім, як так вийшло, що «Володар Кілець» є гарним прикладом такого процесу…

Спочатку «Володар Кілець» задумувався як продовження «Хоббіта». Видавець хотів заробити ще більше грошей на популярності книги з допомогою сиквела. А «Сильмариллион» таким сіквелом не був. Так що Професор сів за роботу з метою написати продовження. І це було жахливо.

Перша версія назви була не «Володар кілець», а «Повернення тіні». Це все ще була книга для дітей. Фродо звали Бінго. Мандрівник був гобітом по імені Троттер. Більбо збирався одружитися. А кільце все ще було просто кільцем. В історії не було явно вираженого мотиву і вектора розвитку. «Що ще можуть робити хоббіти?» питав себе Толкієн. Ідея хоббітів себе вичерпала. Той «Володар кілець», якого ми всі любимо, був ще дуже і дуже далеко.

Чернетка за чернеткою Толкієн пробував і шукав напрямок для розвитку історії. Все закрутилося, коли він створив сцену з Чорним Вершником. Спочатку Чорний Вершник був Білим Вершником. Це був Гендальф, який прибув поговорити з Бінго. Але раптом сталося осяяння. Вібруюча група нейронів змовилась, і колір коні помінявся з білого на чорний, а Гендальф трансформувався в незнайомця, закутаного у величезний чорний плащ і капюшон. Новий каркас історії (англійське framework) почав створювати сам себе.

Звідки ми це все знаємо? Завдяки вдалому збігу обставин і Крістоферу Толкиену у нас є історія змін, що його батько послідовно застосовував до «Володаря Кілець». Є чудове відео Ін. Кору Олсек, де він за руку веде нас за те, що, по суті, є Git логом «Володаря Кілець». Це магія від справжнього знавця творчості Толкієна і талановитого аналітика.

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

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

Я виніс для себе підтвердження старої ідеї: будь-яка успішна велика система починається з успішною маленької системи.

Це відноситься і до письменників, і програмістів. Ваша історія або програма не зобов'язана бути приголомшливою з самого початку. Еволюція і розвиток зробить її такою.

У 2017 році цей той урок, який мені дав «Володар Кілець».
Джерело: Хабрахабр

0 коментарів

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