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

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

Интеграция Open Source-решений  

Open Source в облачной среде

Облачные решения становятся всё более популярными в мире. Компании стремятся использовать их для

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

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

Нейросеть вам в руки! Как использовать ИИ для автоматизации задач

Использование ИИ для автоматизации задач помогает компании получить конкурентное преимущество, поскольку объединение

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

Рынок труда  

Специалист по этическому ИИ, инженер по квантовым вычислениям или аналитик по метавселенной?

Новые тенденции в развитии ИТ могут привести к возникновению новых специальностей в

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

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

Учитесь убеждать и побеждать

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

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

Сетевая инфраструктура  

Как удаленная работа меняет подход к сетевой инфраструктуре?

С увеличением числа сотрудников, работающих из дома, организации сталкиваются с необходимостью создания

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

Мониторинг  

Какой мониторинг нужен сегодня?

По мнению экспертов ГК InfoWatch, действия сотрудников – самая распространенная причина инцидентов

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

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

Руководство для тех, кто увлечен ИИ, программированием. И дизайном

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

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

Мобильные приложения  

Искусственный интеллект в мобильных приложениях: возможности и перспективы

Обзор современных применений ИИ в мобильных приложениях, анализ перспектив развития этой технологии,

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

ИТ-образование  

Как сделать ИТ-образование эффективным?

Эксперты ИТ-отрасли отвечают на вопросы «СА». Обсуждаем ключевые аспекты для улучшения образовательных

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

Work-life balance  

Как айтишнику найти баланс между работой и личной жизнью?

Обсуждаем инструменты для эффективного управления временем, снижения уровня стресса и достижения гармонии. На

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

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

Всё самое нужное – под одной обложкой

Отличительная черта книжных новинок, выпущенных недавно издательством «БХВ» – это их универсальность. Не просто

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

ИТ-инфраструктура  

Системы мониторинга ИТ-инфраструктуры-2025

Без мониторинга ИТ-инфраструктуры не обходится ни одна компания, хотя бы потому, что

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

Открытое ПО  

Безопасность Open Source: рискуем или контролируем?

Компания «Кросс технолоджис» изучила, как используется ПО с открытым кодом в компаниях

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

Работа с нейросетью  

Скажи, есть ли у тебя AI, и я скажу, кто ты

Недавно сервис по поиску работы SuperJob выяснил, что каждый второй россиянин уже

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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