Расмус Лердорф: «Вы думаете, что 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г.
Просмотров: 6237
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

02.12.2013г.
Просмотров: 3030
Комментарии: 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