LINUX.ORG.RU

Сегодня языку Perl исполнилось 25 лет!

 , , ларри уолл


5

2

25 лет назад, 18 декабря 1987г., программист и лингвист Ларри Уолл выпустил первую версию языка программирования Perl.

>>> Подробности

★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 4)

Долгих лет этому прекрасному языку!

                                            sub j(\$){($
             P,$V)=                      @_;while($$P=~s:^
         ([()])::x){                    $V+=('('eq$1)?-32:31
   }$V+=ord(  substr(                 $$P,0,1,""))-74} sub a{
  my($I,$K,$  J,$L)=@_               ;$I=int($I*$M/$Z);$K=int(
 $K*$M/$Z);$J=int($J*$M             /$Z);$L=int($L*$M/$Z); $G=$
 J-$I;$F=$L-$K;$E=(abs($          G)>=abs($F))?$G:$F;($E<0) and($
  I,$K)=($J,$L);$E||=.01       ;for($i=0;$i<=abs$E;$i++ ){ $D->{$K
          +int($i*$F/$E)      }->{$I+int($i*$G/$E)}=1}}sub p{$D={};$
         Z=$z||.01;map{    $H=$_;$I=$N=j$H;$K=$O=j$H;while($H){$q=ord
        substr($H,0,1,"" );if(42==$q){$J=j$H;$L=j$H}else{$q-=43;$L =$q
      %9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
      ($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y}
      ->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{
      require Win32::Console::ANSI};$b=$w?'1;7;':'';($j,$u,$s,$t,$a,$n,$o
      ,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'.
       'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
       ']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
        '?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
          'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
           'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'.  'ZP[Z'.
              'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'.  '[Z\U'.
                '{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'.  'BCB*'.
                     'DMKKJIR[Q+*EJ0*EK';sub h{$\ = qw(% & @ x)[int    rand
                      4];map{printf  "\e[$b;%dm",int(rand 6)+101-60*   ($w
                       ||0);system(  "cls")if$w ;($A,$S)=    ($_[1],   $
                        _[0]);($M,   @,)= split  '}';for(     $z=256
                        ;$z>0; $z   -=$S){$S*=   $A;p @,}      sleep$_
                        [2];while   ($_[3]&&($    z+=$ S)       <=256){
                        p@,}}("".   "32}7D$j"     ."}AG".       "$u}OG"
                        ."$s}WG"    ."$t",""      ."24}("        ."IJ$a"
                        ."}1G$n"    ."}CO$o"     ."}GG$t"        ."}QC"
                         ."$h}"      ."^G$e"    ."})IG"          ."$r",
                         "32}?"       ."H$p}FG$e}QG$r".          "}ZC"
                         ."$l",          "28}(LC" .""            ."".
                         "$h}:"           ."J$a}EG".             "$c"
                         ."}M"             ."C$k}ZG".            "$e"
                         ."}"             ."dG$r","18"          ."}("
                        ."D;"            ."$C"  )}{h(16         ,1,1,0
                       );h(8,          .98,0,0   );h(16         ,1,1,1)
                       ;h(8.0         ,0.98,0,     1);         redo}###
                     #written                                 060204 by
                   #liverpole                                  @@@@@@@
                #@@@@@@@@@@@
helios ★★★★★
()
Последнее исправление: helios (всего исправлений: 1)

Perl еще проживет долго. Четвертак - это показатель.

nempyxa ★★
()
Ответ на: комментарий от flareguner

Только наркоман мог придумать задавать scope при помощи табуляций.

И заставить программистов писать читаемый код

anonymous
()

ха. и мне 25 лет в этом году )) вот уж не думал, что я ровесник перла.

Komintern ★★★★★
()
Ответ на: Расцвет позади. от Camel

кто сейчас начнёт новый проект на Perl'е?

Если два опытных перлиста в команде есть — чего бы и не на перле писать?

А если проект небольшой, можно и одному писать (те же Gitolite, Gitolist, например).

helios ★★★★★
()

Perl - хороший язык: ему самое место оставаться в истории

AGUtilities ★★★
()

Любимому скриптовому языку четверть века, ура!

sT331h0rs3 ★★★★★
()
Ответ на: комментарий от vertexua

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

Из списка, если что... Да, только наркоман... А другим наркоманам понравилось и они ввели params.

Это удобно, если каждую секунду не думать, что это не так как у других. Это удобно для написания адаптеров, для валидации данных и т.д.

О реализации ООП вообще молчу

А с ней что не так? Да, не как у других. Но в рамках Perl это прекрасно! Одна из ключевых особенностей языка — разыменование. То есть если

$a = [1,2,3]; # ссылка на массив
print $a->[2]; # разыменование скаляра $a в массив и взятие 2 ого элемента
$a = sub { $_[0]**2 }; # ссылка на функцию вычисление квадрата
print $a->(4); # разыменование в функцию с параметром 4
В рамках этого подхода объект — спец. ссылка, способная разыменоваться в различные функции и структуры данных.

helios ★★★★★
()
Ответ на: комментарий от drBatty

а что делает эта программа? (что-то мне не хочется её запускать даже в песочнице)

Рисует верблюда, надпись «Just another Perl hacker» много раз, по разному, на разном цвете фона. Единственное что может поломать — цветовую схему эмулятора терминала, поэтому рекомендую запускать в новом эмуляторе (вкладке). И лучше на весь экран (довольно широко рисует).

helios ★★★★★
()
Ответ на: комментарий от zloelamo

require Win32::Console::ANSI};$b=$w?'1;7;':";

Толсто.

Что не так? На windows он же должен как-то рисовать...

helios ★★★★★
()
Ответ на: комментарий от goingUp

Perl: There's more than one way to do it
Python: There should be one — and preferably only one — obvious way to do it.

И? Две разные концепции. Ибо TMTOWTDI =^_^=

helios ★★★★★
()

Урра...надо выпить ) На данный момент, мой любимый и основной скриптовый язык, а те кто пишут что перл мертв, нечитаем и тд - как правило сами на нем ни строчки кода не написали, или же видели только страшные однострочники, которые прошу заметить обычно пишутся не для того, чтобы их потом редактировать, а для того что бы один раз выполнить и забыть. В любом же более-менее крупном перл проекте, с адекватными разработчиками, обычно все очень хорошо оттформатировано и читаемо. Да и кстати в каком еще мейнстримовом языке вы найдете столь гармоничное сочетание ООП, функционального и императивного програмирования? А если еще вспомнить широченные возможности языка по самоизменению (Devel::Declare, source filters etc) благодаря которым например существует Moose и иже сними....вообщем Перлу быть

anonymous
()
Ответ на: комментарий от helios

Да, две противоположные концепции. Вообще, такое впечатление, что Python придумали люди, напуганные Перлом)

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Вообще, такое впечатление, что Python придумали люди, напуганные Перлом)

Кстати, в этом я вижу положительный эффект Perl'а на студентов (у нас Perl начинается во 2-ом семестре): после Perl'а не страшны ни php, ни python, ни ruby...

helios ★★★★★
()
Ответ на: комментарий от alx_me

Один из наиболее адекватных, на фоне всяких недоподелок типа питона и руби

+1

+1

anonymous
()
Ответ на: комментарий от flareguner

Только наркоман мог придумать задавать scope при помощи табуляций.

Это баловство с травкой. А вот создать язык для обработки текста без нормальной индексации строк, слайсов и других постоянно нужных операций мог только настоящий героинщик. Не говоря уже о птичьих префиксах у переменных... Но постой, что это у тебя на аве?!

anonymous
()

Сегодня языку Perl исполнилось *бы* 25 лет.

Верим. Помним. Скорбим.

anonymous
()
Ответ на: комментарий от anonymous

Урра...надо выпилить )

Fixed же.

те кто пишут что перл мертв, нечитаем и тд - как правило сами на нем ни строчки кода не написали

К сожалению, писали. Натыкаясь на уп0р0тых, не признающих unless старпёров и рыская по CPAN в поиске элементарного функционала. Ну нафиг. Питон 2.7 - наше всё, а перловую кашу (и рубиновую, под шумок) можно на 25-летие по праздничный салют уже и закопать.

border-radius
()
Ответ на: комментарий от Ip0

У tazhate нет чувства юмора и памяти истории и традиций:(

Есть. Подобного плана вещи у нас всегда сносились с максимальным наказанием.

tazhate ★★★★★
()
Ответ на: комментарий от border-radius

Упс, а чего 2.7 - это же отрыжка эволюции. Не старперничайте - лезьте на 3.0 ;-)

Как там WSDL работает уже?

nempyxa ★★
()
Ответ на: комментарий от goingUp

Да, две противоположные концепции. Вообще, такое впечатление, что Python придумали люди, напуганные Перлом)

Питон придумал лентяй. Накатал интерпретатор за выходные. Получилось криво, из-за отступов. Вместо того, что бы переписать, решил объявить, что это фича. :) Мне питон нравится, но если бы не эти отступы и пара других косяков...

x86_64 ★★★
()
Ответ на: комментарий от tazhate

На достоверную, правда ЖБ уже сам исправился.

J ★★★★
()
Последнее исправление: J (всего исправлений: 1)
Ответ на: комментарий от nempyxa

Расскажите, как там с миграцией кода с версии 2 на 3? все чудно?

Лучше расскажи, как там с миграцией кода с 5 на 6 версию ерблюдика. Все чудно? бгг

anonymous
()
Ответ на: комментарий от x86_64

Если отказаться от отступов придется синтаксис подтачивать. Ждем в 4.0, к версии 5 все устаканится, и будем тоже отмечать 25-летие.

nempyxa ★★
()
Ответ на: комментарий от anonymous

Лучше расскажи, как там с миграцией кода с 5 на 6 версию ерблюдика. Все чудно? бгг

Да нормально. В perl5 вводят элементы из perl6 в виде модулей. Их использование опционально. А Perl6 скорее всего так и останется в экспериментально-исследовательской ветке. Perl6 хорошо влияет на развитие Perl5 и, по-видимому, в этом и есть вся его суть.

Бгг??

..и тупой быдлячий смех... (с) Неподарки

anonymous
()
Ответ на: комментарий от x86_64

Мне питон нравится, но если бы не эти отступы и пара других косяков...

JS? :)

yyk ★★★★★
()
Ответ на: комментарий от border-radius

К сожалению, писали. Натыкаясь на уп0р0тых, не признающих unless старпёров и рыская по CPAN в поиске элементарного функционала. Ну нафиг. Питон 2.7 - наше всё, а перловую кашу (и рубиновую, под шумок) можно на 25-летие по праздничный салют уже и закопать.

перловую кашу

Вот она, вся твоя суть. Кто ж виноват если у тебя каша в голове? Вот у меня нет каши в голове и пишу код на Perl так же легко как и читаю чужой (шлю патчи с доработками). Конечно, люди с кашей в голове не поверят, но искренне скажу вам без Perl'овый код читается ЛЕГЧЕ всего. ЧЯДНТ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.