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

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

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

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

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

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

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

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

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

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

Work-life balance  

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

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

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

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

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

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

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

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

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

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

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

Открытое ПО  

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

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

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

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

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

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

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

Работа с Debian  

О Linux с любовью или Debian: через знание к любви

Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для

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

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

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

Опрос  

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

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

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

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

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

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

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

Спецпроект «Базальт СПО». Развитие Open Source в России  

Алексей Смирнов: «Сейчас трудно найти программный продукт, в котором нет свободного кода»

Какое будущее ждет свободное ПО? Влияет ли свободная или несвободная разработка на

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

Спецпроект «Базальт СПО». Развитие Open Source в России  

Николай Костригин: «Мы создали Hantis, конвейер автоматизации. Проекты, исследуемые разными инструментами, переходят от одного исполнителя к другому, развиваются, возвращаются к автору, и так по кругу»

О том, как идет работа по повышению безопасности отечественного программного обеспечения, рассказывает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Ларри Уолл: «Сегодня 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