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

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

Мониторинг  

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

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

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

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

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

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

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

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

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

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

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

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

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

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

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

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

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Расмус Лердорф: «Вы думаете, что 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