The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Ларри Уолл об этапах становления языка Perl

13.12.2008 10:46

Интернет издание Computerworld в серии своих статей посвященных языкам программирования, опубликовало интервью с создателем языка Perl Ларри Уоллом. Лингвист по образованию, Ларри написал первую версию языка в 1987 году, когда в результате необходимости генерации множества текстовых отчетов понял, что скриптовые shell-языки и Си плохо подходят для этой работы.

С того времени Perl получил широкую известность и признание в основном благодаря росту популярности интернета и развитию динамически создаваемого web-контента. Помимо этого Perl нашел применение и в более специализированных отраслях: он используется и на полярных станциях, и в генетических лабораториях.

Доказательством удачного дизайна Perl можно считать то, что в некоторых случаях он применяется для выполнения задач, на которые он никогда не был ориентирован, и прекрасно справляется с ними. Когда компания Clearcase проектировала автомобильную систему заднего обозрения, драйвера для нее были написаны как на Си, так и на Perl. К удивлению создателей Perl-версия не только работала, но и в 10 раз превосходила Си-вариант по скорости выполнения.

Говоря о Perl нельзя не упомянуть огромный репозитарий готовых Perl-модулей – CPAN. В нем находятся более 13500 пакетов, в написании которых занято более 6.5 тыс. разработчиков. И если даже принять, что 90% этих модулей – это узкоспециализированные и для широкого круга пользователей бесполезные решения, то оставшиеся 10% все равно представляют достаточно значимое число.

Последнее время ведется активная работа по созданию Perl 6 – полностью переработанной версии языка, в основу которого положен предварительно разработанный стандарт. Говоря о дате финального релиза, Ларри Уолл в шутку заметил, что она давно известна – это канун Рождества. В тайне пока остается только год этого события.

  1. Главная ссылка к новости (http://www.computerworld.com.a...)
Автор новости: blkdog
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/19366-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, vadiml (?), 19:29, 13/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > она давно известна – это канун Рождества

    значит ждать ещё не менее года

     
     
  • 2.2, Spank (?), 19:53, 13/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Да вы, батенька, оптимист...
     
     
  • 3.10, smooth (??), 07:52, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Цитата с http://www.perlfoundation.org/perl6/index.cgi?perl_6
    "Parrot 1.0 will be out in March 2009! (Rakudo Perl 6 will use the Parrot VM.)"

    Я думаю отсель и пойдет более менее нормальное (внятное) развитие Perl 6.

     

  • 1.3, FractalizeR (ok), 20:02, 13/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >К удивлению создателей Perl-версия не только работала, но и в 10 раз превосходила Си-вариант по скорости выполнения.

    Интересно, какой осел писал Си-вариант?

     
     
  • 2.4, SHRDLU (ok), 20:17, 13/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>К удивлению создателей Perl-версия не только работала, но и в 10 раз превосходила Си-вариант по скорости выполнения.
    >Интересно, какой осел писал Си-вариант?

    Нда, при всем своем уважении к Perl - после прочтения этих строк возникла та же мысль...
    +1


     
     
  • 3.6, Дмитрий Ю. Карпов (?), 22:59, 13/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Есть мнение, что Perl-программист знал про hash-массивы и регулярные выражения, а C-программист не знал.
     
     
  • 4.7, uldus (ok), 23:22, 13/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть мнение, что Perl-программист знал про hash-массивы и регулярные выражения, а C-программист
    >не знал.

    Подтверждаю, видел парсер лога на Си, работающий медленнее, чем аналог на Perl. Как раз из-за хешей и регекспов.

     
     
  • 5.12, СуперАноним (?), 11:02, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а регэкспы что, не на C написаны?
     
     
  • 6.14, uldus (ok), 15:55, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну а регэкспы что, не на C написаны?

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

     
  • 4.16, xen (??), 11:08, 17/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно какие регулярные выражения применимы для описанной предметной области? Мне кажется там скорее распознование образов, а это по идее немного другая матиматика и C действительно _должен_ быть быстрее хоть на йоту, при правильной организации рук и наличии головы.
     

  • 1.5, Аноним (-), 21:08, 13/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нее, я для себя уже решил -- никакого перла.
    5.10-й оказался жуткой подставой, половина модулей не работает в 5.10 и авторы на них забили и не переписывают; другая половина работет только в 5.10, а в 5.8 баги уже не правятся... я сейчас уже не вспомню всех засад, но больше всего огорчили такие фундаментальные модули, как Net::UDP и Net::Inet. Я понимаю, что IO::Socket::INET наверно лучше, но на Net::* модулях базируется очень много ни в чём не повинных модулей типа Net::Radius::Client, которые посыпались как иголки с засохшей ёлки. Я через это всё полочил жуткий гимор, решая головоломку, как всё запустить на новом (сильно урезаном) сете модулей. Плюсов в этом для меня только два: моё имя засветилось на CPAN среди соавторов и я больше никогда не буду ставить нового перлового софта :-) старый, хрен с ним, пусть уж доживает, но новый -- ни-ни :-)
     
     
  • 2.9, Аноним (9), 02:36, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А можно по-подробнее про засады?
    Я не в плане подкола или издевки -- мне действительно  очень важны примеры несовместимости перловых модулей (или скриптов) с изменением версии перла.

    Спасибо.


     
  • 2.11, SHRDLU (ok), 09:50, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Нее, я для себя уже решил -- никакого перла.
    >5.10-й оказался жуткой подставой, половина модулей не работает в 5.10 и авторы
    >на них забили и не переписывают;

    Думается, что этот камень стоило бы кинуть в огород нерадивых авторов модулей...

     
  • 2.17, nordicdynogmail.com (?), 17:16, 17/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >5.10, а в 5.8 баги уже не правятся... я сейчас уже
    >не вспомню всех засад, но больше всего огорчили такие фундаментальные модули,
    >как Net::UDP и Net::Inet. Я понимаю, что IO::Socket::INET наверно лучше, но
    >на Net::* модулях базируется очень много ни в чём не повинных
    >модулей типа Net::Radius::Client, которые посыпались как иголки с засохшей ёлки. Я
    >через это всё полочил жуткий гимор, решая головоломку, как всё запустить
    >на новом (сильно урезаном) сете модулей. Плюсов в этом для меня
    >только два: моё имя засветилось на CPAN среди соавторов и я
    >больше никогда не буду ставить нового перлового софта :-) старый, хрен
    >с ним, пусть уж доживает, но новый -- ни-ни :-)

    А зачем вы в 5.10 полезли (как я понимаю была достаточная база кода для предыдущих релизов)? Приключений захотелось? Так вы их и получили! Чего жаловаться то теперь? :)

     

  • 1.8, Аноним (8), 23:30, 13/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ларри Уолл об этапах забвения языка Perl
     
     
  • 2.13, Knuckles (ok), 15:49, 14/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Ларри Уолл об этапах забвения языка Perl

    Анонимус о том, в чем ни черта не смыслит.

     

  • 1.15, Аноним (8), 20:12, 15/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Have you ever seen the language used in a way that was not originally intended? If so, what was it? And did it work?

    When Clearcase (revision control systems) wrote its device driver in Perl to access the file system underneath the kernel. The first surprising thing is that it worked. And the second surprising thing is that it was 10 times faster than their C code. Generally you would not want to write device drivers in Perl. Perl 6 maybe, but not Perl 5.


    Доказательством удачного дизайна Perl можно считать то, что в некоторых случаях он применяется для выполнения задач, на которые он никогда не был ориентирован, и прекрасно справляется с ними. Когда компания Clearcase проектировала автомобильную систему заднего обозрения, драйвера для нее были написаны как на Си, так и на Perl. К удивлению создателей Perl-версия не только работала, но и в 10 раз превосходила Си-вариант по скорости выполнения.

     
     
  • 2.18, bibi (?), 18:55, 11/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    FreeBSD надо переписать на perl - это получится большая сиськатая девушка
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру