Расмус Лердорф: «Вы думаете, что 11 лет назад я решил разработать язык сценариев, которым будут пользоваться во всем мире!?»::Журнал СА 7.2006
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6186
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6896
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4178
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2986
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3791
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3801
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6295
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3150
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3445
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7261
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10627
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12347
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13979
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9108
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7063
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5373
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4603
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3412
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3142
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3388
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3010
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Расмус Лердорф: «Вы думаете, что 11 лет назад я решил разработать язык сценариев, которым будут пользоваться во всем мире!?»

Архив номеров / 2006 / Выпуск №7 (44) / Расмус Лердорф: «Вы думаете, что 11 лет назад я решил разработать язык сценариев, которым будут пользоваться во всем мире!?»

Рубрика: Гость номера /  Интервью

Расмус Лердорф: «Вы думаете, что 11 лет назад я решил разработать язык сценариев, которым будут пользоваться во всем мире!?»

В этом году Расмус Лердорф, изобретатель одного из самых популярных языков веб-сценариев, приехал в Москву вместе с разработчиком ядра PHP Андреем Змиевским, чтобы принять участие в V Международной конференции «Современные технологии эффективной разработки веб-приложений с использованием PHP».

Признаюсь, я с некоторым трепетом ждал этой встречи: человек, который одиннадцать лет назад изобрел язык, на котором сейчас пишут миллионы людей во всем мире, – это живая легенда. Но вместо этакого умудренного опытом и преисполненного сознанием собственной значимости мэтра мне посчастливилось побеседовать с очень общительным и открытым человеком.

Господин Лердорф, вы впервые в нашей стране, с чем это связано, почему именно сейчас вы приехали к нам?

Да, это мой первый визит, хотя я давно интересуюсь вашей страной. Я много читал и много знаю о России и хотел побывать здесь. Почему именно сейчас? Даже не знаю. Никакой особой причины тут нет. Я стараюсь посещать конференции, на которые меня приглашают, если есть время и возможность. Меня пригласили, была возможность приехать, и я приехал.

Вы автор-разработчик языка PHP, и в то же время один из сотрудников Yahoo!. Есть ли здесь связь? Как вы совмещаете одно с другим?

Да, несомненно, это связано. Yahoo! очень широко использует PHP, а я был его изобретателем и продолжаю много работать над его развитием. Они просто наняли меня для того, чтобы я помог им с PHP.

Господин Лердорф , вы многократно говорили, что PHP – это труд очень многих разработчиков и вы всего лишь один из первых. Какова ваша роль в развитии языка, в принятии ключевых решений сейчас?

Действительно, PHP – это коллективный труд, и продукт сотрудничества многих и многих людей. И хотя кто-то, как я, работает в проекте с самого начала, имеет больший опыт, написал больше кода, чем новые люди, такого человека, который говорит всем «да» или «нет» по поводу тех или иных решений, просто не существует. И уж, конечно, я не тот человек. Люди, которые пишут код, выполняют основную работу, именно они в конечном итоге вырабатывают и принимают коллективное решение о том, что включать в конечный продукт. Подчас это бывает очень нелегко. Мы помногу раз возвращаемся к обсуждению одного и того же. Спорим, убеждаем друг друга. Это очень живой процесс. Но я не говорю решающего слова. Я не был таким человеком все эти годы и не являюсь им теперь. Я часть группы, часть сообщества, которое принимает решение. PHP – это большой коллективный проект, который я не смог бы сделать в одиночку, без помощи других людей.

С момента выхода PHP-3 до PHP-4 прошло довольно много времени, и визуальная разница между этими версиями языка для пользователя весьма ощутима. Так же много времени и различий отделяют друг от друга PHP-4 и PHP5. На первый взгляд основное отличие будущей версии – исключительно во встроенной поддержке Unicode. С точки зрения конечного пользователя, эта смена версий может показаться не настолько очевидной. Что вы можете сказать об этом?

Смена версии происходит всякий раз, когда у нас накапливаются достаточно серьезные изменения в коде. И внедрение поддержки Unicode относится именно к таким.

Кроме того, номер версии – это не только цифра для конечного пользователя. Это завершение некоторого этапа для людей, которые создают код PHP. И мы должны это четко обозначить.

Да, различия между третьей и четвертой или четвертой и пятой версиями на первый взгляд более наглядны, чем те которые мы планируем для PHP?6. Но в действительности они грандиозны. Мы проделали очень большую и качественную работу для всех тех, кто использует PHP.

Дело в том, что проблеме Unicode посвящено множество внешних расширений и частных решений. Теперь же мы, наконец, смогли встроить непосредственно в PHP, и внутренние различия между 5-й и 6-й версиями очень велики. Эти изменения могут отразиться на разрабатываемых программах. В рамках одной версии мы стараемся соблюсти преемственность в поведении программ. Если что-то работает у вас в версии 5.1, то оно будет работать и в версии 5.2 и в версии 5.3. Таким образом, мы добавляем новые модификации и исправления. Но все это допустимо только до тех пор, пока не происходит качественный скачок. И этот скачок – PHP-6.

PHP все время сравнивают с другими языками и технологиями – ASP, JSP, Python или Ruby On Rails. А кого вы сами видите в качестве главного конкурента? На что ориентируетесь при выборе стратегии развития языка?

Наша основная цель – решение повседневных проблем, возникающих в Web. И мы создаем средство для решения таких проблем и всегда фокусируемся на том, чтобы решить возникшую проблему, а не на том, как это будет укладываться в какую-нибудь концепцию развития языка. Конечно, есть другие подходы, и другие инструментальные средства строятся совершенно иначе. Там люди могут проделывать массу работы для того, чтобы ответить, например, на вопрос: «Как мне решить эту задачу с помощью Python?» Поскольку Python – универсальный язык и с его помощью можно делать массу различных вещей, в нем зачастую не так просто найти односложный ответ на конкретную задачу.

Это общая проблема универсальных языков. Поэтому я не вижу с их стороны прямой конкуренции. Есть люди, которые любят PHP и которые любят путь понятных и простых PHP-решений для веб-задач. И они вряд ли получат его в других языках. Я люблю PHP именно за понятность.

То есть наше внимание всегда сосредоточено собственно на Web и возникающих в нем типовых задачах. Конечно, вы можете делать с помощью PHP и другие вещи, но для нас, как разработчиков, первоочередной целью остается именно эта. И такой подход несомненно привлекает к нам нашего пользователя. Не думаю, что мы его потеряем. Так что в действительности я не очень забочусь о сравнении нашего развития с другими языками и инструментальными средствами. Не думаю, что они могут предложить что-то существенно проще и эффективнее, чем то, что мы делаем в PHP.

PHP-5 – это объектная ориентация. Это поддержка классов, использование шаблонов программирования, внедрение статистических методов и т. п. Вместе с тем довольно долгое время PHP был скорее процедурным языком. К чему больше тяготеете вы сами? К процедурному или объектно-ориентированному подходу?

Я использую смесь обоих подходов. Мне нравится смешивать процедуры с объектами. Когда я думаю о чем-то как о целом объекте, я и делаю это объектом. Разумеется, есть люди, которые стремятся сделать свой код полностью объектно-ориентированным. Но ко мне это не относится. Для меня это примерно 50 на 50. В публичных выступлениях я часто использую процедуры, чтобы сохранить простоту и наглядность. Для того чтобы продемонстрировать какое-то действие, мне не нужен объектный код, к тому же он будет более длинным. Объектно-ориентированный слой может лежать где-то глубоко внутри, а поверх него будет существовать простой и понятный сценарий с процедурным кодом. Скажем так, в PHP никогда не было объектов ради самой идеи объектов. И это действительно отражает мой собственный подход. Можно даже назвать PHP процедурным языком с объектами.

Самая распространенная для веб-проектов платформа – это UNIX + Apache. Однако в последнее время очень много разговоров о том, что такое сочетание уже не удовлетворяет запросам веб-проектов с большим трафиком и высокой пользовательской посещаемостью. Возникают решения, построенные на основе других веб-серверов с использованием FastCGI. Что вы можете сказать по этому поводу?

У нас есть поддержка FastCGI, и, действительно, не так давно мы проделали большой объем работ в этом направлении. Кроме того, нашим основным принципом остается открытость. Если кто-то заинтересован в том или ином новом решении, он может присоединиться к проекту и реализовывать свою идею. Но, в любом случае, мы ориентируемся на большинство наших пользователей. В конечном итоге большинство использует PHP под UNIX-подобными системами и веб-сервером Apache, и первоочередные изменения и исправления делаются именно для этой платформы. В качестве примера можно рассмотреть СУБД Informix. Она может работать, скажем, под управлением ОС Novell. Но людей, использующих в такой связке PHP, будет, наверное, трое во всем мире. Да, их сообщения об ошибках будут учитываться, но рассматривать их будут в последнюю очередь.

Поэтому приоритетной для нас по-прежнему остается платформа UNIX-Apache-PHP.

То есть у себя в Yahoo! вы остаетесь верными связке с Apache, и, несмотря на большую популярность и посещаемость, вы не ощущаете проблем ресурсоемкости и т. п.?

Я не думаю, что тут вообще есть какая-либо проблема. Это работает уже много-много лет. FreeBSD и веб-сервер Apache – это очень простое, эффективное решение. И оно действительно хорошо работает.

Если не секрет, какова доля PHP-разработок в Yahoo!?

Сейчас в Yahoo! PHP используется, примерно в 80-90% процентах задач. Конечно, мы используем и C/C++ код. PHP – это верхний слой, уровень представления, уровень веб-сервера, а большая часть «тяжелой» бизнес-логики написана на С++.

Вместе с тем нельзя говорить, что Yahoo! везде и всюду использует исключительно PHP. Скорее так – почти в каждой задаче мы используем PHP на верхнем уровне, на входе и большое количество внутренних процессов, написанных на С++ под этим слоем.

Вы приехали к нам вместе с одним из активных разработчиков ядра Андреем Змиевским, и вы автор языка и по-прежнему остаетесь одним из вдохновителей проекта PHP. Что мы можем ожидать в будущем? Есть ли уже сейчас какие-то планы дальнейшего развития, новой версии?

В PHP-5 мы решали проблемы разработки веб-сервисов, переработали поддержку XML и т. п. Слишком много людей были недовольны тем, как это было решено в PHP-4, так что нам пришлось бросить все силы на то, чтобы это улучшить. И сейчас аналогичная ситуация породила необходимость PHP-6: очень многие пользователи испытывают проблемы с использованием функций mb_string и вынуждены искать обходные пути решения этих проблем. Сейчас все большее количество разработчиков стремятся сделать свои веб-проекты в полной мере интернациональными, с полноценной многоязычной поддержкой. В рамках PHP-5 это не так просто, как нам бы хотелось. И решение этой проблемы – главный мотив, главная цель PHP-6.

Вы спрашиваете меня, что будет в PHP-7? Какова следующая цель? Это все равно, как если бы вы спросили меня: «А каким будет Web? Что произойдет в Web в следующие три года?» Если бы я только знал! А вот, например: мы все заработаем кучу денег!

Я не знаю точно, в каком направлении будет развиваться Web. Думаю, он станет более интерактивным, но какая именно технология будет при этом доминирующей? Этого я не знаю. Но какой бы она ни была, PHP будет поддерживать эту технологию, потому что двигается и развивается вместе со своим сообществом и это сообщество – тысячи и тысячи людей. И каждый из них – это, маленькая лаборатория по изучению насущных проблем. И то, в чем будут заинтересованы эти люди, на то и будет нацелен PHP. Потому что само PHP и есть сообщество. Не я, не Андрей Змиевский – никто отдельно! Да, мы многое делаем в проекте, и, возможно, поэтому наш голос звучит более авторитетно, чем голос других участников. Но если завтра мы с ним сойдем с ума и начнем нести полную чушь, мы услышим в свой адрес крепкое ругательство. Точно так же, как и любой другой член сообщества. Мы должны находить взаимопонимание со всеми остальными участниками. Именно сообщество в целом и возникающие перед его членами задачи решают, куда и каким путем пойдет PHP дальше. В каком направлении пойдет Web, туда вслед за ним пойдет и PHP.

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

Вопрос, который наверняка задают вам постоянно: что автор языка вкладывал в аббревиатуру PHP?

В самом начале я назвал это Personal HomePage Tools. Постепенно люди сократили это название до PHP. В следующей версии, когда я добавил обработку форм, добавилось «FI» (прим.: от англ. form interpreter). Это было что-то вроде маленькой шутки, перефразом для TCP/IP. Чувствуете? TCP/IP и PHP/FI. Затем, когда появился PHP?3, который уже не был просто набором инструментов для домашних страничек и который можно было использовать для множества различных веб-задач, мы стали подумывать о смене названия. Но ничего удачного нам в голову не приходило. Кроме того, уже были люди, которые привыкли пользоваться сокращением PHP, и нам не хотелось их расстраивать. Так что мы просто сменили название на аббревиатуру. Больше не было Personal HomePage Tools, было просто PHP. Все эти выдумки по поводу «protected» или «preprocessed» – это глупость. Мы так и сказали людям: «Это просто PHP».

Расмус, в интервью в 2002 году вы сказали, что никогда не думали разрабатывать язык сценариев, вы делали свой маленький инструментарий, который постепенно вырос в какую-то библиотеку, которая была открытой для всех, и вот так, постепенно, все это наросло как снежный ком. Прошло уже 11 лет. Что вы можете сказать сейчас, оглядываясь назад? Не жалеете ни о чем?

Сожалею ли я о чем-нибудь? Нет, это было здорово! Конечно, никаких планов о том, чтобы создавать целый язык у меня не было. Самый-самый первый скрипт, который я написал, был очень простым и решал простые задачи. Когда меня спрашивали: «Как ты это делаешь?» – я объяснял, что написал некий простой инструмент. И я просто давал его всем тем, кто ко мне обращался. Вот так это просто распространялось, прямо с моей домашней странички. Неужели вы думаете, что одиннадцать лет назад я сел и начал обдумывать план, вроде такого: «Так, я собираюсь разработать язык сценариев, которым будут пользоваться во всем мире…»? Разумеется нет! Я просто-напросто решал те проблемы, которые передо мной возникали. Другие люди говорили, что это хорошее решение и также начинали его использовать. И вот так-то все постепенно разрасталось и разрасталось.

Перефразируя слова Линуса Торвальда, можно ли сказать, что все это было ради удовольствия?

Я бы не стал говорить, что все это было «просто ради удовольствия». Люди нанимали меня для того, чтобы решать вполне конкретные задачи. При этом я видел, что довольно часто они обращаются ко мне с одними и теми же проблемами. Постепенно у меня накопился свой, готовый инструментарий для их решения. Это получается, как песенка для рекламы: «У меня есть мое чудесное средство, детка. Бац-бац! И я решу им все твои проблемы!» – что-то типа такого.

Конечно, это было и моим увлечением. Мне все это очень нравилось. Но это также было и моей работой. Я был и разработчиком, и консультантом. То, что я делал – решал возникающие у людей проблемы. Это было не только ради удовольствия, это были реальные проблемы, которые нужно было решать. Именно так все и было!

Дмитрий Горяинов


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru