Комментарии 144
Скажите. А не в курсе ли вы как вообще дела (в общем) у перла обстоят? А то в одном месте вроде кричат "нечитаемый и ужасный", а с другой стороны в линухе перла многа вроде встречаю.
+ Ваши прогнозы.
+ Ваши прогнозы.
0
Вот тоже интересно.
0
Не знаю, для меня это один из любимых языков, писать на нем приятно, плюс хороший архив модулей (CPAN.org), хотя я думаю что ничего хорошего в будущем его не ждет....
+1
А вы про mod_perl почитайте. И поймёте, что другого способа эффективно рулить Апачом на низком уровне и писать огромные высокопосещаемые ресурсы попросту нет.
-2
Уолл когда-то сказал, что язык можно считать завершенным только тогда, когда в его синтаксисе использованы все символы клавиатуры (:
А на самом деле, в Пеле просто много сокращений, знать все которые вовсе не обязательно (или даже вредно). Из-за них некоторые считают несут клевету, мол он запутанный и сложный. Да-да, на нем можно написать такую программу, что дурно станет:
Но это вовсе не значит, что это хороший стиль программирования (: На самом деле, он очень похож на Си. А является ли Си нечитаемым и ужасным?
А на самом деле, в Пеле просто много сокращений, знать все которые вовсе не обязательно (или даже вредно). Из-за них некоторые считают несут клевету, мол он запутанный и сложный. Да-да, на нем можно написать такую программу, что дурно станет:
`$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
$_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`
Но это вовсе не значит, что это хороший стиль программирования (: На самом деле, он очень похож на Си. А является ли Си нечитаемым и ужасным?
+4
> А является ли Си нечитаемым и ужасным?
« 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
« 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
0
Мдя...на трезвую голову не разберешься:)
-1
НЛО прилетело и опубликовало эту надпись здесь
Странно, мне казалось что С как раз таки очень простой и читаемый язык.
Да, есть проблемы понимания - особенно после Паскаля того же люди долго тормозят со строками. Да, есть сложности в програмировании на нем, потому что многие не понимают что есть указатели и как они работают. Но это не значит что язык ужасный =) Это значит что он низко-уровневый (не такой как асемблер конечно, но очень близко).
Да, есть проблемы понимания - особенно после Паскаля того же люди долго тормозят со строками. Да, есть сложности в програмировании на нем, потому что многие не понимают что есть указатели и как они работают. Но это не значит что язык ужасный =) Это значит что он низко-уровневый (не такой как асемблер конечно, но очень близко).
0
Вообще-то у Си тоже есть сокращенный режим, который выглядит не проще вышеприведенного куска на Perl.
А С++ первое время вообще считали эзотерическим языком.
А С++ первое время вообще считали эзотерическим языком.
0
Все что есть сокращенного у C есть и почти в любом другом языке.
Обычно это операторы вида: ++ += -= etc
ЗЫ. В Си на самом деле есть ацкая штука, которая до сих пор повергает в ужас. Это указатели на функции которые возвращают что-нибудь типа указателей и т.д...
Обычно это операторы вида: ++ += -= etc
ЗЫ. В Си на самом деле есть ацкая штука, которая до сих пор повергает в ужас. Это указатели на функции которые возвращают что-нибудь типа указателей и т.д...
0
Боюсь Вы не слишком хорошо знакомы с синтаксисом Си.. смотрите только на одну его сторону, хотя есть и другая. К примеру, вот одно из демонстрационных приложений на Си, которое можно встретить в книжках.
#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
#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
0
блин, опять хабра половину символов порезала...
0
к сожалению после обновления на леопарда gcc поломался
то что вы привели, насколько я вижу - это использование рекурсии и условного оператора a ? b : c - что есть почти во всех языках.
Конечно сама методика обфускации не будет работать везде.
Данный код не является каким-то особенным видом "сокращенного языка с".
то что вы привели, насколько я вижу - это использование рекурсии и условного оператора a ? b : c - что есть почти во всех языках.
Конечно сама методика обфускации не будет работать везде.
Данный код не является каким-то особенным видом "сокращенного языка с".
0
>Си, которое можно встретить в книжках
мне кажется код любого языка можно превратить в такую абракадабру
мне кажется код любого языка можно превратить в такую абракадабру
0
Попробуйте с Питоном.
0
пожалуйста, полиглотик для куина работающий на 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))
0
Во-первых, на 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("...длинная...строка..."))
0
1. у меня работает
2. понятное дело, что там не весь код для питона. это программа сразу для 3х языков
3. для меня тоже нету ничего страшного и непонятного в преле ;-)
2. понятное дело, что там не весь код для питона. это программа сразу для 3х языков
3. для меня тоже нету ничего страшного и непонятного в преле ;-)
0
1. Наверное при вставке что-то испоганилось
2. Ну так сразу глазом откидывается то, что не Питоновское
3. Сколько вы будете разбираться в принципах работы кода, который написал BaBL?
2. Ну так сразу глазом откидывается то, что не Питоновское
3. Сколько вы будете разбираться в принципах работы кода, который написал BaBL?
0
1. возможно
3. Нисколько, это классика =)) Хотя наверное за 1-2 часа такое разобрать легко
ЗЫ. Можно найти намного более сильно запутанный код для питона. Вот только к чему? Что бы убедить вас что его можно обфускировать? Я могу еще поискать для вас примеров с обфускацией кода. Вот только мне уже надоело это ))
3. Нисколько, это классика =)) Хотя наверное за 1-2 часа такое разобрать легко
ЗЫ. Можно найти намного более сильно запутанный код для питона. Вот только к чему? Что бы убедить вас что его можно обфускировать? Я могу еще поискать для вас примеров с обфускацией кода. Вот только мне уже надоело это ))
0
3. Ваш пример «запутанного» кода для Питона разбирается за тридцать секунд максимум ;)
4. Конечно можно найти. Но сложнее, чем перловский или сишный - именно по той причине, что на питоне написать много уродски выглядящего кода гораздо сложнее.
4. Конечно можно найти. Но сложнее, чем перловский или сишный - именно по той причине, что на питоне написать много уродски выглядящего кода гораздо сложнее.
0
Или вот еще примеры: 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>
0
НЛО прилетело и опубликовало эту надпись здесь
На мой скромный взгляд, перл отличается от конкурентов более сложной работой с хэшами, массивами, ссылками и т.п. То что в пхп и питоне делается интуитивно и в едином простом стиле, в перле — разными способами. Меня конкретно это в нём «убивает».
0
Вы определитесь - в перле сложнее работать с хешами, массивами и т.д. или же вас убивает что все можно сделать разными способами?
Потому как 1-ое совсем имхо не правда, а второе скорее плюс, чем минус (вас жизнь не убивает? а в ней вообще все можно сделать разными способами)
Потому как 1-ое совсем имхо не правда, а второе скорее плюс, чем минус (вас жизнь не убивает? а в ней вообще все можно сделать разными способами)
0
Я пишу не о том что то что одну "вещь" можно выразить разными способами это плохо (пускай будет), а о том что слишком усложнён (не единообразен) доступ к переменным, и тут уж не то чтобы можно сделать разными способами, а придётся так делать: к 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
0
НЛО прилетело и опубликовало эту надпись здесь
Напугали ежа сами знаете чем
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]
Но любим мы питон не за это, а за красивые объекты, в отличи от перла у которого ООП "кишками наружу"
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]
Но любим мы питон не за это, а за красивые объекты, в отличи от перла у которого ООП "кишками наружу"
+1
Не совсем понимаю условие - "с сохранением структуры кода".
Вообщем, вышло так. Сорри за лишнии BR теги - не знаю как их убрать.
Вообщем, вышло так. Сорри за лишнии 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);
0
структура кода как раз сохранена :)
_________
вот специфика Perl по части хэшей:
define: %hash = ( )
define: $hash = { }
define: $hash = …
write: $hash->{5} = …
read: keys %$hash
read: keys %hash
- в разных случаях надо по-разному обращаться к переменной.
С референсами ещё что-то хитрое было (то надо слэш ставить, то не надо) ... — вот та «более сложная работа» о которой я изначально писал. Питон/пхп здесь единообразнее и проще, разве не так?
_________
вот специфика Perl по части хэшей:
define: %hash = ( )
define: $hash = { }
define: $hash = …
write: $hash->{5} = …
read: keys %$hash
read: keys %hash
- в разных случаях надо по-разному обращаться к переменной.
С референсами ещё что-то хитрое было (то надо слэш ставить, то не надо) ... — вот та «более сложная работа» о которой я изначально писал. Питон/пхп здесь единообразнее и проще, разве не так?
0
но, простите, у вас тоже не везде одинаково %)
зы: можно упрастить и сделать все на хешах, выкинув массив
зыы: да, согласен что нужно понимать где у тебя хеш, где массив, а где ссылка...
зы: можно упрастить и сделать все на хешах, выкинув массив
зыы: да, согласен что нужно понимать где у тебя хеш, где массив, а где ссылка...
0
Проще - может быть. Я как то привык и уже не замечаю особо. В любом случае, это ИМХО должно изучиться для любого нормального програмиста за один день... Посел чего наступает автоматизм...
0
Видимо я - совершенно ненормальный программист. Как-то десяток языков, с которыми мне пришлось общаться, не помогает написать правильное оращение к сложной переменной в perl'е. Когда у тебя есть хеш ссылок на структуры, которые имеют своими элементами другие хеши, которые тоже содержат ссылки на структуры (ну или что-то подобное) все известные мне языки (C/C++, Python, Java, Pascal, Lisp, etc) порождают большое, но однорожное выражение, а в perl'е - образуется каша из знаков $, %, {} ...
0
В общем у перла дела странно. С одной стороны,- практически родной язык шелла *nix систем, огромное количество модулей на CPANe, mod_perl и прочие вкусности. С другой стороны,- синтаксис языка таков, что язык плохочитабельный,- и плохоподдерживаемый. В 6-м перле добавляются новые операторы, вроде и нужные, но делающие код ещё менее интуитивно понятным. Несмотря на то, что писал(и пишу) на нём много, имхо: язык для скриптов и небольших программ.
0
мда... кодинг должен стать еще болеє прост...
0
Отлично! Ещё один шаг на пути к Перл 6, хехе :).
0
первые пункты какие-то странные - этот синтаксический сахар практически ничего не меняет, но зато увеличивает требуемое знание ключевых слов
0
Perl программисты уже вымерли, кому адресована эта новость? :)))
-6
Например, мне.
Я хоть в данный конкретный момент и пищу на php, но c perl'a начинал и очень его полюбил.
Я хоть в данный конкретный момент и пищу на php, но c perl'a начинал и очень его полюбил.
0
нельзя носить статус Perl программиста и программировать на PHP
0
Ой ли Вы претендуете на истину в последней инстанции? Кто сказал нельзя?
Глупости.
Сам статус "программист" есть истина. А Perl и PHP - средства выражения.
Глупости.
Сам статус "программист" есть истина. А Perl и PHP - средства выражения.
0
если бы вам предложили работу профессионального Perl-программиста, вы бы пошли?
думаете вы бы подошли по требованиям? :-)))
думаете вы бы подошли по требованиям? :-)))
-1
Если бы меня устроили условия - вполне возможно.
Вы напрасно иронизируете, ничего обо мне не зная, уважаемый. Может и подошёл бы, а что?
Вы напрасно иронизируете, ничего обо мне не зная, уважаемый. Может и подошёл бы, а что?
0
я не имею ввиду вас лично, меня интересует тенденция, и в ней не имеет места "может быть", "возможно"...
-1
Вы спросили явно - "вы бы подошли?".
Я думаю с Вам бесполезно спорить, ибо Вы за свою жизнь не написали ни строчки perl кода и сейчас разглагольствуете на тему какой кому статус носить и кто куда подходит по требованиям. Скучно...
Я думаю с Вам бесполезно спорить, ибо Вы за свою жизнь не написали ни строчки perl кода и сейчас разглагольствуете на тему какой кому статус носить и кто куда подходит по требованиям. Скучно...
0
НЛО прилетело и опубликовало эту надпись здесь
"нельзя носить статус Perl программиста и программировать на PHP" - абсолютно верное утверждение. Нельзя вообще носить статус Perl программиста (хорошего) и заниматься чем-либо другим.
Был у меня период в жизни, когда я занимался системным администрированием. И естественно с целью уменьшения monkey-job-а изучил перл. Неплохо так изучил...
Прошло некоторое время и я стал зарабатывать на жизнь программированием для WEB (в основном java, немного RoR)... Когда я попытался написать одну системную утилиту на Perl.... ЭТО БЫЛ ТАКОЙ ПИ*ДЕЦ! Я не мог вспомнить и половины тех вещей, которые когда-то изучил.
Перл - это ЯП для людей, которые хотят каждый раз заново открывать глаза на мир. Все те приёмы, которые проходят в 90% ЯП в перле просто не работают. Даже ООП в нём нормального нет, куда такой язык можно воткнуть? Только на какую-нибудь мелкую системную фигню (которую я тоже скорее всего напишу на чём-нибудь более простом).
Был у меня период в жизни, когда я занимался системным администрированием. И естественно с целью уменьшения monkey-job-а изучил перл. Неплохо так изучил...
Прошло некоторое время и я стал зарабатывать на жизнь программированием для WEB (в основном java, немного RoR)... Когда я попытался написать одну системную утилиту на Perl.... ЭТО БЫЛ ТАКОЙ ПИ*ДЕЦ! Я не мог вспомнить и половины тех вещей, которые когда-то изучил.
Перл - это ЯП для людей, которые хотят каждый раз заново открывать глаза на мир. Все те приёмы, которые проходят в 90% ЯП в перле просто не работают. Даже ООП в нём нормального нет, куда такой язык можно воткнуть? Только на какую-нибудь мелкую системную фигню (которую я тоже скорее всего напишу на чём-нибудь более простом).
0
куда такой язык можно воткнуть?
Yahoo!, Amazon, TicketMaster, The United States Department of State, The BBC, Slashdot, и Shopzilla
+1
Про любой язык (кроме brainfuck-ориентированных) можно написать такой же список компаний, его использующих. Тем не менее это совершенно не показатель. Показатель - maintainablity, чего у перла нет, не было и никогда не будет.
0
"Нельзя вообще носить статус Perl программиста (хорошего) и заниматься чем-либо другим."
Извините, но Вы несете откровенную чушь. Это то же, что сказать "Нельзя вообще носить статус Электрика (хорошего) и (чинить мебель|ремонтировать автомобили|выпиливать лобзиком).". Если Вы такое скажете в лицо человеку, который отвечает за энергообеспечение небольшого микрорайона и при этом в состоянии починить почти любую поломку в своём автомобиле - я вам не посочувствую. И да, я лично знаю таких людей.
Аналогия №1: два языка -> две профессии (или умение обращатся с вещами - как кому угодно)
"Я не мог вспомнить и половины тех вещей, которые когда-то изучил."
Это скорее говорит о личных качествах определенной личности, но не языка. Если вы через десять лет забудете за какой конец отвертки братся чтобы раскрутить диван - позор вам и лучи поноса. Но никак не отвертке.
Аналогия №2: язык -> инструмент.
Думаю, намек понятен и продолжать не стоит.
Извините, но Вы несете откровенную чушь. Это то же, что сказать "Нельзя вообще носить статус Электрика (хорошего) и (чинить мебель|ремонтировать автомобили|выпиливать лобзиком).". Если Вы такое скажете в лицо человеку, который отвечает за энергообеспечение небольшого микрорайона и при этом в состоянии починить почти любую поломку в своём автомобиле - я вам не посочувствую. И да, я лично знаю таких людей.
Аналогия №1: два языка -> две профессии (или умение обращатся с вещами - как кому угодно)
"Я не мог вспомнить и половины тех вещей, которые когда-то изучил."
Это скорее говорит о личных качествах определенной личности, но не языка. Если вы через десять лет забудете за какой конец отвертки братся чтобы раскрутить диван - позор вам и лучи поноса. Но никак не отвертке.
Аналогия №2: язык -> инструмент.
Думаю, намек понятен и продолжать не стоит.
0
LimeOrange, простите за нескромный вопрос - вы чем себе на хлеб зарабатываете? Вот я работаю программистом (и только программистом) и говорю о том, что реально знаю (пережил).
Про личные качества - я работаю программистом и моих заработков мне хватает на хлеб с масло и крышу над головой, работая программистом на perl-е я не уверен, что я бы столько получал (читай был бы так же продуктивен).
Про личные качества - я работаю программистом и моих заработков мне хватает на хлеб с масло и крышу над головой, работая программистом на perl-е я не уверен, что я бы столько получал (читай был бы так же продуктивен).
0
Я тоже работаю программистом. Пишу сайты, и на Perl, и на PHP. Перл и люблю, и знаю лучше, но, "клиент всегда прав", на чем захотят, на том и напишу. Хотя когда не ставится конкретное требование в стиле "хочу PHP и все тут!", предпочитаю Perl. Он быстрее, как в плане производительности, так и в плане написания. Предупреждая дальнейшее развитие холивара, это лично моё мнение, на истину не претендующее. Ну вот удобнее мне этот инстурмент, и всё тут. Кроме этого я занимаюсь версткой тех же сайтов. При всем этом я помню и применяю кучу других полезных и не очень вещей в совершенно разных областях применения. Но это отнюдь не значит, что я хреновый верстальщик или хреновый программист, так как я одновременно и верстаю и пишу. "говорю о том, что реально знаю (пережил)", "*я* не уверен, что *я* бы столько получал" Нельзя судить о людях по себе и точно так же нельзя всех мерять под свою линейку. Вы - это ещё не эталон.
И, да, я не считаю себя "хорошим" программистом, скорее даже посредственным, в сравнении с асами этого дела, но тем не менее, на хлеб и к хлебу мне тоже пока вполне хватает.
И, да, я не считаю себя "хорошим" программистом, скорее даже посредственным, в сравнении с асами этого дела, но тем не менее, на хлеб и к хлебу мне тоже пока вполне хватает.
0
Просто 5 копеек: на знаю какой уровень зарплат считаеться для Москвы достаточным, но вот это предложение выгляди довольно неплохо: http://xpoint.ru/forums/job/vacancies/th…
Рядом еще лежит объявление с заявленной з/п в размере 3000$.
Рядом еще лежит объявление с заявленной з/п в размере 3000$.
0
... (потому что на Перле Фреймворка с ActiveRecord хорошего нет, ...
Не ругани ради а информации для:
Чет тот-же Catalyst под perl плох ?
Не ругани ради а информации для:
Чет тот-же Catalyst под perl плох ?
0
Вы не правы. Ничто не мешает мне программировать на Java на работе, на PHP и VB.NET дома и на Паскале, C и С# в универе. Что же по-вашему противопоставляет PHP и Perl?
0
противопоставляет необходимость программировать на этих языках.
необходимость программировать на PHP растет, на Perl падает. (в целом, в общей доле)
необходимость программировать на PHP растет, на Perl падает. (в целом, в общей доле)
0
Мне кажется вы путаете теплое с мягким. PHP популярен на вебе и (на ряду с другими Ruby и Python) потеснил Perl как безальтернативного лидера в этой области. Причем количественно. Просто потому, что уровень вхождения у него ниже. Наряду с этим, Perl никуда не делся, как на вебе так и в других областях. И количество сайтов на нем растет.
0
Согласен. PHP никогда не потеснит Perl в задачах системного администрирования. Никогда не видел на PHP сетевых демонов, GUI приложений и вообще чего-нибудь, работающего вне веба. Про дистрибутив линукса, в котором все написано на похапе слышал, но не видел, чтобы это применялось на практике.
И все же самая сильная сторона перла - это понятная и лаконичная работа со строками и текстом.
И все же самая сильная сторона перла - это понятная и лаконичная работа со строками и текстом.
0
Не горячитесь. Мне.
0
А ведь Перл и не знал... он так же популярен как и ранее, очень быстрый и удобный, особенно если речь об обработке текста, лучше перла просто ничего не существует.
0
согласен, язык очень хороший, но только почему-то многие Perl программисты решили, что PHP - это круто и сменили специализацию :)
Иначе покажите мне популярный форум(сообщество) Perl-программистов и хотябы 1 сайт фрилансеров, где обитают профессиональный Perl-программисты, думаю, не найдете ;)
Иначе покажите мне популярный форум(сообщество) Perl-программистов и хотябы 1 сайт фрилансеров, где обитают профессиональный Perl-программисты, думаю, не найдете ;)
0
Те кто хорошо программируют на Perl'е не нуждаются в сайтах фринлансерских. Такие люди давно и хорошо устроены +)
А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.
Я могу тоже самое сказать и про чистый старый добрый С. Казлось бы кто его сейчас учит? Где преподают (многие преподаватели встают в ступор, когда им говоришь что С и С++ разные языки)? Кто его знает?
Ан нет... Есть просто гигансткое кол-во старой гвардии которое на нем до сих пор пишет. На нем пишут миллионы кода который мы постоянно используем. За примерами далеко ходить не нужно - тот же apache и linux kernel...
А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.
Я могу тоже самое сказать и про чистый старый добрый С. Казлось бы кто его сейчас учит? Где преподают (многие преподаватели встают в ступор, когда им говоришь что С и С++ разные языки)? Кто его знает?
Ан нет... Есть просто гигансткое кол-во старой гвардии которое на нем до сих пор пишет. На нем пишут миллионы кода который мы постоянно используем. За примерами далеко ходить не нужно - тот же apache и linux kernel...
0
ну С++ как раз сейчас в моде, по-моему каждый ВУЗ сейчас его преподает, особенно что касается С++ под Windows :)
Сейчас даже PHP-программисты имеют основной профиль С++, а PHP, как прикладной язык.
Почему то все IT-образовательные учреждения считают, что С++ больше востребован среди работодателей, чем PHP.
Сейчас даже PHP-программисты имеют основной профиль С++, а PHP, как прикладной язык.
Почему то все IT-образовательные учреждения считают, что С++ больше востребован среди работодателей, чем PHP.
0
Так я про С++ и не говорил. Я как раз говорил, что С != С++ =)))
0
Ну вот :-)
Возможно в том то и проблема, что Apache и linux были написаны десяток лет назад теми кто был представителем С-программистов, сейчас ими же и поддерживается :) Интересно, есть ли в данный open source проектах "чиста пацаны"? :) Или через 5-10 лет мы увидим Apache и Linux написанные на PHP ? %)))
Возможно в том то и проблема, что Apache и linux были написаны десяток лет назад теми кто был представителем С-программистов, сейчас ими же и поддерживается :) Интересно, есть ли в данный open source проектах "чиста пацаны"? :) Или через 5-10 лет мы увидим Apache и Linux написанные на PHP ? %)))
0
Честно говоря я теряю нить ваших рассуждений тут. Так что конкретно по существу ответить не могу.
Помимо Apache и Linux каждый год появляются новые интересные проекты на чистом С. И не только в тех областях где С беспорный лидер (сис. прог, встраиваемые сис., библиотеки и т.д.).
Чиста пацаны есть везде. Даже в ядре линукса ChangeLog-2.6.11 | Signed-off-by: Vasia Pupkin
Помимо Apache и Linux каждый год появляются новые интересные проекты на чистом С. И не только в тех областях где С беспорный лидер (сис. прог, встраиваемые сис., библиотеки и т.д.).
Чиста пацаны есть везде. Даже в ядре линукса ChangeLog-2.6.11 | Signed-off-by: Vasia Pupkin
0
> Те кто хорошо программируют на Perl'е не нуждаются в сайтах фринлансерских. Такие люди давно и хорошо устроены +)
верно, но как раз это и подтверждает тот факт, что род Perl-программистов не омолаживается и как следствие умирает Perl, как язык.
> А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.
а почему так? Perl - может делать те же вещи, что и PHP и даже больше, неужели сложно хорошую книжку по нему для молодежи написать? :-)))
верно, но как раз это и подтверждает тот факт, что род Perl-программистов не омолаживается и как следствие умирает Perl, как язык.
> А вот молодняк учит PHP потому что модно, потому что много книжек, потому что много кто его уже знает и есть к кому обратиться. Одним словом - популярно.
а почему так? Perl - может делать те же вещи, что и PHP и даже больше, неужели сложно хорошую книжку по нему для молодежи написать? :-)))
0
верно, но как раз это и подтверждает тот факт, что род Perl-программистов не омолаживается и как следствие умирает Perl, как язык.
я думаю омолаживается, но не так быстро
да и кто сказал, что если перлом не пользуются "чиста пацаны", то из-за этого он умирает? :)
а почему так? Perl - может делать те же вещи, что и PHP и даже больше, неужели сложно хорошую книжку по нему для молодежи написать? :-)))
Мое ИМХО что на PHP возможно проще писать :)
0
> да и кто сказал, что если перлом не пользуются "чиста пацаны", то из-за этого он умирает? :)
потому что через 5-10 лет эти "чита пацаны" будут составлять основные трудовые ресурсы наших IT-корпораций ;)
> Мое ИМХО что на PHP возможно проще писать :)
проще :-) но не значит, что лучше быть PHP-программистом.
За простую работу, много не платят :-)))
потому что через 5-10 лет эти "чита пацаны" будут составлять основные трудовые ресурсы наших IT-корпораций ;)
> Мое ИМХО что на PHP возможно проще писать :)
проще :-) но не значит, что лучше быть PHP-программистом.
За простую работу, много не платят :-)))
0
ну насчёт "простой работы" - в конце концов, есть же старый добрый прикол про подметание ломом плаца. Не для того, чтобы дело сделать, а чтобы устать. И не из-за "простоты" похапешники в среднем получают меньше перловщиков... а из-за того, что разные сферы профессионального применения. Если на первом пишутся серьёзные оптимизированные до последнего байта бизнес-проекты, то второе - это удел небольших и средних начинаний. Оттуда и разница в зарплатах. А, пардон, подметание ломом плаца (в смысле, реализация простых вещей максимально неудобным спообом) - это на деле вовсе не круто, это больше снобизмом попахивает, а не реальными бизнес-требованиями.
0
эээ... мне 23, я уже стар по вашему? )))
0
Мне примерно столько же и хочу заметить, что в бурный век развития IT это уже точно не молодой :)
По крайней мере я вижу ну очень большое кол-во талантливых молодых програмистов...
ЗЫ. Как бы это пока не выглядело смешным, но ИМХО уже реально пора думать о старости...
По крайней мере я вижу ну очень большое кол-во талантливых молодых програмистов...
ЗЫ. Как бы это пока не выглядело смешным, но ИМХО уже реально пора думать о старости...
0
В бурный век развития IT ценится скорость мышления. На самом деле она не связанна напрямую с возрастом. Это я к тому, что бурный IT век ну никак не влияет на то, кого называть а кого нет молодым )
P.S. я планирую и в 60 писать хороший код )
а еще к тому времени создать много полезного свободного софта... хм?
P.S. я планирую и в 60 писать хороший код )
а еще к тому времени создать много полезного свободного софта... хм?
0
А чем (camel|llama|cook) book плохая для молодежи книга?
0
Про литературу я может быть и погорячился.
Когда я выбирал язык програмирования для WEB, я выбрал Perl потому что книг о нем было предостаточно, в нем был виден потенциал применения его не только в качестве WEB ну и писался он, как мне кажется, хакерами-гиками. Это меня и привлекло.
Сейчас при выборе языка для Веб, Perl будет расматриваться как самый последний вариант (хотя, пожалуй последними будут ASM/C/C++/Pascal %)). Причины и так наверное всем ясны - много кто его знает, значит можно при изучение консультироваться у знакомых, много книг, много фреймворков и примеров на нем...
Единственное что мне до сих пор интересно, так это как так получилось, что Perl проиграл гонку вооружения и сдал позиции PHP? Не ужели именно из-за того, что "его трудно читать/понимать"? Мне кажется, что PHP выиграл скорее из-за удачного маркетинга, если этот термин возможно тут применить...
Когда я выбирал язык програмирования для WEB, я выбрал Perl потому что книг о нем было предостаточно, в нем был виден потенциал применения его не только в качестве WEB ну и писался он, как мне кажется, хакерами-гиками. Это меня и привлекло.
Сейчас при выборе языка для Веб, Perl будет расматриваться как самый последний вариант (хотя, пожалуй последними будут ASM/C/C++/Pascal %)). Причины и так наверное всем ясны - много кто его знает, значит можно при изучение консультироваться у знакомых, много книг, много фреймворков и примеров на нем...
Единственное что мне до сих пор интересно, так это как так получилось, что Perl проиграл гонку вооружения и сдал позиции PHP? Не ужели именно из-за того, что "его трудно читать/понимать"? Мне кажется, что PHP выиграл скорее из-за удачного маркетинга, если этот термин возможно тут применить...
0
Скорее причина в том, что PHP легко встраивается в HTML код.
0
У перла тоже был в то время проект где можно было без проблем встариваться в страницы.
И насколько я знаю, сейчас от этого стараются уйти - т.е. разделить код и темплейты.
И насколько я знаю, сейчас от этого стараются уйти - т.е. разделить код и темплейты.
0
ну, первое что приходит в голову: http://community.livejournal.com/ru_perl…
а вообще, действительно, перл программисты давно устроены и хорошо зарабатывают (лично знаю несколько таких примеров)
ПХП же в основном звучит в "вакансиях" и естественно что его пытаются учить толпы студентов, тем не менее PHP очень часто критикуется как по безопасности, так и по стилю программирования (часто схожие функции имеют совершенно перепутанный порядок агрументов, что не добавляет ничего хорошего).
А что уж про С говорить.... все ядро Linux - это голый СИ!
а вообще, действительно, перл программисты давно устроены и хорошо зарабатывают (лично знаю несколько таких примеров)
ПХП же в основном звучит в "вакансиях" и естественно что его пытаются учить толпы студентов, тем не менее PHP очень часто критикуется как по безопасности, так и по стилю программирования (часто схожие функции имеют совершенно перепутанный порядок агрументов, что не добавляет ничего хорошего).
А что уж про С говорить.... все ядро Linux - это голый СИ!
0
Откуда такая вызывающе некорректная информация? ;) количество перл программистов год от года растет.
0
с чего бы? :-)))
0
А открой любую статистику скажем проектов на perl'е в вебе.
Так вот, статистика тебе эта скажет, что общая доля perl проектов падает, но их абсолютное кол-во растет =)
Perl умер. Да здравствует Perl!
Так вот, статистика тебе эта скажет, что общая доля perl проектов падает, но их абсолютное кол-во растет =)
Perl умер. Да здравствует Perl!
0
их количество растет только потому что внимание к Интернету растет, к сайтостроительству, количество пользователей Интернет растет в конце концов и проектов появляется все больше и больше, не удивительно, что человек, который допустим раньше выпускал 1 проект на Perl, сейчас выпускает 2,3 стартапа на Perl... Не потому, что Perl стал популярнее... :-)
0
а статья JT-Smith похожа на само-мотивацию :))) потому что тот же Yahoo уже активно использует PHP, больше чем Perl :-)
0
Я программирую на Perl (так к слову)
0
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Лучшая литература по перлу - его документация.
0
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 Hacks того же автора и Perl Cookbook by Tom Christiansen and Nathan Torkington.
Интересно почитать Higher-Order Perl: Transforming Programs with Programs by Mark Jason Dominus
+2
Кемелбук! Сразу после базового понимания языка читать Программирование на Perl. Это лучшая книга, на мой взгляд.
0
хочется спросить тоже самое про PHP (на русском желательно, а если еще в электронном виде, то вообще супер)
просто сейчас прихожу к выводу, что хватить мучат себя асмом, надо обратно перебираться на яву
в бытность школьником-студентом учил паскаль\дельфи, а потом случайно вышло, что перешел на ассемблер, и теперь когда думаю над какой-то проблемой, то "думается" почему-то на асме :(
пишу только для себя..
p.s а может быть, ну его этот PHP, и лучше заняться Питоном?
p.p.s с\с++\с# для меня тоже темный лес, но мне сейчас именно нужно писать что-то веб-ориентированное, которое могло бы крутиться где нибудь на веб-сервере
просто сейчас прихожу к выводу, что хватить мучат себя асмом, надо обратно перебираться на яву
в бытность школьником-студентом учил паскаль\дельфи, а потом случайно вышло, что перешел на ассемблер, и теперь когда думаю над какой-то проблемой, то "думается" почему-то на асме :(
пишу только для себя..
p.s а может быть, ну его этот PHP, и лучше заняться Питоном?
p.p.s с\с++\с# для меня тоже темный лес, но мне сейчас именно нужно писать что-то веб-ориентированное, которое могло бы крутиться где нибудь на веб-сервере
0
Для 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
Да все просто - кучу готовых решений, и не на палочке CPAN, а встроенных, Мне лично стало леньискать как работать с изображениями sqlite и многим другим, я нашел в PHP просто типа того что: create_image print_text_on_image.
А вообще мне сейчас очень нравится виток развития JavaScript и frameworkов. Там можно многому учиться сейчас, ускоряя процесс разработки. Я кста еще не тестил CodeInjector какой-нибудь.. но пока вроде не надо, сервер для меня - уже становится просто БАЗОЙ данных, http://ajaxed.ru http://waki2.com
0
Имхо уже не поможет. Что бы вытащить Perl нужно провести некислые PR акции и т. д.
ЗЫ. Фреймворки уже есть, возьмите к примеру Catalyst?
ЗЫ. Фреймворки уже есть, возьмите к примеру Catalyst?
0
PR-акции?! Все, что нужно продолжать развивать язык и делать на нем отличные программы. И это делается ) Просто продолжать.
Perl у многих людей вызывает положительные эмоции, я потсоянно слышу это >. Так вот для меня тут нет никаких но, люблю Perl, пишу на нем. И работа приносит удовольствие )
И никакого другого PR-а просто не нужно. Только хороший продукт и удовольствие от его создания.
Perl у многих людей вызывает положительные эмоции, я потсоянно слышу это >. Так вот для меня тут нет никаких но, люблю Perl, пишу на нем. И работа приносит удовольствие )
И никакого другого PR-а просто не нужно. Только хороший продукт и удовольствие от его создания.
0
Для Web однозначно РНР5+? Вы, должно быть, не слышали ни о RoR, ни о Django с Pylons. Нет, если вам нравится, и на РНР вы делаете быстро и хорошо, это замечательно. Но утверждать, что «однозначно», нельзя.
0
И видел и слышал RoR, но сколько времени надо потратить чтобы туда войти, PHP. тем более FAQ PHP на каждом угле теже CodeInjector все уже привязывают к php. Вообщем ради интереса.. а начнешь ставить их - а там столько косякооов. то папку не создал, то атрибуты не выставил, а надо же это знать. А в PHP пиши как хочеш.
0
За статью спасибо, было интересно.
В одной книге ("Искуство програмирования на UNIX") писали так: Каждый програмист сам выбирает на каком языке ему лучше и быстрее писать, главным фактором при выборе языка является скорость выполнения конкретного проекта. А синтаксис скорость компиляции, количество библиотек и.т.п. это чисто субъективное мнение каждого програмиста. Ведь в итоге програма пишется для пользователей и администраторов. Первым абсолютно всеравно на чем оно написано главное чтоб програма решала свои задачи максимально удобным способом, вторым очень редко приходится что то изменять в коде.
В учебном заведении меня учили С++, там же мне сказали если ты освоил хотябы один язык програмирования то остальные очень легко освоить самому. Так со мной и произошло в последствии. PHP и Perl выучил сам по документации, регулярно пишу на обоих. В PHP легко делать ВЕБ интерфейсы для этого я его и использую. В Perl пишу утилиты автоматизации, парсеры, сетевых демонов (не представляю как бы я это делал в php).
З.Ы.
Согласен у perl страшный синтаксис (сам испугался когда впервые увидел), но за счет этого он выигрывает в объеме кода. Многие конструкции написаные на perl намного короче аналогов на php, C++. В итоге, если привыкнуть к синтаксису, писать получается намного быстрее.
В одной книге ("Искуство програмирования на UNIX") писали так: Каждый програмист сам выбирает на каком языке ему лучше и быстрее писать, главным фактором при выборе языка является скорость выполнения конкретного проекта. А синтаксис скорость компиляции, количество библиотек и.т.п. это чисто субъективное мнение каждого програмиста. Ведь в итоге програма пишется для пользователей и администраторов. Первым абсолютно всеравно на чем оно написано главное чтоб програма решала свои задачи максимально удобным способом, вторым очень редко приходится что то изменять в коде.
В учебном заведении меня учили С++, там же мне сказали если ты освоил хотябы один язык програмирования то остальные очень легко освоить самому. Так со мной и произошло в последствии. PHP и Perl выучил сам по документации, регулярно пишу на обоих. В PHP легко делать ВЕБ интерфейсы для этого я его и использую. В Perl пишу утилиты автоматизации, парсеры, сетевых демонов (не представляю как бы я это делал в php).
З.Ы.
Согласен у perl страшный синтаксис (сам испугался когда впервые увидел), но за счет этого он выигрывает в объеме кода. Многие конструкции написаные на perl намного короче аналогов на php, C++. В итоге, если привыкнуть к синтаксису, писать получается намного быстрее.
0
просто захотелось....
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;
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Что нового в Perl 5.10?