Читать книгу Неординарні. Історії успіху - Малкольм Гладуэлл - Страница 11
Неординарні
Історії успіху
Частина перша. Можливість
Розділ другий. Правило десяти тисяч годин
У Гамбургу нам доводилося грати по вісім годин поспіль
3
ОглавлениеПовернімося до Білла Джоя. Надворі 1971 рік. Білл Джой – високий, незграбний. Йому 16 років. А ще він – математичний геній, саме такий студент, яких сотнями приваблюють МТІ, КТІ або Університет Ватерлоо. «Малим хлопчаком Білл хотів знати все про все на світі ще навіть до того, як дізнався, що хоче знати, – пригадує Вільям, його батько. – Ми давали відповіді, коли могли. Якщо ж не могли, просто давали йому книжку». Коли настав час подавати документи на вступ до коледжу, Джой дістав високі бали з математики на Академічному оцінювальному тесті. «Складно не було, зовсім ні, – каже Білл сухо. – Була купа часу все перевірити двічі».
Він надзвичайно обдарований. Проте міркування на цьому не завершується. Ніколи. Ключем до його розвитку є те, що він надибав ту непримітну будівлю на Біл-авеню.
На початку 1970-х, коли Білл лише дізнавався про програмування, комп’ютери були розміром з кімнату. Єдина машина (яка насправді мала менше пам’яті й потужності, ніж зараз має ваша мікрохвильовка) могла коштувати аж мільйон доларів – причому за курсом 1970-х років. Комп’ютери були рідкістю. Якщо вдавалося знайти, то складно було дістати доступ до нього; якщо ви все ж здобували доступ, то знадобилося б ціле багатство, щоб узяти його в оренду.
До того ж саме програмування являло собою дуже виснажливу справу. То були часи, коли комп’ютерні програми створювалися на картонних перфокартах. Кожна стрічка коду була відтиснена на картці за допомогою клавішного перфоратора. Складна програма могла включати сотні, якщо не тисячі таких карток у високих стосах. Щойно програму було завершено, ви йшли до будь-якого комп’ютера, до котрого мали доступ, і передавали стоси карток оператору. Оскільки комп’ютери тоді могли впоратися лише з одним завданням за раз, оператор призначав час для вашої програми і, залежно від того, скільки людей очікувало перед вами, ви могли отримати картки лише за кілька годин, ба навіть через день. Якщо ви припустились єдиної помилки – навіть типографської – у своїх картках, то мусили забирати їх назад, знаходити помилку й лише тоді починати все із самого початку.
За таких обставин надзвичайно складно було стати експертом із програмування. І, звичайно, стати експертом до двадцяти років взагалі неможливо. Коли ти можеш «програмувати» лише протягом кількох хвилин з кожної години, що її проводиш у комп’ютерному класі, як навзагал можна назбирати ті десять тисяч годин? «Програмування з картками, – згадує один тогочасний науковець, – не навчало програмування. Воно навчало терпіння й точності».
Розв’язання проблеми програмування прийшло лише в середині 1960-х років. Комп’ютери нарешті стали досить потужними, щоб виконувати більше від одного «завдання» за раз. Якщо операційну систему можна переписати, зрозуміли програмісти, час машини можна розподілити, тобто комп’ютер можна навчити виконувати сотні завдань одночасно. А це, своєю чергою, означало, що програмісти більше не мусять фізично передавати стоси карток операторові. Можна збудувати десятки терміналів, поєднати їх з ЕОМ телефонною лінією, тоді всі зможуть працювати – он-лайн – одночасно.
Ось як одна історія того періоду оповідає про розподіл часу:
Це була не просто революція. Це було справжнісіньке одкровення. Можна забути про оператора, купи карток, очікування. З таким розподілом часу можна було сидіти при телетайпі, вводити кілька команд і діставати відповіді тут і зараз. Розподіл часу був інтерактивним: програма могла запитати, зачекати, поки ви її введете, опрацьовувати, доки ви чекаєте, й показати результат. І все це в «реальному часі».
Тут до гри долучився Мічиґан, оскільки Мічиґанський університет був одним з перших університетів світу, що перейшов на систему розподілу часу. Уже на 1967 рік розроблено та використано прототип такої системи. На початок 1970-х Мічиґан володів достатньою комп’ютерною потужністю для того, щоб сотня людей могли одночасно програмувати в комп’ютерному центрі. «Наприкінці 1960-х – на початку 70-х навряд чи було ще якесь місце, схоже в цьому плані на Мічиґан, – сказав Берні Геллер. – Можливо, МТІ, можливо, Університет Карнеґі-Меллон. Можливо, ще Дартмутський коледж. Сумніваюся, що були інші».
Саме така можливість очікувала на Білла Джоя, коли восени 1971 року він прибув до кампусу Енн-Арбор. Він не обрав Мічиґан через комп’ютери. У старшій школі він не мав до них діла. Джоя цікавила математика та інженерія. Проте, коли на першому курсі він підчепив вірус програмування, то опинився – за найщасливішим випадком серед усіх – в одному з нечисленних місць на Землі, де 17-річний юнак міг програмувати геть усе, що бажав.
«Знаєте відмінність між картками й розподілом часу? – запитує Джой. – Це однаково що грати в шахи поштою та у звичайні шахи. Програмування більше не було прикрим розчаруванням. Воно перетворилося на задоволення».
«Я жив у північному кампусі; комп’ютерний центр розташовувався саме там, – каже Джой. – Відгадайте, скільки часу я там проводив? Надзвичайно багато насправді. Центр працював двадцять чотири години на добу. Я перебував там усю ніч, і лише зранку йшов додому. Протягом середньостатистичного тижня у комп’ютерному центрі я проводив більше часу, ніж на заняттях. Усі, хто був у центрі, періодично забували з’являтися на заняттях узагалі, не розуміючи, що нас реєструють».
«Проблема полягала в тому, що студентам видавали рахунок з фіксованою кількістю грошей, а тоді час вичерпувався. Коли ти заходив у систему, повинен був ввести, скільки часу хотів провести за комп’ютером. Давали, скажімо, годину часу. Ось і все, – розповідає Джой, усміхаючись своїм власним спогадам. – Одного разу хтось зрозумів, що якщо ввести „час дорівнює“, а тоді букву, наприклад t = k, то гроші не знімаються. То був баг у програмному забезпеченні. Можна було ввести t дорівнює k і сидіти там довіку».
Лише поцінуйте огром можливостей, що судилися Біллові Джою. Позаяк він вступив до такого далекоглядного навчального закладу, як Мічиґанський університет, то дістав змогу тренуватися на системі розподілу часу замість перфокарт; мічиґанська система мала помилку, він міг програмувати усе, що хотів; університет хотів витрачати гроші на те, щоб комп’ютерний центр був відчиненим двадцять чотири години на добу, Джой міг залишатись там усю ніч; а ще він міг витрачати на програмування скільки завгодно годин, отож коли дістав змогу переписати ЮНІКС, був до цього завдання готовим. Білл Джой був винятковим. Він прагнув навчатися. І це мало велике значення. Однак, перше ніж він зміг стати експертом, хтось мусив дати йому нагоду навчитись, як цим експертом бути.
«У Мічиґані я програмував годин вісім або десять на добу, – веде далі Джой. – До того як я потрапив у Берклі, уже робив таке і вдень і вночі. Удома мав термінал. Я не спав до другої чи третьої ранку, переглядав старі фільми та програмував. Часом і засинав при комп’ютері, – він показує, як його голова падала просто на клавіатуру, – і знаєте, як клавіша натискається ще і ще, а тоді вищить? Після того як це повториться тричі, слід іти спати. Навіть коли я вступив до вишу в Берклі, ще був не надто компетентним. Досвідченим я став десь на другий рік навчання. Саме тоді я написав програми, що їх досі використовують, – а минуло вже тридцять років». Він замовк на мить і порахував подумки – у таких, як Білл Джой, це не забирає багато часу. Мічиґан був 1971 року. Цілеспрямовано програмувати почав на другому курсі. Додайте літній час, дні й ночі протягом першого року в Берклі. «Це п’ять років, – каже він, зрештою. – І я цим не займався, коли лише вступив до Мічиґану. Отож, мабуть, таки десять тисяч годин? Приблизно так».