Ларри Уолл: «Сегодня Perl применяется для решения ряда проблем, о которых я и не подозревал, создавая этот язык»::Журнал СА 5.2005
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, с

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Ларри Уолл: «Сегодня Perl применяется для решения ряда проблем, о которых я и не подозревал, создавая этот язык»

Архив номеров / 2005 / Выпуск №5 (30) / Ларри Уолл: «Сегодня Perl применяется для решения ряда проблем, о которых я и не подозревал, создавая этот язык»

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

Ларри Уолл: «Сегодня Perl применяется для решения ряда проблем, о которых я и не подозревал, создавая этот язык»

Ларри Уолл


Ларри Уолл – человек, ненамеренно сделавший очень многое для распространения UNIX-систем. Он никогда не занимался целенаправленной рекламой UNIX, но создание языка Perl сделало его одним из самых популярных людей Open Source-движения. Сейчас уже, наверное, невозможно найти технического специалиста, работающего в UNIX и не знакомого с верблюдом, изображенным на логотипе Perl. Благодаря гибкости и переносимости Perl вышел далеко за рамки UNIX, сейчас его довольно часто можно встретить под Windows и многими другими платформами.

 

Несколько лет назад Perl позиционировался как лучший язык для разработки веб-приложений. Сейчас его заметно потеснил PHP. Что вы думаете об этой ситуации? Какова экологическая ниша Perl сейчас и для чего, по вашему мнению, его стоит теперь применять?

Perl и PHP – очень разные языки. Первый является языком общего назначения. В целом он предназначен для разнообразных научных применений, обработки баз данных, всевозможных манипуляций с текстом, системного администрирования, быстрой разработки прототипов интернет-сервисов. Благодаря этим качествам некоторое время по недоразумению он использовался как веб-язык. Второй же предназначен только для веб-разработки и справляется с этой задачей очень хорошо. Неудивительно, что в этой нише он доминирует, но я не думаю, что он будет работать хорошо за ее пределами. Сейчас Perl применяется для решения таких проблем, о которых я и не подозревал, создавая этот язык. К примеру, он с успехом применяется в генетических исследованиях, ведь ДНК принято обозначать как набор символов, а в удобстве работы с символами Perl нет равных.

Во время разработки новой версии Perl каким качествам продукта придается первостепенное значение? Оптимизации, гибкости и красоте кода или наличию наибольшего количества полезных функций?

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

Будет ли шестая версия языка при всех своих улучшениях работать быстрее, чем пятая?

Я думаю, да. В новой версии после компиляции текста в байт-код добавляется больше служебных сведений о типах используемых данных, ходе выполнения кода, это помогает оптимизировать выполнение программы. В то же время стоит отметить, что и код самого компилятора Perl претерпел значительные изменения в лучшую сторо­ну. Обычно для каждого запускаемого скрипта производилась компиляция в байт-код, соответственно, если у нас выполнялись три экземпляра одного и того же скрипта, компиляция выполнялась трижды. В новой версии будет реализовано понятие разделяемой памяти и кэша байт-кода. Это значит, что скрипт будет компилироваться только первый раз и при запуске новых экземпляров этого скрипта скомпилированный код будет браться прямо из кэша Parrot.

Хотелось бы узнать приблизительные сроки выхода Perl 6.

Сказать точно, когда это произойдет, я не могу, делать одновременно множество вещей, к сожалению, невозможно. Как любой Open Source-проект, мы располагаем ограниченными средствами, соответственно не можем себе позволить нанимать дополнительных работников, приходится выбирать между скоростью разработки и качеством кода. Мы думаем, что лучше выпустить чуть позже очень устойчивую альфа-версию, чем быстро сделать несколько промежуточных неотшлифованных релизов.

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

Этим вопросом будут заниматься другие разработчики, единственная задача, которую я зарезервировал для себя, – транслятор Perl 5 в Perl 6. Мне как лингвисту было бы очень интересно этим заняться, но, к сожалению, переработка глубинных компонентов языка отнимает довольно много времени. Perl уже давно перерос размеры проекта, который можно обслуживать в одиночку, поэтому многие задачи делегируются специалистам в этой области, которые сделают работу лучше.

Для представления строковых данных Perl использует кодировку Unicode, и этим выгодно отличается от других языков. Так было задумано изначально или пришло само собой, когда разработчики столкнулись с проблемами локализации?

В момент появления Perl такого понятия, как Unicode, не существовало. Мы, как и многие другие проекты, прошли через все стадии проблем с локализацией. Хранение строковых данных в Unicode появилось в версии 5.6 и работало не очень хорошо. К версии 5.8 к проекту присоединились люди, которые наконец-то довели все это до ума.

На сайте Slashdot.org несколько лет назад появилась шутка о том, что скоро должен появиться новый язык Parrot, который должен будет вобрать в себя лучшее из Perl и Python. Через какое-то время была разработана виртуальная машина Parrot, используемая для выполнения компилированного байт-кода Perl 6. Как вы думаете, сможет ли Parrot когда-нибудь компилировать и выполнять код, написанный на Python?

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

В свою очередь сообщество разработчиков Perl 6 решило, что неплохо было бы поддерживать этой платформой и другие языки, такие как Ruby, Basic, Lisp, Lua. Когда работы над Perl 6 будут окончены, я думаю, мы сможем работать в его рамках c любым языком, использующим динамическую типизацию данных. На самом деле Perl старается быть как можно более дружественным к другим языкам. Когда пользователи захотели получить возможность выполнять C-код из программ на Perl, пришлось много потрудиться, чтобы реализовать такой функционал, но я думаю, что труды были ненапрасны, потому что это позволит значительно улучшить кодовую базу многих проектов.

Бытует мнение, что виртуальная машина Parrot по своему дизайну очень похожа на среду выполнения Microsoft .Net. Не могли бы вы прокомментировать это утверждение?

Я думаю что .Net по особенностям реализации больше похож на Microsoft Java Virtual Machine со свойственной ему статической типизацией данных. В дизайн Parrot изначально заложена способность работать в двух режимах с динамическими типами данных и со статическими. Соответственно, пользователь сможет самостоятельно добавлять данные о типе переменных, используемых в программе, и это позволит управлять тем, как будет выглядеть поведение языка.

Ларри Уолл и редактор журнала Валентин Синицын
Ларри Уолл и редактор журнала Валентин Синицын

Что вы думаете о применении embedded Perl в качестве встроенного языка для скриптования компонентов приложения?

В данной области Perl 5 успешно применяется уже довольно долго. В моей практике был случай, когда один из заказчиков для своей бухгалтерской программы попросил меня помочь реализовать сложные поля редактирования. Программа должна была понимать и уметь вычислять выражения вроде: ((8 + 7) * 12 - (10 * 44/11) ) %10. Через пару дней все было готово, ведущий разработчик был просто в восторге от того, что в выражениях можно использовать не только стандартные арифметические операции, но и расчет процентов. Оказалось, что встроить виртуальную машину интерпретатора Perl в приложение было легче, чем реализовать тот же самый функционал на языке C++. На быстродействие получившегося продукта такой симбиоз практически не повлиял, а вот время работы над приложением существенно уменьшилось. Конечно, для сообщества разработчиков дальнейшее совершенствование Perl в качестве встраиваемого языка не является высшим приоритетом, но мы все же стараемся сделать так, чтобы он мог применяться в максимально возможном количестве областей.

Расскажите, в какой компании вы сейчас работаете и, если не секрет, чем занимаетесь?

Большую часть времени в течение поседних четырех лет я официально ни у кого не работаю. В основном средства к существованию получаю за счет выполнения грантов от Perl Foundation, разрабатывая новые и улучшая существующие подсистемы Perl 6. Плюс к этому регулярно поступают авторские отчисления от публикации книг о Perl. В общем, можно сказать, что я не бедствую и довольно легко могу позволить себе путешествовать по всему миру.

Андрей Бешков
Фото автора


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

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

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

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

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