Персона. Гвідо Ван Россум — творець Python

image

Гвідо ван Россум відомий як творець мови Python. З моменту створення мови Гвідо багаторазово нагороджувався різними преміями. У 2001 році він отримав нагороду за внесок у розвиток вільного програмного забезпечення від 'Free Software Foundation', а в травні 2003-го удостоївся премії 'NLUUG Award". У 2006 році йому присвоїли звання Видатного Інженера.

Вільний від роботи час Гвідо приділяє сім'ї та самоосвіти. Він великий фанат серіалу 'Літаючий цирк Монті Пайтона' (Monty python's Flying Circus), саме в честь цього шоу і було названо мову програмування Python.

Гвідо ван Россум народився 31 січня 1956 року в Нідерландах. З дитинства хлопчик захоплювався комп'ютерними технологіями. Однак спочатку його більше цікавило залізо, ніж програмне забезпечення.

Він признается, що вже не може пригадати, чому і як почав захоплюватися цим.

Але такий вибір був непопулярним серед його однокласників. Тому в класі не розуміли його захоплення «залозками». Коли Гвідо приніс у школу власний проект, нікому до цього не було діла. «Це неприємний спогад», – розповідає Ван Россум. Однак всупереч нерозуміння і несхвалення з боку однолітків хлопчик продовжив займатися своєю справою.

«У мене була велика мрія — створити свій власний електронний калькулятор з дискретних компонентів. Я так і не зробив калькулятор, але я зробив кілька цифрових годин. І як же це дивно, зробити щось складне і побачити, як це працює».

Після закінчення школи поступив в Університет Амстердама (University of Amsterdam).

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

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

«Це був дуже повільний і важкий процес, але було дуже цікаво розібратися, як воно працює», – згадує він.

З часом допитливий студент закинув електроніку і повністю поринув у премудрості програмування, так як воно в підсумку здалося йому більш цікавим. На другому році навчання Ван Россум зрозумів, що математика йому дається не надто легко. Труднощі викликали навіть такі базові дисципліни, як алгебра та інтегральне числення. Тоді він вирішив, що «серйозна математика» – не його коник.

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

Тривала підробіток

Ван Россум не міг упустити можливість влаштуватися в університетський дата-центр на часткову зайнятість. Там було зовсім мало місць для студентів. Більше того, вони брали на роботу тільки найталановитіших з них. Гвідо вдалося отримати місце. Він пропрацював там більше п'яти років, поки був студентом. Правда, його успішність почала падати. Власне, цього слід було очікувати.

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

У 1982-му році Гвідо Ван Россум отримав ступінь магістра в галузі математики та комп'ютерних науках. Після цього він працював у різних університетах і комп'ютерних лабораторіях – як у Європі, так і в Сполучених Штатах.

Python

«У грудні 1989-го року я шукав проект, який би став хобі на різдвяні канікули. Офіс з усім обладнанням не працював і, не маючи необхідних ресурсів, я почав допрацьовувати ABC, але на протязі роботи я і не думав, що може вийти щось серйозне», – згадує Гвідо.

Саме тоді у нього виникла ідея створення нової мови програмування. Мова Python був задуманий як нащадок мови програмування ABC, здатний до обробки винятків та взаємодії з операційною системою Amoeba.
Amoeba — відкрита микроядерная розподілена операційна система, розроблена групою на чолі з Ендрю Таненбаумом в Амстердамському вільному університеті. Amoeba не заснована ні на одній з існуючих операційних систем, так як розроблялася «з нуля».
image

Від інших мов програмування Python відрізнявся простотою, відкритим кодом, що надає будь-якому користувачеві можливість вносити свої корективи, і спрощеним використанням англійської. Незважаючи на те, що команди дещо відрізнялися від популярних на той момент мов, програмісти легко опановували мову і вже через кілька днів могли вільно використовувати його у своїй роботі. Серед корпорацій, які зараз використовують цю мову програмування, – Google, Yahoo!, CERN, NASA і багато інших.

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

image

На Python також написані багато популярні додатки, наприклад, безкоштовний офісний пакет LibreOffice. На базі Python були створені ще кілька мов програмування, які не отримали великого поширення.

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

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

Саме Гвідо вперше вжив до собі гумористичний титул – «Великодушний довічний диктатор» (Benevolent Dictator For Life).

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

На сьогоднішній день Python є одним з найбільш використовуваних мов програмування у світі.

Подальший розвиток кар'єри

З 2005 року Гвідо ван Россум працював в Google в якості розробника (продовжуючи присвячувати мові Python половину робочого часу). У компанії він займався створенням системи Mondrian, написаної, як нескладно здогадатися, майже повністю на мові Python.

image

Через 7 років, у 2012 році, Гвідо покинув Google для того, щоб приєднатися до хмарного сервісу зберігання даних Dropbox.

В інтерв'ю Гвідо прокоментував ситуацію так:
Після семи років роботи в Google я був готовий до будь-яких змін у навколишньому середовищі, і тут надійшла пропозиція від Dropbox. За великим рахунком моя робота не сильно змінилася. Я все ще:

• витрачаю 50% часу на те, що я зазвичай роблю згідно своєї ролі Великодушного Довічного Диктатора;
• я звичайний інженер в цій організації (не менеджер і навіть не керую групою – не Team Leader;
• часто роблю інспекцію коду (code review), розробляю архітектуру і дизайн;
• розбираю багато електронних листів;
• пишу код на Python.

Деталі роботи звичайно відрізняються. Фактично в Google я робив дві речі: спочатку два роки я працював над першим online-інструментом інспекції коду (code review) Mondrian, який хоч і не був open source, але породив Rietveld. Зараз Rietveld використовується в проектах Python, Go і Chromium. Після цього я приєднався до Google App Engine, де займався безліччю різних речей, в основному стосуються Python. Моїм останнім великим проектом був новий Python API для бази даних, NDB.

У компанії Dropbox моїм першим проектом був дизайн Dropbox Datastore API. За іронією долі (я не винен), тут теж є слово «сховище даних». Є загальні риси у сховище даних Dropbox і Google App Engine Datastore.
Python компанія Dropbox використовує для розробки своїх програм. Він був обраний Dropbox не випадково, а з тієї причини, що дозволяє суттєво спростити процес розробки.

«З самого свого заснування ми в Dropbox підтримували всі найбільш популярні операційні системи. Але таке завдання завжди представляє велику складність для розробників: кожна платформа базується на власних коштах і мовами програмування, тому доводиться писати один і той же код кілька разів», – розповідав один із засновників Dropbox Дрю Х'юстон.

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

Критика Python

Гвідо Ван Россум не погодився з критиками, утверждавшими, що Python занадто повільний. Він заявив, що його програми, написані на цій мові, завжди виходили досить швидкими.
Люди беруть інструмент і пишуть щось неймовірне, і роблять щось шалене в ході написання цих неймовірних речей. Іноді таке безумство пов'язано з купою обчислень, обходом графа з мільярдом соціальних зв'язків або аналізом трильйона повідомлень електронної пошти або чимось таким.

Рано чи пізно справа кінчається тим, що одним невеликим шматком всій створюваної системи поглинаються всі ресурси. Якщо ви простодушно оформіть його як простий пайтоновский цикл, ви побачите в кінці кінців, що він і стане вузьким місцем вашої системи. Зазвичай набагато швидше взяти цей шматок і переписати його у вигляді функції або модуля на C чи C++, ніж переписувати всю систему на більш швидкому мовою, оскільки для більшої частини того, що ви робите, швидкість мови не має значення.

Python-співтовариство і його перспективи

В одному з інтерв'ю Гвідо Ван Россум розповідав про свої стосунки з екосистемою Python.

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

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

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

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

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

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

І що будете робити, якщо залишите спільнота?

Хороше питання… Я думаю про відхід, думаю, які наслідки це буде мати для мене, для моєї родини. Але поки я ще роздумую над відповіддю на це питання.

Вас коли-небудь турбувало появу чергового перспективного мови програмування, який привертає загальну увагу?

Мене це не турбує. Я бачу цикли, по яким змінюється популярність систем, мов програмування і в цілому. Вона приходить і йде. Я не знаю, що буде з Python через 5 чи 15 років, але я впевнений в одному: Python не зникне відразу. Я сподіваюся, що мова досі має великі перспективи, він вбирає в себе нові ідеї і адаптується до нового оточення.
Можливо, на якомусь етапі з'явиться якийсь проект, який запозичить ряд ідей у Python та інших мов програмування, переробивши їх на якомусь іншому ключі.

Як змінилися перспективи Python після того, як ви відростили бороду? Наскільки успіх мови корелює з довжиною бороди?

Борода абсолютно необхідна. Подивіться на долю Perl — вся справа в ідеальному поголеному підборідді Ларрі Волла.
Джерело: Хабрахабр

0 коментарів

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