Персона: творець Perl Ларрі Уолл — «великодушний довічний диктатор»



Сьогодні на «Хабре» вже був посада, присвячений дню народження творця мови Perl. Тут хотілося б докладніше поговорити про біографії і поглядах Ларрі Уолла, про його мотивації до створення мови програмування, а також навести кілька фрагментів з недавнього інтерв'ю.

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

Перші кроки
Ларрі народився 27 вересня 1954 року в Лос-Анджелесі в родині потомствених протестантських пасторів. Хлопчик ріс в невеликому містечку Брементоне в штаті Вашингтон і мріяв стати служителем церкви. Це бажання не здійснилося, але сам Ларрі вважається одним з небагатьох релігійних іменитих персон у світі програмістів.

Навчався Ларрі Уолл в християнському навчальному закладі – Тихоокеанському університеті Сіетла. У 1976 році він отримав диплом бакалавра за спеціальністю «Лінгвістика». Під час навчання і проявилися задатки майбутнього автора Perl. Протягом трьох років, будучи студентом, Ларрі працював в університетському комп'ютерному центрі.


Після закінчення університету Ларрі і його дружина (Глорія Борн) працювали перекладачами Біблії, а потім обидва вступили до аспірантури Каліфорнійського університету в Берклі. Молода сім'я лінгвістів, як і раніше бачила своє майбутнє на церковному терені.

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

Він поступив на роботу в Unisys і в Лабораторії реактивного руху NASA (JPL). Вільний час майбутній гуру займався розробкою програм для UNIX.

Perl: не за славу, не за плату
У 1987 році Ларрі Уолл створив мову програмування Perl. Він тоді працював системним програмістом в американській компанії Unisys. Цілі, які переслідував Ларрі при розробці нової мови програмування, відображені в його назві — PERL, яке пізніше стало розшифровуватися як Practical Extraction and Report Language, тобто «практичний мова вилучення даних і створення звітів».



З 1995 до 2002 року Ларрі Уолл працював в компанії o'reilly & Associates, видавця його книг. Відхід був пов'язаний з отриманням гранту Фонду Perl.

У 2004 році Ларрі обійняв посаду старшого наукового співробітника, а фактично «головного програміста» в NetLabs.

Зараз Ларрі Уолл продовжує розвивати мову Perl під патронатом o'reilly і живе разом зі своєю дружиною-письменницею і чотирма дітьми в містечку Маунтін-В'ю, Каліфорнія.

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

Коли перша версія мови вийшла у світ, Ларрі Уолл забезпечив відкритий доступ до вихідного коду програми. Будь-який бажаючий може безкоштовно завантажити та користуватися Perl незалежно від того, чи потрібен він йому для вдосконалення власної сторінки або для створення мультимилионного Інтернет-проекту.

Незважаючи на те, що в операційній системі Unix, для якої був створений Perl, вже були численні і різноманітні засоби для обробки текстової інформації (awk, csh, grep, sed та інші), новий мову полюбився величезному числу системних адміністраторів і програмістів. Він був легкий у вивченні і застосуванні: синтаксис схожий на С, Perl-програми не потрібно попередньо компілювати, вихідні тексти було легко модифікувати. А найголовніше — це був дійсно дуже практичний мова: з його допомогою легко вирішувалося більшість повсякденних завдань — від найпростіших до дуже складних.

Активно користуючись мовою Perl, програмісти з різних країн спрямовували Ларрі Уоллу пропозиції додати в нього нові можливості або поліпшити наявні. Поступово Perl перетворився із засобу обробки текстів в середовищі Unix в потужну універсальну систему програмування. В середині 1990-х років, у міру розвитку інтернету, Perl став улюбленим інструментом web-майстрів для створення динамічних сайтів і Інтернет-програмування.

Завдяки мові Perl стартував Yahoo, з його ж допомогою створений Amazon і мільйони інших сайтів.

24 грудня 2015 року в офіційному блозі, присвяченому новин розробки Perl 6, з'явилася вітальна запис. Розробники привітали всіх з наступаючим католицьким Різдвом, і з тим, що так довго очікуване дорослішання мови, нарешті, відбулося. Фактично, мова готовий до використання в робочих проектах, і розробники обіцяють більше нічого істотно не змінювати.

З моменту виходу першої версії Perl минуло майже 29 років, з моменту виходу найпопулярнішою в даний час версії Perl 5 понад 20 років. Як жартує Ларрі Уолл, творець мови і лідер його розробки, 6-а версія, можливо, коли-небудь і замінить 5-ю – приблизно років через 40.

Версія Perl 6 була анонсована більше 10 років тому – на Amazon ще можна купити книгу про цей «незабаром виходить» мова, видану в 2004 році. І хоча деякі стверджують, що 6-ка відрізняється від 5-ки не більше, ніж C++ від C, все-таки ідеологія в Perl 6 еволюціонувала досить сильно для того, щоб назвати його більш сучасною мовою.

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



Логотипом Perl 6 вибрали метелика. Як (напівжартома) пояснив Уолл на конференції у жовтні цього року, це було зроблено спеціально для того, щоб зробити мову привабливим для 7-річних дівчаток.

Питання є?
Нещодавно Ларрі Уолл дав интервью Slashdot. Наводимо кілька фрагментів з бесіди.

Яким комп'ютером ви користуєтеся? Які програми віддаєте перевагу?

Вже рік чи два я користуюся Lenovo X1 Carbon2 з 4-ядерним процесором. За винятком огидною розкладки клавіатури і майже марною ємнісний сенсорною смужки він практично ідеальний для розробки, спілкування і проведення презентацій. На ньому встановлена операційна система Linux Mint.

Що стосується редакторів… я використовую різні. У мене немає якихось конкретних переваг.

На комп'ютері я користуюся браузером Firefox, а на моєму давньому гуглфоне варто Chrome.
В роботі я б не зміг обійтися без IRC або Git.

Які найбільш важливі речі, яким потрібно приділити увагу при розробці нової мови програмування?

Важливо все. Якщо ви не розробляєте DSL (Domain Specific Language), а мова загального призначення, необхідно зробити вибір: нав'язати світові свою парадигму або реалізувати підтримку декількох парадигм. Особисто ми воліємо друге.

Навіть якщо ви зможете передбачити все, в процесі ви все одно знайдете щось, що могли зробити краще. Адже не існує ідеального мови програмування. При розробці Perl ми використовували 50-60 різних принципів, але найважливіший принцип такий: «Не існує самого важливого принципу».

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

чи Можете назвати ефективні методи управління проектами крім моделі «Великодушний довічний диктатор»?
«Великодушний довічний диктатор» (англ. Benevolent Dictator For Life, скор. BDFL) — в контексті розробки вільного, полуюмористический термін, що позначає голову або засновника проекту, який зберігає за собою право приймати остаточні рішення. Вперше термін використовувався по відношенню до Гвідо ван Россуму, творця мови Python.
Я знаю деякі успішні проекти з демократичними принципами. Але більшість людей не готові достатньо вчитися, щоб до їхньої думки можна було прислухатися.

У співтоваристві Perl я відомий як BDFL, але у мене «B» переважає над «D». Тим не менш, я веду себе як верховний суддя, ніж як генеральний директор.

IRC Чат виконує функцію конгресу: пропонує і обговорює нові ідеї. Багато рішень я делегую іншим розробникам і втручаюся тільки коли бачу варіанти, які інші не бачать. У мене є право «вето», але я намагаюся використовувати його як можна рідше. Як би сказала королева Єлизавета, я намагаюся правити, а не керувати.

Як ви ставитеся до панування англійської мови в ІТ-індустрії? Змінилося б щось, якби місце англійської зайняв мову, не пов'язане з національністю? Есперанто наприклад?

Якби такою мовою став Японський, ми б перейшли на зворотний польський запис – такий принцип реалізований в Forth і PostScript. Я не знав, що існують люди, які думають за принципом ПОЛИЗ, поки не почав вивчати японську.

З іншого боку, я радий, що це місце займає англійська. По-моєму, Есперанто все-таки більше європейський мову, ніж азіатський.

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

Так, в Perl 6 ми розглядаємо кожну графему в коді (з мов інших народів) спочатку певний символ, незалежно від того, чи використовує його Unicode-концорциум. Час виконання нашого алгоритму індексації рядків становить O(1).

Наскільки я знаю, в Swift теж реалізована підтримка рідних мов. Однак там час виконання алгоритму оцінюється тільки в O(n). Так що, Perl 6 це працює швидше.

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



Це Юнікод, дитинко!

Джерело: Хабрахабр

0 коментарів

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