LINUX.ORG.RU

До конференции YAPC::Russia «May Perl» осталось три дня

 ,


0

0

Кто не успел зарегистрироваться или же просто упустил из виду, спешите, еще есть время! Конференция пройдет в Москве, в эти выходные (17-18 мая).

Программа уже, видимо, меняться не будет. В программе конференции следующие интересные выступления:

День первый (17-го):

  • ‎IO::Lambda - асинхронный ввод-вывод в сложных задачах‎;
  • ‎Perl и Web 2.0‎;
  • профилирование Perl-кода‎;
  • POE - событийная машина Perl;
  • сайт на Jifty за пару часов‎;
  • построение совместимых Perl/mod_perl систем с веб-интерфейсом‎;
  • Eludia.pm: практичный MVC для корпоративных Intranet-систем‎;
  • аргументы в пользу XSLT‎.
День второй (18-го):
  • Moose - постмодернистская объектная система на Perl‎;
  • ООП. Parrot. Можно использовать;
  • разработка CMS для крупного портала на примере TRAVEL.RU‎;
  • применение ORM в Perl‎;
  • использование шаблона проектирования MVC в web-проектах‎;
  • использование web-based real-time графического вывода с использованием Perl‎.

Ну и, конечно же, масса общения с людьми, любящими Perl, профессионально использующими Perl и просто заинтересовавшимися Perl :)

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

★★★

Проверено: Shaman007 ()
Ответ на: комментарий от no-dashi

>> особенно если пол linux-а завязано на perl

> 75% задач, ныне как правило решаемых на perl, решается средствами AWK и
> Shell, а в web'е (mod_perl) не менее успешно покрываются php и Java :-)

А зачем?
Под каждую задачу брать свой язык?
Большинство языков, которые Вы назвали - нишевые.
Возможно в своей задаче они и хорошы, хотя есть, некоторые сомнения.
Попытка утянуть решение с пути универсальности - приводит к его удорожанию. Одна история с Коболом в банках чего стоит...

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

> посмотрим что вы скажите когда отточат Rakudo(и Parrot соотвественно) :)

Ну конечно посмотрим. Parrot УЖЕ всем сливает.
У Java огромный спектр применения, ниибическое количество сторонних фреймворков и библиотек (открытых и нет), заинтересованность со стороны монстров индустрии, IDE на любой вкус и GPL в скором будущем.

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

>Parrot УЖЕ всем сливает.

Как он может сливать, когда он ещё не вышел? Да и скорость собственно побоку, перл никогда не был быстрым, у него другие достоинства.

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

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

то есть например '((( текст ))) текст ))'

чтобы превратился в 'текст )) текст'

или если без жадности то в 'текст текст ))'

ну если фанаты явы/руби тут тоже самое на яве/руби нарисуют то я с удовольствием посмотрю

на перле это однострочником делается

а как на кастрированных регвыражений других языков это сделать хез

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

>Ну конечно посмотрим. Parrot УЖЕ всем сливает.

perl/parrot пока могут делать много чего такого что ни один язык еще не умеет

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

Вы наверно в школе не проходили дискретную математику?
Данная задача не относица к классу регулярных выражений.
Может быть перл и может это делать в одну строку, но вот пример на Java:
(Если убрать инициализацию переменной и вывод то две строки ))

String s = "((( текст ))) текст ))";
Pattern p = Pattern.compile("\\(([^\\(\\)]*)\\)");
for(Matcher m = p.matcher(s); m.find(); m = p.matcher(s)) s = m.replaceFirst("$1");

System.out.println(s);

anonymous
()

Начались разборки в теме) Кому что нравится. Писал на Php получалось. Писал на perl тоже получалось и на java. ну какая хрен разница - в каждый определённый момент подходит больше один язык и неудобен другой. Иногда это может зависеть от внутреннего дао и разположения планет но всё бывает. Кто-нить писал сайт на ассемблере?) кстати тоже можно)). Интересная мысль попахивающая мазохизмом...

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

Дискретной математики в большинстве школ нет - она в универах. но тем не менее у вас классно выходит.

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

>Чем он лучше питона? :)

1. некастрированными регулярными выражениями (так сказать нативными)

2. изящностью синтаксиса

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

Ок, а тогда чем оно лучше Ruby? Если не считать производительность, которую в скором будущем подтянут.

captcha: tracer

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

1. некастрированными регулярными выражениями (так сказать нативными)

2. изящностью синтаксиса

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

>Питон/Руби чем не устраивают?
Мертворождённые языки, которые так и не смогли попасть в мэйнстрим.
У Питон/Руби одна надежда на Parrot.

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

>Ребят, я не понимаю -- откуда столько желчи? Не нравится перл -- не используйте! Можно подумать, что вас кто-то заставляет писать на перле вместо ruby/java/python/подставить_по_вкусу
Как правило ругаются 2 категории:
1. тормозы, сил у которых хватило освоить только 1 язык и теперь они пререживают, что их навки нахрен никому не нужны.
2. недлёкие, не понимающие разницы и преимуществ скриптовых(динамических) статических подходов в языкостроиении. У них мозг не может воспринять 2 парадигды :(

anonymous
()

профессионально люблю Perl. подскажите подходящего режиссера!

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

> String s = "((( текст ))) текст ))";
> Pattern p = Pattern.compile("\\(([^\\(\\)]*)\\)");
> for(Matcher m = p.matcher(s); m.find(); m = p.matcher(s)) s = m.replaceFirst("$1");

> System.out.println(s);


мда... ужос как неэффективно. Для такой примитивщины еще и цикл писать надо ? а если текст более менее приличных размеров и число вхождений ~ 10000, сколько оно будет отрабатывать это на java ? И вообще сможет ли ?

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

>> Там уже давно есть WSH до которого всяким bash'ам как до китая раком

>Это то самое овно, которое сразу при старте ~80 мегов отжирает? и которой чтоб работать нужен VB и еще хуча левого совта? малчик, ьы еще повершелл вспомни.

Нет, это тот самый основной скриптовый язык винды "в коробке", который умеет все, что можно сделать в винде. VB тут вообще не причем, и памяти он "жрет" поменьше всяких питонов.

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

> 1. некастрированными регулярными выражениями (так сказать нативными)

И все. Больше ни на что он не способен.

> 2. изящностью синтаксиса

Аргументы. У перла самый один из самых ебанутых синтаксисов. Сравнивать перл и питон по красоте синтаксиса - это как сравнивать молоток и китайскую вазу, тоже по красоте.

А так, кроме регулярных вырожений, ни одного аргумента не поступало. Красотой синтаксиса он сливает и руби, и питону.

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

> Нет, это тот самый основной скриптовый язык винды "в коробке", который умеет все, что можно сделать в винде. VB тут вообще не причем, и памяти он "жрет" поменьше всяких питонов.

> vit122

Петросян

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

Анонимус, ваши тесты на потребление памяти WScript я не видел

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

> У перла самый один из самых ебанутых синтаксисов.

Не трать свое время, анонимус. Бывает, что люди не только синтаксис перла считают изящным, но и товарища в попу шпарить нормой — извращенцев много.

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

Вот из-за этой завязаности линекс умрет — "base system" зависит чуть ли не от большей тучи технологий нежели пресловутая винда с ком и проч. Причем если технологии венды пишутся одной фирмой, то в линексе только ядро и кде более менее структуризированы, все остальное это большая свалка из сторонних либ и экзешни коя связывается перлом, ибо в силу хорошей адгезии к фекалиям, оно является наилучшим клеем — иначе говоря перл лучшее средство для сращения униксвейных программок ибо позволяет легко работать с пресловутыми текстовыми потоками, но это прошлый век, ибо в этой свалке текстовые потоки читают только инфраглазые, следовательно смысла в текстовых потоках нет!

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

Хуясе откровение о_О

Логопед и психиатр уже не поможет. Может еще расскажешь про приемущество бинарных форматов перед текстовыми? ^_^

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

>Для такой примитивщины еще и цикл писать надо ?

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

а то что синтаксис Пёрла уродский, write-only - это признает даже его создатель. скаляры, ссылки, объекты, разная "магия" и т.п. - все это говорит о реализации языка через одно место. короче, место ему на свалке рядом с пыхпыхами и т.п.

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

вот еще задачка для одного регвыражения:

имеется текст в переменной нужно в начале каждой строки этого текста поставить ее номер.

желательно номер выровнять по ширине (скажем 5 символов)

ну что, любители python/java/ruby будете продолжать настаивать на некастрированности регвыражений в этих языках?

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

>Аргументы. У перла самый один из самых ебанутых синтаксисов.

еще один ниасиливший?

>Красотой синтаксиса он сливает и руби

ага end'ы в конце блока дико красиво сиди разбирай где блок начался и сколько раз закончился

>и питону.

это то зачем откапывать?

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

>а то что синтаксис Пёрла уродский, write-only - это признает даже его создатель.

4.2

> скаляры, ссылки, объекты, разная "магия" и т.п.

я понимаю, что программирование для тебя - магия

зачем ты в дискуссию-то ввязываешься?

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

>имеется текст в переменной нужно в начале каждой строки этого текста поставить ее номер. желательно номер выровнять по ширине (скажем 5 символов)

import re

txt_in = 'abc\ndef\nghj\ndsaa'

s_cnt = 1; txt_out = '' for re_in in re.finditer('^.*?$', txt_in, re.I | re.M) : txt_out += str(s_cnt).rjust(2) + '. ' + re_in.group(0) + '\n'; s_cnt += 1

print txt_out

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

>вот еще задачка для одного регвыражения:

Вот таким образом в последнюю ночь делаются лабы в универах)) Стоит запостить на лор - тебе сразу все решат, еще и расскажут, почему это рулит.

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

ну и сравни свой велосипед с циклами и птичьими изысками с изящным Perl:

$txt="abc\nef\njhj\nsklsklk\njskjsk";

$txt=~s/^(.)/sprintf "%5d $1", ++$lno/gem;

print "$txt\n";

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

nbw:[~]$ cat test.py 
import re

txt_in = 'abc\ndef\nghj\ndsaa'

s_cnt = 1; txt_out = '' for re_in in re.finditer('^.*?$', txt_in, re.I | re.M) : txt_out += str(s_cnt).rjust(2) + '. ' + re_in.group(0) + '\n'; s_cnt += 1

print txt_out 
nbw:[~]$ python test.py 
  File "test.py", line 5
    s_cnt = 1; txt_out = '' for re_in in re.finditer('^.*?$', txt_in, re.I | re.M) : txt_out += str(s_cnt).rjust(2) + '. ' + re_in.group(0) + '\n'; s_cnt += 1
                              ^
SyntaxError: invalid syntax

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

даж попроще можно:

nbw:[~]$ perl test.pl  
    1 abc
    2 ef
    3 jhj
    4 sklsklk
    5 jskjsk
nbw:[~]$ cat test.pl 
#!/usr/bin/perl

my $txt="abc\nef\njhj\nsklsklk\njskjsk";
$txt=~s/^/sprintf "%5d ", ++$lno/gem;

print "$txt\n";

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

>Так что perl язык системного программиста

А я то наивно пологал что C..

P.S. перл фтопку, python рулит

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

Это ли изящество? Ну серъёзно, встретив такое в коде какого-нить продукта, надо программисту по пальцам бить. Особенно, если планируется продукт поддерживать и дальше развивать. Это лишний раз доказывает, что конечно можно и на перле писать нормальный код, но программистов он приучает к write-only кодингу.

P.S. Хотя и пример с питоном выше тоже не красивее.

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

>SyntaxError: invalid syntax

после txt_out = '' - новая строка, исчезла в сообщении

конечно это можно еще сократить, вариантов много

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

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

>P.S. Хотя и пример с питоном выше тоже не красивее.

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

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

> конечно. потому и не стоит гнаться за однострочным кодом.
Именно!

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

> линекс

линекс - средство от запоров, ну сколько уже повторять можно.

А линукс - ядро одной широкоизвестной операционной системы. :)

Ky6uk-Py6uk
()
Ответ на: комментарий от xargs

Синтетические задачки, придуманные чтоб неискушенные погромисты открывали рты от "изящества" перла - фтопку. Реши реальную задачку:

Файл вида:

----

Номер счета Сумма Фамилия

12345600000 5000 Иванов

00001 4000 Сидоров А.П .... 00002 400 ООО "Петр"

40005500000 3333 Петрова А.В.

---

Приведи однострочником к структурированному виду, а мы посмотрим.

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

Номер счета Сумма Фамилия

12345600000 5000 Иванов

      00001 4000 Сидоров А.П .... 
      00002 400 ООО "Петр"

40005500000 3333 Петрова А.В. 

vit122
()

Увидел эту фразу на одном блоге, в котором автор наезжал на Перл.Мне она понравилась, что я записал её : "Larry says God talks to him, and tells him that He hates non-Perl programmers."

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

> #!/usr/bin/perl

> my $txt="abc\nef\njhj\nsklsklk\njskjsk"; > $txt=~s/^/sprintf "%5d ", ++$lno/gem;

> print "$txt\n";

накуя так длинно ?

#!/usr/bin/perl

$_="abc\nef\njhj\nsklsklk\njskjsk";

s/^/++$lno.' '/gem; print "$_\n";

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