Bootstrapping – що це і навіщо він потрібен?

Bootstrapping у філософії та літературі

У XIX фразеологізм “тягнути себе за ремінці черевик” став позначати нездійсненне завдання. У 1860 році термін з’явився в коментарі до одного з праць з філософії свідомості. У ньому говорилося, що спроба розуму проаналізувати себе аналогічна спробі підняти самого себе за ремінці черевик. Що це – bootstrapping? Це також можна зрозуміти як метафору, що краще самого себе собі не допоможеш. Схоже значення вона вперше отримала в 1922 році в модерністської новели ірландського письменника Джеймса Джойса “Улісс”. Ця метафора породила додаткові варіації для опису самопідтримуються процесів, які протікають без зовнішнього впливу. Відсилання до терміну bootstrapping знаходять також у творі письменника Рудольфа Еріха Распе “Пригоди барона Мюнхаузена”. У книзі є сцена, де барон витягує самого себе і свого коня за волосся. Але в цьому епізоді немає згадок ремінців черевик, і в ранніх версіях казки їх також не знайшли.

Bootstrapping в програмуванні

Що це – bootstrapping в програмуванні? Він позначає процес завантаження системи, коли вона “підтягує себе за ремінці”, тобто звертається до завантажувальним пристроїв для запуску. Послідовність початкового завантаження – це те, що починає цей процес. В цьому і полягає дилема. Bootstrapping є засобом, за допомогою якого можна вирішити проблеми з програмним забезпеченням, незалежно від машин, на яких воно встановлено. Іншими словами, воно дозволяє розділяти код і машину, дозволяючи одному фрагменту коду працювати на різних машинах. Без таких речей, як bootstrapping та компілятори, довелося б постійно переписувати програми і копіювати всі інструкції на кожну з машин. Якби комп’ютери працювали на перемикачах, тоді кожному з них знадобилася б індивідуальна схема для запуску. Bootstrapping як процес завантаження складається з декількох етапів, на кожному з яких спочатку завантажується більш проста програма, а потім вона виконує більш складну програму наступного етапу. Саме в цьому значенні комп’ютер “тягнуть себе за ремінці черевик”, тобто покращує самого себе.