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

Комментарии 144

Скажите. А не в курсе ли вы как вообще дела (в общем) у перла обстоят? А то в одном месте вроде кричат "нечитаемый и ужасный", а с другой стороны в линухе перла многа вроде встречаю.

+ Ваши прогнозы.
Вот тоже интересно.
Не знаю, для меня это один из любимых языков, писать на нем приятно, плюс хороший архив модулей (CPAN.org), хотя я думаю что ничего хорошего в будущем его не ждет....
А вы про mod_perl почитайте. И поймёте, что другого способа эффективно рулить Апачом на низком уровне и писать огромные высокопосещаемые ресурсы попросту нет.
Про что-либо отличное от апача мосье знает?
Уверяю, мосьё вообще знает побольше вашего. Да только я видел достаточно людей с lighttpd / nginx и FastCGI в руках, которые в итоге вместо нормальных проектов делали каляки-маляки.
Уолл когда-то сказал, что язык можно считать завершенным только тогда, когда в его синтаксисе использованы все символы клавиатуры (:

А на самом деле, в Пеле просто много сокращений, знать все которые вовсе не обязательно (или даже вредно). Из-за них некоторые считают несут клевету, мол он запутанный и сложный. Да-да, на нем можно написать такую программу, что дурно станет:
`$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
$_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`

Но это вовсе не значит, что это хороший стиль программирования (: На самом деле, он очень похож на Си. А является ли Си нечитаемым и ужасным?
> А является ли Си нечитаемым и ужасным?
« The frequent use of ugly and irregular C++ style of syntax in modern languages is not something I'm proud of» сказал Страуструп в http://www.research.att.com/~bs/hopl-almost-final.pdf
Может это он про C++, а не про C?
touch
Мдя...на трезвую голову не разберешься:)
НЛО прилетело и опубликовало эту надпись здесь
Странно, мне казалось что С как раз таки очень простой и читаемый язык.
Да, есть проблемы понимания - особенно после Паскаля того же люди долго тормозят со строками. Да, есть сложности в програмировании на нем, потому что многие не понимают что есть указатели и как они работают. Но это не значит что язык ужасный =) Это значит что он низко-уровневый (не такой как асемблер конечно, но очень близко).
Вообще-то у Си тоже есть сокращенный режим, который выглядит не проще вышеприведенного куска на Perl.

А С++ первое время вообще считали эзотерическим языком.
Все что есть сокращенного у C есть и почти в любом другом языке.
Обычно это операторы вида: ++ — += -= etc

ЗЫ. В Си на самом деле есть ацкая штука, которая до сих пор повергает в ужас. Это указатели на функции которые возвращают что-нибудь типа указателей и т.д...
Боюсь Вы не слишком хорошо знакомы с синтаксисом Си.. смотрите только на одну его сторону, хотя есть и другая. К примеру, вот одно из демонстрационных приложений на Си, которое можно встретить в книжках.

#include
main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#\
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
}'+}##(!!/")
:t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
:0 t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

Сохрани как .c и скомпилируй тем же gcc
блин, опять хабра половину символов порезала...

к сожалению после обновления на леопарда gcc поломался
то что вы привели, насколько я вижу - это использование рекурсии и условного оператора a ? b : c - что есть почти во всех языках.
Конечно сама методика обфускации не будет работать везде.
Данный код не является каким-то особенным видом "сокращенного языка с".
>Си, которое можно встретить в книжках
мне кажется код любого языка можно превратить в такую абракадабру
Попробуйте с Питоном.
пожалуйста, полиглотик для куина работающий на C/Perl/Python


#include <stdio.h>
#define q(a,...) a
#define substr q
#define eval(a) main(){char c[]=a,n=10;c[419]=0;printf(c+4,n,n,n,n,34,34,n,34,39,c+4,39,34,n); }/* Copyright (C) Thomas Schumm <<a href="mailto:phong@phong.org">phong@phong.org</a>>
exec("from sys import*;substr=q=lambda y:exit(stdout.write(y[4:-46]%((10,)*4+(34,34,10,34,39, y[4:-46],39,34,10))))",None);#*/
eval(substr(q("$p='#include <stdio.h>%c#define q(a,...) a%c#define substr q%c#define eval(a) main() {char c[]=a,n=10;c[419]=0;printf(c+4,n,n,n,n,34,34,n,34,39,c+4,39,34,n); }/* Copyright (C) Thomas Schumm <<a href="mailto:phong@phong.org">phong@phong.org</a>>%cexec(%cfrom sys import*;substr=q=lambda y: exit(stdout.write(y[4:-46]%%((10,)*4+(34,34,10,34,39,y[4:-46],39,34,10))))%c,None);# */%ceval(substr(q(%c$p=%c%s%c;printf($p,(10)x4,34,34,10,34,39,$p,39,34,10)%c),1,-1))%c'; printf($p,(10)x4,34,34,10,34,39,$p,39,34,10)"),1,-1))
Во-первых, на Python этот образец кода не работает.
Во-вторых, вот весь его код:
exec("from sys import*;substr=q=lambda y:exit(stdout.write(y[4:-46]%((10,)*4+(34,34,10,34,39, y[4:-46],39,34,10))))",None)
eval(substr(q("...длинная...строка..."))
Не вижу ничего ужасного или непонятного.
1. у меня работает
2. понятное дело, что там не весь код для питона. это программа сразу для 3х языков
3. для меня тоже нету ничего страшного и непонятного в преле ;-)
1. Наверное при вставке что-то испоганилось
2. Ну так сразу глазом откидывается то, что не Питоновское
3. Сколько вы будете разбираться в принципах работы кода, который написал BaBL?
1. возможно
3. Нисколько, это классика =)) Хотя наверное за 1-2 часа такое разобрать легко

ЗЫ. Можно найти намного более сильно запутанный код для питона. Вот только к чему? Что бы убедить вас что его можно обфускировать? Я могу еще поискать для вас примеров с обфускацией кода. Вот только мне уже надоело это ))
3. Ваш пример «запутанного» кода для Питона разбирается за тридцать секунд максимум ;)

4. Конечно можно найти. Но сложнее, чем перловский или сишный - именно по той причине, что на питоне написать много уродски выглядящего кода гораздо сложнее.
Согласен, пример не удачный. Основная фишка этого кода, что он работает в 3х языка х и что решает задачу самовывода кода =)

Насколько я понимаю, в питоне не зря отступы и другие вещи ввели - как раз для того, что бы свести к минимому затраты програмиста на изучение кода.
Или вот еще примеры: C signature programs. Один от туда:
main(o,O0)char**O0;{int OO,O;O=--o?atoi(O0[!0]):!
0;for(o=((OO=O*O)-O+!0+!0)>>!0;OO;o+=((--OO%O)?-!
0:((((o-!0)%O)?O:0)+!0))-(((o-!0)%O)?O:0)){printf
("\n%*d "+!!(OO%O),!0<<!0<<!0,o+=(o<!0)?O*O:0);}}</code>
ну не путайте обфускацию с самим зяыком
обфускировать можно наверное почти любой языук...
НЛО прилетело и опубликовало эту надпись здесь
На мой скромный взгляд, перл отличается от конкурентов более сложной работой с хэшами, массивами, ссылками и т.п. То что в пхп и питоне делается интуитивно и в едином простом стиле, в перле — разными способами. Меня конкретно это в нём «убивает».
Вы определитесь - в перле сложнее работать с хешами, массивами и т.д. или же вас убивает что все можно сделать разными способами?
Потому как 1-ое совсем имхо не правда, а второе скорее плюс, чем минус (вас жизнь не убивает? а в ней вообще все можно сделать разными способами)
Я пишу не о том что то что одну "вещь" можно выразить разными способами это плохо (пускай будет), а о том что слишком усложнён (не единообразен) доступ к переменным, и тут уж не то чтобы можно сделать разными способами, а придётся так делать: к reference один подход, к скаляру - другой, к массиву - третий, к хэшу - четвёртый. Хотя я могу ошибаться ... давайте для интереса сравним два подхода.

Вот я наваял примерчик на Питоне, если вам интересно, попробуйте сделать то же самое на Перле (сам я не возьмусь), с сохранением структуры кода:

# sna4ala posadim derevo

root = dict()
for i in [ "a", "b", "c" ]:
    subnode = [ "one", "two", "three" ]
    root[i] = subnode

# zatem raspe4ataem ego

def print1(root):
    for key,val in root.items():
        print key, ":"
        print2(val)
def print2(root):
    for i in root:
        print " ", i
print1(root)


должна создаться и распечататься такая структура данных:

a :
  one
  two
  three
c :
  one
  two
  three
b :
  one
  two
  three
НЛО прилетело и опубликовало эту надпись здесь
меня интересует именно методика работа с данными (доступа к различным типам данных), в реальной жизни всё сложнее — особо не соптимизишь :-)
Напугали ежа сами знаете чем

my %root;
foreach my $k qw(a b c) {
$root{$k} = ["one", "two", "three"]
}

foreach my $k (sort keys %root) {
print "$k: \n";
foreach my $x (@{$root{$k}}) {
print " $x\n";
}
}


Вот что для меня было неинтуитивно, это вот это:
a = [1, 2, 3]
b = a
b[0] = 99
print a[0]

Но любим мы питон не за это, а за красивые объекты, в отличи от перла у которого ООП "кишками наружу"
про ООП согласен абсолютно )
Вот что для меня было неинтуитивно, это вот это:
a = [1, 2, 3]
b = a
b[0] = 99
print a[0]


вы, случаем, оптимизатором не подрабатываете? (смайлик)
Не совсем понимаю условие - "с сохранением структуры кода".
Вообщем, вышло так. Сорри за лишнии BR теги - не знаю как их убрать.


my $root = {};
foreach ("a", "b", "c") {
my $subnode = ["one", "two", "three"];
$root->{$_} = $subnode;
}

sub print1 {
my $root = shift;
foreach (keys %$root) {
print $_, ":\n";
print2($root->{$_});
}
}

sub print2 {
my $subnode = shift;
foreach (@$subnode) {
print "\t", $_, "\n";
}
}

print1($root);
структура кода как раз сохранена :)
_________

вот специфика Perl по части хэшей:

define: %hash = ( )
define: $hash = { }
define: $hash = …
write: $hash->{5} = …
read: keys %$hash
read: keys %hash

- в разных случаях надо по-разному обращаться к переменной.

С референсами ещё что-то хитрое было (то надо слэш ставить, то не надо) ... — вот та «более сложная работа» о которой я изначально писал. Питон/пхп здесь единообразнее и проще, разве не так?
но, простите, у вас тоже не везде одинаково %)
зы: можно упрастить и сделать все на хешах, выкинув массив
зыы: да, согласен что нужно понимать где у тебя хеш, где массив, а где ссылка...
Проще - может быть. Я как то привык и уже не замечаю особо. В любом случае, это ИМХО должно изучиться для любого нормального програмиста за один день... Посел чего наступает автоматизм...
Видимо я - совершенно ненормальный программист. Как-то десяток языков, с которыми мне пришлось общаться, не помогает написать правильное оращение к сложной переменной в perl'е. Когда у тебя есть хеш ссылок на структуры, которые имеют своими элементами другие хеши, которые тоже содержат ссылки на структуры (ну или что-то подобное) все известные мне языки (C/C++, Python, Java, Pascal, Lisp, etc) порождают большое, но однорожное выражение, а в perl'е - образуется каша из знаков $, %, {} ...
НЛО прилетело и опубликовало эту надпись здесь
Ну вот вы перечислили $, %, {} ...
В С почему-то присутствует тоже самое *, &, ->, [] или вам не кажется так?
В общем у перла дела странно. С одной стороны,- практически родной язык шелла *nix систем, огромное количество модулей на CPANe, mod_perl и прочие вкусности. С другой стороны,- синтаксис языка таков, что язык плохочитабельный,- и плохоподдерживаемый. В 6-м перле добавляются новые операторы, вроде и нужные, но делающие код ещё менее интуитивно понятным. Несмотря на то, что писал(и пишу) на нём много, имхо: язык для скриптов и небольших программ.
Пока структуры используемых данных невелики и просты - всё Ok, как только что-нибудь посложнее - башку сносит...
Ну вот видимо это еще одна причина популярность PHP. В нем меньше нужно думать и башку не сносит. Значит он более доступен для средней руки програмистов, а значит и более востребован на рынке труда.
угу, и от этой доступности появляется много ресурсов с дырявым кодом
мда... кодинг должен стать еще болеє прост...
Отлично! Ещё один шаг на пути к Перл 6, хехе :).
IMO, Perl 6 — это скорее шаг всторону, нежели вперед. Отсутствие обратной совместимости, создание виртуальных машин выполнения кода, улучшение ООП, сильные изменения синтаксиса и много другого. Я не говорю, что это шаг назад — просто это будет уже другой Пел.
Обратная совместимость обещана через скрипты для автопреобразования кода. А остальное... Ни одна версия Перла не была похожа на предыдущие :). Что актуально вообще для всех языков, на самом деле.
Тем не менее это все тот же Perl, тот же по духу и целям. А детали и должны меняться.
первые пункты какие-то странные - этот синтаксический сахар практически ничего не меняет, но зато увеличивает требуемое знание ключевых слов
Вы бы все-таки сходили, да почитали бы perl5100delta.pod
интересно, что должно поменять прочтение perl5100delta.pod'а в свете оригинального высказывания (c)sylvio ?
"Не нравиться не ешь". Перл тем и хорош, что все можно сделать так как вам нравиться )
Perl программисты уже вымерли, кому адресована эта новость? :)))
Например, мне.
Я хоть в данный конкретный момент и пищу на php, но c perl'a начинал и очень его полюбил.
нельзя носить статус Perl программиста и программировать на PHP
Ой ли Вы претендуете на истину в последней инстанции? Кто сказал нельзя?
Глупости.
Сам статус "программист" есть истина. А Perl и PHP - средства выражения.
если бы вам предложили работу профессионального Perl-программиста, вы бы пошли?
думаете вы бы подошли по требованиям? :-)))
Если бы меня устроили условия - вполне возможно.
Вы напрасно иронизируете, ничего обо мне не зная, уважаемый. Может и подошёл бы, а что?
я не имею ввиду вас лично, меня интересует тенденция, и в ней не имеет места "может быть", "возможно"...
Вы спросили явно - "вы бы подошли?".
Я думаю с Вам бесполезно спорить, ибо Вы за свою жизнь не написали ни строчки perl кода и сейчас разглагольствуете на тему какой кому статус носить и кто куда подходит по требованиям. Скучно...
НЛО прилетело и опубликовало эту надпись здесь
солидарен с вами :-)
Если Вы считаете фразу "нельзя носить статус Perl программиста и программировать на PHP" умнее - пусть будет так. :)
1. "возможно бы подошел" - это значит что не подошли бы или нет желания работать.
2. я за свою жизнь ни раз писал perl-код, и люблю его по своему :-))
да успокойся уже, а. задрали уже малолетки меряться
с тобой дискуссию кто-то ведет? :)))
не лезь в чужие разговоры, это у тебя на хабре такая привычки или по жизни тоже? )))
чужие разговоры, это пять. кухню с публичным форумом не путаешь, не? пиши в личку - вопросов не будет.
НЛО прилетело и опубликовало эту надпись здесь
"нельзя носить статус Perl программиста и программировать на PHP" - абсолютно верное утверждение. Нельзя вообще носить статус Perl программиста (хорошего) и заниматься чем-либо другим.

Был у меня период в жизни, когда я занимался системным администрированием. И естественно с целью уменьшения monkey-job-а изучил перл. Неплохо так изучил...

Прошло некоторое время и я стал зарабатывать на жизнь программированием для WEB (в основном java, немного RoR)... Когда я попытался написать одну системную утилиту на Perl.... ЭТО БЫЛ ТАКОЙ ПИ*ДЕЦ! Я не мог вспомнить и половины тех вещей, которые когда-то изучил.

Перл - это ЯП для людей, которые хотят каждый раз заново открывать глаза на мир. Все те приёмы, которые проходят в 90% ЯП в перле просто не работают. Даже ООП в нём нормального нет, куда такой язык можно воткнуть? Только на какую-нибудь мелкую системную фигню (которую я тоже скорее всего напишу на чём-нибудь более простом).
куда такой язык можно воткнуть?


Yahoo!, Amazon, TicketMaster, The United States Department of State, The BBC, Slashdot, и Shopzilla
Про любой язык (кроме brainfuck-ориентированных) можно написать такой же список компаний, его использующих. Тем не менее это совершенно не показатель. Показатель - maintainablity, чего у перла нет, не было и никогда не будет.
Согласен, у перла не было и не будет maintainablity.
Зато у него есть maintainability :D
"Нельзя вообще носить статус Perl программиста (хорошего) и заниматься чем-либо другим."

Извините, но Вы несете откровенную чушь. Это то же, что сказать "Нельзя вообще носить статус Электрика (хорошего) и (чинить мебель|ремонтировать автомобили|выпиливать лобзиком).". Если Вы такое скажете в лицо человеку, который отвечает за энергообеспечение небольшого микрорайона и при этом в состоянии починить почти любую поломку в своём автомобиле - я вам не посочувствую. И да, я лично знаю таких людей.
Аналогия №1: два языка -> две профессии (или умение обращатся с вещами - как кому угодно)

"Я не мог вспомнить и половины тех вещей, которые когда-то изучил."
Это скорее говорит о личных качествах определенной личности, но не языка. Если вы через десять лет забудете за какой конец отвертки братся чтобы раскрутить диван - позор вам и лучи поноса. Но никак не отвертке.
Аналогия №2: язык -> инструмент.

Думаю, намек понятен и продолжать не стоит.
LimeOrange, простите за нескромный вопрос - вы чем себе на хлеб зарабатываете? Вот я работаю программистом (и только программистом) и говорю о том, что реально знаю (пережил).

Про личные качества - я работаю программистом и моих заработков мне хватает на хлеб с масло и крышу над головой, работая программистом на perl-е я не уверен, что я бы столько получал (читай был бы так же продуктивен).
Я тоже работаю программистом. Пишу сайты, и на Perl, и на PHP. Перл и люблю, и знаю лучше, но, "клиент всегда прав", на чем захотят, на том и напишу. Хотя когда не ставится конкретное требование в стиле "хочу PHP и все тут!", предпочитаю Perl. Он быстрее, как в плане производительности, так и в плане написания. Предупреждая дальнейшее развитие холивара, это лично моё мнение, на истину не претендующее. Ну вот удобнее мне этот инстурмент, и всё тут. Кроме этого я занимаюсь версткой тех же сайтов. При всем этом я помню и применяю кучу других полезных и не очень вещей в совершенно разных областях применения. Но это отнюдь не значит, что я хреновый верстальщик или хреновый программист, так как я одновременно и верстаю и пишу. "говорю о том, что реально знаю (пережил)", "*я* не уверен, что *я* бы столько получал" — Нельзя судить о людях по себе и точно так же нельзя всех мерять под свою линейку. Вы - это ещё не эталон.
И, да, я не считаю себя "хорошим" программистом, скорее даже посредственным, в сравнении с асами этого дела, но тем не менее, на хлеб и к хлебу мне тоже пока вполне хватает.
Вот больше всего не люблю когда сравнивают PHP и Perl, будто это два языка для одной и той же цели. Буэ.
Просто 5 копеек: на знаю какой уровень зарплат считаеться для Москвы достаточным, но вот это предложение выгляди довольно неплохо: http://xpoint.ru/forums/job/vacancies/th…
Рядом еще лежит объявление с заявленной з/п в размере 3000$.
... (потому что на Перле Фреймворка с ActiveRecord хорошего нет, ...
Не ругани ради а информации для:
Чет тот-же Catalyst под perl плох ?
Вы не правы. Ничто не мешает мне программировать на Java на работе, на PHP и VB.NET дома и на Паскале, C и С# в универе. Что же по-вашему противопоставляет PHP и Perl?
противопоставляет необходимость программировать на этих языках.
необходимость программировать на PHP растет, на Perl падает. (в целом, в общей доле)
Мне кажется вы путаете теплое с мягким. PHP популярен на вебе и (на ряду с другими — Ruby и Python) потеснил Perl как безальтернативного лидера в этой области. Причем — количественно. Просто потому, что уровень вхождения у него ниже. Наряду с этим, Perl никуда не делся, как на вебе так и в других областях. И количество сайтов на нем растет.
Согласен. PHP никогда не потеснит Perl в задачах системного администрирования. Никогда не видел на PHP сетевых демонов, GUI приложений и вообще чего-нибудь, работающего вне веба. Про дистрибутив линукса, в котором все написано на похапе слышал, но не видел, чтобы это применялось на практике.
И все же самая сильная сторона перла - это понятная и лаконичная работа со строками и текстом.
Не горячитесь. Мне.
очень приятно, читайте ;)
А ведь Перл и не знал... он так же популярен как и ранее, очень быстрый и удобный, особенно если речь об обработке текста, лучше перла просто ничего не существует.
согласен, язык очень хороший, но только почему-то многие Perl программисты решили, что PHP - это круто и сменили специализацию :)

Иначе покажите мне популярный форум(сообщество) Perl-программистов и хотябы 1 сайт фрилансеров, где обитают профессиональный Perl-программисты, думаю, не найдете ;)
Те кто хорошо программируют на Perl'е не нуждаются в сайтах фринлансерских. Такие люди давно и хорошо устроены +)

А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.

Я могу тоже самое сказать и про чистый старый добрый С. Казлось бы кто его сейчас учит? Где преподают (многие преподаватели встают в ступор, когда им говоришь что С и С++ разные языки)? Кто его знает?

Ан нет... Есть просто гигансткое кол-во старой гвардии которое на нем до сих пор пишет. На нем пишут миллионы кода который мы постоянно используем. За примерами далеко ходить не нужно - тот же apache и linux kernel...
ну С++ как раз сейчас в моде, по-моему каждый ВУЗ сейчас его преподает, особенно что касается С++ под Windows :)

Сейчас даже PHP-программисты имеют основной профиль С++, а PHP, как прикладной язык.

Почему то все IT-образовательные учреждения считают, что С++ больше востребован среди работодателей, чем PHP.
Так я про С++ и не говорил. Я как раз говорил, что С != С++ =)))
Ну вот :-)
Возможно в том то и проблема, что Apache и linux были написаны десяток лет назад теми кто был представителем С-программистов, сейчас ими же и поддерживается :) Интересно, есть ли в данный open source проектах "чиста пацаны"? :) Или через 5-10 лет мы увидим Apache и Linux написанные на PHP ? %)))
Честно говоря я теряю нить ваших рассуждений тут. Так что конкретно по существу ответить не могу.

Помимо Apache и Linux каждый год появляются новые интересные проекты на чистом С. И не только в тех областях где С беспорный лидер (сис. прог, встраиваемые сис., библиотеки и т.д.).

Чиста пацаны есть везде. Даже в ядре линукса ChangeLog-2.6.11 | Signed-off-by: Vasia Pupkin
> Те кто хорошо программируют на Perl'е не нуждаются в сайтах фринлансерских. Такие люди давно и хорошо устроены +)

верно, но как раз это и подтверждает тот факт, что род Perl-программистов не омолаживается и как следствие умирает Perl, как язык.

> А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.

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


я думаю омолаживается, но не так быстро
да и кто сказал, что если перлом не пользуются "чиста пацаны", то из-за этого он умирает? :)

а почему так? Perl - может делать те же вещи, что и PHP и даже больше, неужели сложно хорошую книжку по нему для молодежи написать? :-)))

Мое ИМХО что на PHP возможно проще писать :)
> да и кто сказал, что если перлом не пользуются "чиста пацаны", то из-за этого он умирает? :)

потому что через 5-10 лет эти "чита пацаны" будут составлять основные трудовые ресурсы наших IT-корпораций ;)

> Мое ИМХО что на PHP возможно проще писать :)
проще :-) но не значит, что лучше быть PHP-программистом.
За простую работу, много не платят :-)))
ну насчёт "простой работы" - в конце концов, есть же старый добрый прикол про подметание ломом плаца. Не для того, чтобы дело сделать, а чтобы устать. И не из-за "простоты" похапешники в среднем получают меньше перловщиков... а из-за того, что разные сферы профессионального применения. Если на первом пишутся серьёзные оптимизированные до последнего байта бизнес-проекты, то второе - это удел небольших и средних начинаний. Оттуда и разница в зарплатах. А, пардон, подметание ломом плаца (в смысле, реализация простых вещей максимально неудобным спообом) - это на деле вовсе не круто, это больше снобизмом попахивает, а не реальными бизнес-требованиями.
эээ... мне 23, я уже стар по вашему? )))
Мне примерно столько же и хочу заметить, что в бурный век развития IT это уже точно не молодой :)
По крайней мере я вижу ну очень большое кол-во талантливых молодых програмистов...

ЗЫ. Как бы это пока не выглядело смешным, но ИМХО уже реально пора думать о старости...
В бурный век развития IT ценится скорость мышления. На самом деле она не связанна напрямую с возрастом. Это я к тому, что бурный IT век ну никак не влияет на то, кого называть а кого нет молодым )

P.S. я планирую и в 60 писать хороший код )
а еще к тому времени создать много полезного свободного софта... хм?
Ну может и не напрямую, но как-то же связанно :)
Я в 60 лет планирую писать хороший код исключительно для себя в качестве хобби.
just for fan, yep? )))
ну я более реалистично смотрю на вещи, так что я думаю, у меня не выйдет писать код как некоторые "just for fun" (C)

но фундамент стабильной старости я пытаюсь закладывать уже сейчас :)
А чем (camel|llama|cook) book плохая для молодежи книга?
Про литературу я может быть и погорячился.
Когда я выбирал язык програмирования для WEB, я выбрал Perl потому что книг о нем было предостаточно, в нем был виден потенциал применения его не только в качестве WEB ну и писался он, как мне кажется, хакерами-гиками. Это меня и привлекло.

Сейчас при выборе языка для Веб, Perl будет расматриваться как самый последний вариант (хотя, пожалуй последними будут ASM/C/C++/Pascal %)). Причины и так наверное всем ясны - много кто его знает, значит можно при изучение консультироваться у знакомых, много книг, много фреймворков и примеров на нем...

Единственное что мне до сих пор интересно, так это как так получилось, что Perl проиграл гонку вооружения и сдал позиции PHP? Не ужели именно из-за того, что "его трудно читать/понимать"? Мне кажется, что PHP выиграл скорее из-за удачного маркетинга, если этот термин возможно тут применить...
Скорее причина в том, что PHP легко встраивается в HTML код.
У перла тоже был в то время проект где можно было без проблем встариваться в страницы.

И насколько я знаю, сейчас от этого стараются уйти - т.е. разделить код и темплейты.
Был, но в похапе это всё делается без лишних телодвижений.
В перле есть мощнейшие тулкиты для темплейтов вроде Mason, но их использование требует дополнительных знаний. Хотя по опыту могу сказать, что получение этих знаний окупается впоследствии очень быстро.
ну, первое что приходит в голову: http://community.livejournal.com/ru_perl…

а вообще, действительно, перл программисты давно устроены и хорошо зарабатывают (лично знаю несколько таких примеров)

ПХП же в основном звучит в "вакансиях" и естественно что его пытаются учить толпы студентов, тем не менее PHP очень часто критикуется как по безопасности, так и по стилю программирования (часто схожие функции имеют совершенно перепутанный порядок агрументов, что не добавляет ничего хорошего).

А что уж про С говорить.... все ядро Linux - это голый СИ!
Откуда такая вызывающе некорректная информация? ;) количество перл программистов год от года растет.
с чего бы? :-)))
А открой любую статистику скажем проектов на perl'е в вебе.
Так вот, статистика тебе эта скажет, что общая доля perl проектов падает, но их абсолютное кол-во растет =)

Perl умер. Да здравствует Perl!
их количество растет только потому что внимание к Интернету растет, к сайтостроительству, количество пользователей Интернет растет в конце концов и проектов появляется все больше и больше, не удивительно, что человек, который допустим раньше выпускал 1 проект на Perl, сейчас выпускает 2,3 стартапа на Perl... Не потому, что Perl стал популярнее... :-)
Ну давайте займемся игрой слов :D
Интернет растет => больше сайтов => все не перл веб-програмисты выпускают больше сайтов => так как сайто-строителей стало больше, то значит новые програмисты изучили имено perl и пишут на нем

чем это хуже вашего утверждения? )
а статья JT-Smith похожа на само-мотивацию :))) потому что тот же Yahoo уже активно использует PHP, больше чем Perl :-)
Я программирую на Perl (так к слову)
очень приятно :) а работаете тоже Perl-программистом?
а какие проблемы? вакансий на перле у нас в стране полно :)
вакансий много, программисты закончились :-)
а вообще от человека, я другое хотел узнать ;)
Нет, я обычный инженер обычной нефтяной компании :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Лучшая литература по перлу - его документация.
Perl Best Practices by Damian Conway — книга которая must have для любого перловика
Полезно иметь под рукой — Perl Hacks того же автора и Perl Cookbook by Tom Christiansen and Nathan Torkington.
Интересно почитать — Higher-Order Perl: Transforming Programs with Programs by Mark Jason Dominus
НЛО прилетело и опубликовало эту надпись здесь
Кемелбук! Сразу после базового понимания языка — читать Программирование на Perl. Это лучшая книга, на мой взгляд.
хочется спросить тоже самое про PHP (на русском желательно, а если еще в электронном виде, то вообще супер)
просто сейчас прихожу к выводу, что хватить мучат себя асмом, надо обратно перебираться на яву
в бытность школьником-студентом учил паскаль\дельфи, а потом случайно вышло, что перешел на ассемблер, и теперь когда думаю над какой-то проблемой, то "думается" почему-то на асме :(
пишу только для себя..

p.s а может быть, ну его этот PHP, и лучше заняться Питоном?
p.p.s с\с++\с# для меня тоже темный лес, но мне сейчас именно нужно писать что-то веб-ориентированное, которое могло бы крутиться где нибудь на веб-сервере
Ну его, этот РНР, займитесь и правда Питоном :)
Ну его этот Python, а займитеська лучше RoR :D
Ну его, этот RoR, займитесь-ка лучше РНР :DD
Для Web однозначно PHP 5+, но Perl я очень люблю. Чего не хватает Perl ? Похоже они сделали упор чисто на синтаксис.. и совсем не думают о скорости разработки, все эти CPAN библиотеки какие-то неловкие, неудобные.. чтобы понять как их использовать - надо прилично понимать работу Perl. С PHP прощще.. Дак что же добавить в Perl чтобы он стал попсовым ?
Да все просто - кучу готовых решений, и не на палочке CPAN, а встроенных, Мне лично стало леньискать как работать с изображениями sqlite и многим другим, я нашел в PHP просто типа того что: create_image print_text_on_image.
А вообще мне сейчас очень нравится виток развития JavaScript и frameworkов. Там можно многому учиться сейчас, ускоряя процесс разработки. Я кста еще не тестил CodeInjector какой-нибудь.. но пока вроде не надо, сервер для меня - уже становится просто БАЗОЙ данных, http://ajaxed.ru http://waki2.com
Имхо уже не поможет. Что бы вытащить Perl нужно провести некислые PR акции и т. д.

ЗЫ. Фреймворки уже есть, возьмите к примеру Catalyst?
PR-акции?! Все, что нужно — продолжать развивать язык и делать на нем отличные программы. И это делается ) Просто продолжать.

Perl у многих людей вызывает положительные эмоции, я потсоянно слышу это — >. Так вот для меня тут нет никаких но, люблю Perl, пишу на нем. И работа приносит удовольствие )

И никакого другого PR-а просто не нужно. Только хороший продукт и удовольствие от его создания.
хабр захавал кавычки s/—\>/очень люблю Perl,но/;
Для Web однозначно РНР5+? Вы, должно быть, не слышали ни о RoR, ни о Django с Pylons. Нет, если вам нравится, и на РНР вы делаете быстро и хорошо, это замечательно. Но утверждать, что «однозначно», нельзя.
И видел и слышал RoR, но сколько времени надо потратить чтобы туда войти, PHP. тем более FAQ PHP на каждом угле теже CodeInjector все уже привязывают к php. Вообщем ради интереса.. а начнешь ставить их - а там столько косякооов. то папку не создал, то атрибуты не выставил, а надо же это знать. А в PHP пиши как хочеш.
За статью спасибо, было интересно.

В одной книге ("Искуство програмирования на UNIX") писали так: Каждый програмист сам выбирает на каком языке ему лучше и быстрее писать, главным фактором при выборе языка является скорость выполнения конкретного проекта. А синтаксис скорость компиляции, количество библиотек и.т.п. это чисто субъективное мнение каждого програмиста. Ведь в итоге програма пишется для пользователей и администраторов. Первым абсолютно всеравно на чем оно написано главное чтоб програма решала свои задачи максимально удобным способом, вторым очень редко приходится что то изменять в коде.
В учебном заведении меня учили С++, там же мне сказали если ты освоил хотябы один язык програмирования то остальные очень легко освоить самому. Так со мной и произошло в последствии. PHP и Perl выучил сам по документации, регулярно пишу на обоих. В PHP легко делать ВЕБ интерфейсы для этого я его и использую. В Perl пишу утилиты автоматизации, парсеры, сетевых демонов (не представляю как бы я это делал в php).

З.Ы.
Согласен у perl страшный синтаксис (сам испугался когда впервые увидел), но за счет этого он выигрывает в объеме кода. Многие конструкции написаные на perl намного короче аналогов на php, C++. В итоге, если привыкнуть к синтаксису, писать получается намного быстрее.
просто захотелось....

my $dear;
bless {$you}, $dear;
local *pranksters; map { shift } @lonely_nights;
for(keys %my_heart)
{
wait;
join sin(exists $love{us}), reverse @anxiety;
}
push me, $dear;
а вот за это спасибо :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации