The OpenNET Project / Index page

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

Тринадцатый выпуск журнала Pragmatic Perl

07.03.2014 13:04

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

В номере:

  • От редактора: Год журналу
  • «Старые» современные возможности Perl
  • Сигнатура функции в Perl 5.20
  • Обзор CPAN за февраль 2014 г.
  • Интервью с Брено де Оливейра (Breno G. de Oliveira)


  1. Главная ссылка к новости (http://pragmaticperl.com...)
Автор новости: vti
Тип: Программы
Короткая ссылка: https://opennet.ru/39259-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, cmp (ok), 17:47, 07/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Прислали тут давеча скрипт на перле, из самой московии, чтобы выгрузку из бд на их ftp клал, а ему тьма либов перловых надобна, чтобы гребаный запрос к бд сделать, да запихнуть на серв через внешнюю команду, ну да ладно, надо так надо, через пару часов подвязок всяких репов и попыток установить правильную либу с неправильной версией на серв, перл таки рухнул в ошибку и запускаться отказался на отрез, а при перезагрузке запускаться оказался и сервер.

    Спрашивается, нахера плодить столько сущностей, если возня с ними начиста перекрывает, преимущество от использования скриптовых языков, не знаю есть ли реализация SOAP под Си, но затраченного времени вполне бы хватило. для написания проги на нем для пары SOAP запросов и запихивания результата в файл.

     
     
  • 2.5, Аноним (-), 18:15, 07/03/2014 [^] [^^] [^^^] [ответить]  
  • +8 +/
    И на что ты жалуешься?
    Люди у меня руки из жопы растут, я как есть сажусь и в руки вилку беру БЯДА прям - всё дузло в дырках и поесть не выходит и ущерб здоровью! Вывод - ВИЛКИ ЗЛО!
     
  • 2.6, angra (ok), 19:04, 07/03/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Для решения проблем с зависимостями в Perl создано несколько удобных инструментов под разные уровни.
    1. cpanm + local::lib решает вопрос с собственно модулями
    2. perlbrew обеспечивает нужную версию perl
    3. PAR, Perl::Static и еще парочка позволяют вообще все упаковать в один бинарник, который на целевой системе надо просто запустить.

    Кто же виноват, что вы обо всем этом не знаете. Вот почитайте журнальчик, просветитесь, на эти темы материал в прошлых выпусках был.

    При получении чужих скриптов достаточно сделать grep по use|require, получить из этого список модулей и скормить его cpanm. У опытного админа минут десять займет, не важно на bash или том же perl. Ну а дурак конечно может пару часов неведомо что творить и в конце концов угробить сервер.

    Мораль: дуракам сервера доверять нельзя.

     
     
  • 3.8, cmp (ok), 20:21, 07/03/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Я не работаю программистом перл шляпы, мне все ваши приблуды до звезды, у меня е... большой текст свёрнут, показать
     
     
  • 4.12, freehck (ok), 22:12, 07/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Меня откровенно пугает ваша абсолютная уверенность в своей непогрешимости.

    Вы написали скрипт на php для xmpp (который кстати чисто текстовый, и ни от чего не зависит) - и он обновляется без проблем. О чудо.
    Вы написали скрипт на perl, который работает с базами и имеет много модулей в зависимостях. И при обновлении всплыли проблемы. О чудо.

    Может, Вы всё-таки плохо скрипт написали? Может, Вы задействовали из этих модулей функции, помеченные как deprecated, и удалённые из новых версий модулей? А не кажется ли Вам, что это в принципе проблема любых библиотек в любом языке программирования?

    Я не понимаю, почему инструмент виноват в том, что у Вас всё плохо, если у большинства разработчиков всё хорошо.

     
     
  • 5.19, vti (ok), 01:46, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Главный смысл коментария вот здесь:

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

    Т.е. человек не хочет напрягаться, а деньги получать хочет :D

     
     
  • 6.23, cmp (ok), 08:11, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да я не хочу напрягаться на переписывание кода для сохранения имеющегося функционала, а вам не кажется глупым переписывать код просто ради того чтобы переписать под новую версию?

    > Я не понимаю, почему инструмент виноват в том, что у Вас всё плохо, если у большинства разработчиков всё хорошо.

    У большенства? вы в какомто мире другом живете? я вам привел уже пример того как !скаченый с нета скрипт на пхп работает, а там несколько тысяч строк кода, ну пакажите мне скрипт на перле в котором несколько тысяч строк кода и который будет нормально работать, на системах как современных так и 10летней давности.

    У меня периодически возникает необходимость сконвертировать 2-3-5 мег инфы, дабы не парится набираю в гугле что надо, получаю ссылку на перл скрипт, и сколько раз не пробовал столько раз обжигался на том, что блять пол системы надо переебсти чтобы он только запустился, а сконвертит или нет еще не факт.

    > Может, Вы всё-таки плохо скрипт написали? Может, Вы задействовали из этих модулей функции, помеченные как deprecated, и удалённые из новых версий модулей? А не кажется ли Вам, что это в принципе проблема любых библиотек в любом языке программирования?

    1) нет не кажется, 2) не я его писал, 3) если добавление/удалений функций происходит постоянно, то какой профит от написания чего-либо? оно через год два устареет и работать не будет, опять писать?

    > Меня откровенно пугает ваша абсолютная уверенность в своей непогрешимости.

    Я рад что вы уловили данный посыл, на заре своей карьеры я пытался понять перл, что-то писал, хоть меня и несколько раздражали особенности синтаксиса, но тем не менее последним гвозьдем в гроб стала именно переносимость, с одной машины на другую, как вы говорите 10 минут, зачем терять их если можно за 0.5 скопировать сам скрипт и даже не думать о каких-то там зависимостях. А если скриптов зоопарк, и все под разные версии, уу, тогда работа превращается в ад, но если вам нравится это ваще право.

     
     
  • 7.24, angra (ok), 08:34, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, мы живем в другом мире. В нашем мире программисты знают что такое code reuse и библиотеки, а не гордятся велосипедами на 10к строк. В нашем мире программисты знают используемый язык, его среду и умеют правильно паковать перловые программы для переносимости и писать к ним простые инструкции. В нашем мире системными администраторами не называют обезьянок, чей потолок yum install. Наш мир - это мир умных людей.

    Хотите одним глазком заглянуть в наш мир? Тогда справьтесь с эмоциями и открытым текстом попросите прямо в этом топике рассказать вам, как следовало поступить в вашей ситуации.

     
     
  • 8.27, Маленькая Серая Мышка (?), 14:09, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Тут дело даже не совсем в мире Одна из основных, а может быть и главная, пробле... текст свёрнут, показать
     
     
  • 9.31, angra (ok), 18:19, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да perl это не питон, на нем возможно писать однострочники Я только не поним... текст свёрнут, показать
     
     
  • 10.34, Маленькая Серая Мышка (?), 18:33, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Только этого делать как-то не принято Поэтому обычно берут перл и делают это на... текст свёрнут, показать
     
     
  • 11.38, angra (ok), 08:50, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Первый раз не совсем правильно понял вашу мысль, мне показалось, что вам не нрав... текст свёрнут, показать
     
     
  • 12.41, rob pike (?), 18:57, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот вопрос в том почему нет слова Modern Python и слова Modern Ruby ... текст свёрнут, показать
     
     
  • 13.42, angra (ok), 22:37, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, авторы этих языков не дружат с такой концепцией как обратная совмест... текст свёрнут, показать
     
  • 8.28, Добрый Дохтур (?), 16:40, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а в перле вообще наследование объектов есть а в вашем perl-мире что есть для на... текст свёрнут, показать
     
     
  • 9.29, angra (ok), 18:13, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1 Да 2 Да 3 XS лишь один из способов, есть другие Можно например глянуть док... текст свёрнут, показать
     
  • 9.30, Маленькая Серая Мышка (?), 18:15, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, только регэкспы и онлайнеры На много тысяч соединений на тредах не пишут ... текст свёрнут, показать
     
     
  • 10.39, Добрый Дохтур (?), 09:03, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а что сомнительного в green threads и actor model беда всех таких фреймворков -... текст свёрнут, показать
     
     
  • 11.43, angra (ok), 22:48, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для ниасиляторов state machine и callbacks лапша именно у ниасиляторов, у других... текст свёрнут, показать
     
     
  • 12.44, Добрый Дохтур (?), 00:29, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    программировать fsm муторно проще ошибиться и больше кода т е речь не о то... текст свёрнут, показать
     
     
  • 13.46, Маленькая Серая Мышка (?), 01:49, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так вы веселья хотите Тут согласен - отлаживать треды очень весело И главное э... текст свёрнут, показать
     
     
  • 14.48, Добрый Дохтур (?), 08:22, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну у меня как-то получается и без дедлоков может, всё дело в языке, дающем удоб... текст свёрнут, показать
     
  • 11.45, Маленькая Серая Мышка (?), 01:42, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот именно это называется сектантство - когда вы не имеете представления о недос... текст свёрнут, показать
     
     
  • 12.49, Добрый Дохтур (?), 08:45, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    с чего такие выводы о моей персоне кроме того, этот подход хорошо масштабируетс... большой текст свёрнут, показать
     
  • 8.32, cmp (ok), 18:23, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    1 не горжусь, а ставлю в пример 2 не велосипед, а единственная в своем роде р... текст свёрнут, показать
     
     
  • 9.33, Маленькая Серая Мышка (?), 18:26, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну раз вы не умеете этого делать, почему бы и не поучиться Не хотите - воля ваш... текст свёрнут, показать
     
     
  • 10.36, cmp (ok), 19:09, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что это вопрос веры, ваш бог не лучше моего, разве что мой сервера еще ни... текст свёрнут, показать
     
     
  • 11.37, Маленькая Серая Мышка (?), 19:13, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какая вера, какие олимпы Если у вас достаточно часто возникают ситуации когда н... текст свёрнут, показать
     
     
  • 12.40, cmp (ok), 12:01, 09/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    недостаточно... текст свёрнут, показать
     
  • 7.25, noize (ok), 11:37, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > ну пакажите мне скрипт на перле в котором несколько тысяч строк кода и который будет
    > нормально работать, на системах как современных так и 10летней давности.

    легко - http://www.webmin.com

     
     
  • 8.26, anonymous (??), 11:54, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Еще на наг ру был интересный скрипт dhcp сервера с базой mysql, самое то для бил... текст свёрнут, показать
     
  • 7.47, x0r (??), 01:53, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Говорят, автор Perl - лингвист, а у вас похоже с языками туго, даже с русским. Может не стоит на зеркало пенять, если с рожей не вышло?
     
  • 4.15, asld (?), 22:58, 07/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такое ощущение, что писал google translate))
     
  • 4.21, Аноним (-), 04:21, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Я не работаю программистом перл шляпы, мне все ваши приблуды до звезды,

    Ты забыл самое главное - ВИЛКИ ЗЛО! :)

     

  • 1.7, Аноним (-), 19:22, 07/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Очень хороший журнал. Удачи авторам.
     
     
  • 2.18, vti (ok), 01:43, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Очень хороший журнал. Удачи авторам.

    Спасибо.

     

  • 1.16, Маленькая Серая Мышка (?), 00:21, 08/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Что такое ООП в случае Perl? Это, так называемый, blessed hashref

    Да что ж такое-то опять, да почему ж обязательно hashref, если блессить можно любой тип данных?
    И про Tie было б неплохо уж заодно упомянуть, как вообще уникальный вариант ООП, причем в самом хорошем смысле этого слова.

     
     
  • 2.17, vti (ok), 01:43, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не последняя статья автора про "фишки" перла, думаю, напишет еще про tie. А про blessed хорошее замечание.
     
     
  • 3.20, Маленькая Серая Мышка (?), 03:13, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тогда, надеюсь, в третьей части будет про самое вкусное - bless и tie вместе (оба очевидных варианта) и обсуждение стоит ли tie-ить и bless-ить to the same package (по русски это звучит как-то по-дурацки, извините), несмотря на то что это возможно. Хотя Conway это детально разобрал - с понятными картинками - еще 14 лет назад, как-то никто его особо не читал, есть такое ощущение. Так что многим будет интересно.

    Ну и неплохо бы лишний раз повторять при каждом удобном случае "Though bless indeed requires a reference as argument it actually tells _the thingy referenced by REF that it is now an object_, so it blesses the thingy, and not the reference".

     
     
  • 4.22, angra (ok), 06:49, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А почему бы вам и не написать такую статью для этого журнала?

    Еще интересно было бы посмотреть на примеры классов, где оправдано использование не хешей. За все время я только раз такое создавал, там были операции с полиномами и list для bless подходил лучше чем hash.


     
     
  • 5.35, Маленькая Серая Мышка (?), 18:42, 08/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему бы вам и не написать такую статью для этого журнала?

    Потому что Conway еще в 2000 все об этом уже написал, и лучше чем кто-либо сможет в будущем? Книжка доступна, бери да читай.

    > Еще интересно было бы посмотреть на примеры классов, где оправдано использование не
    > хешей. За все время я только раз такое создавал, там были
    > операции с полиномами и list для bless подходил лучше чем hash.

    Мне кажется что здесь полезно было бы посмотреть на ООП немного проще чем это принято в мэйнстриме. Вот есть у нас нечто, например filehandle, хотим мы его научить некоему дополнительному нужному нам кунштюку. Не нужно нам писать класс файлхэндл-с-кунштюком, хранить в нём fh и так далее и тому подобное - привет Бучу, Фаулеру и компании. Мы просто хотим добавить ему один-два метода, и чтобы перл знал что он вот такой у нас особенный, достаточно поставить ему флажок "magic" и указатель на пакет где эти методы брать.
    И в примерах недостатка не окажется, если посмотреть вот так, ясным взглядом, без догматизма.

     
     
  • 6.50, angra (ok), 16:55, 10/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Какой-то дико извращенный вариант. Натянуть класс только ради натягивания класса. Зачем ограничивать функции работы с filehandle требованием принадлежности filehandle классу? Если никакой дополнительной информации не хранится в объекте, то с точки зрения кода метода/функции нет разницы принадлежит ли какой-то filehandle классу или нет, это все-равно просто тупой filehandle. В общем практической пользы ноль.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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