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. Наш мир - это мир умных людей.
Хотите одним глазком заглянуть в наш мир? Тогда справьтесь с эмоциями и открытым текстом попросите прямо в этом топике рассказать вам, как следовало поступить в вашей ситуации.
| |
|
|
9.31, angra (ok), 18:19, 08/03/2014 [^] [^^] [^^^] [ответить] | +/– | Ну да perl это не питон, на нем возможно писать однострочники Я только не поним... текст свёрнут, показать | |
|
|
11.38, angra (ok), 08:50, 09/03/2014 [^] [^^] [^^^] [ответить] | +/– | Первый раз не совсем правильно понял вашу мысль, мне показалось, что вам не нрав... текст свёрнут, показать | |
|
|
13.42, angra (ok), 22:37, 09/03/2014 [^] [^^] [^^^] [ответить] | +/– | Во-первых, авторы этих языков не дружат с такой концепцией как обратная совмест... текст свёрнут, показать | |
|
|
|
|
|
|
9.29, angra (ok), 18:13, 08/03/2014 [^] [^^] [^^^] [ответить] | +1 +/– | 1 Да 2 Да 3 XS лишь один из способов, есть другие Можно например глянуть док... текст свёрнут, показать | |
|
|
11.43, angra (ok), 22:48, 09/03/2014 [^] [^^] [^^^] [ответить] | +1 +/– | Для ниасиляторов state machine и callbacks лапша именно у ниасиляторов, у других... текст свёрнут, показать | |
|
|
|
8.32, cmp (ok), 18:23, 08/03/2014 [^] [^^] [^^^] [ответить] | –3 +/– | 1 не горжусь, а ставлю в пример 2 не велосипед, а единственная в своем роде р... текст свёрнут, показать | |
|
|
10.36, cmp (ok), 19:09, 08/03/2014 [^] [^^] [^^^] [ответить] | –1 +/– | Потому что это вопрос веры, ваш бог не лучше моего, разве что мой сервера еще ни... текст свёрнут, показать | |
|
|
|
7.25, noize (ok), 11:37, 08/03/2014 [^] [^^] [^^^] [ответить]
| +/– |
> ну пакажите мне скрипт на перле в котором несколько тысяч строк кода и который будет
> нормально работать, на системах как современных так и 10летней давности.
легко - http://www.webmin.com
| |
7.47, x0r (??), 01:53, 10/03/2014 [^] [^^] [^^^] [ответить]
| +/– |
Говорят, автор Perl - лингвист, а у вас похоже с языками туго, даже с русским. Может не стоит на зеркало пенять, если с рожей не вышло?
| |
|
|
|
4.21, Аноним (-), 04:21, 08/03/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Я не работаю программистом перл шляпы, мне все ваши приблуды до звезды,
Ты забыл самое главное - ВИЛКИ ЗЛО! :)
| |
|
|
|
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. В общем практической пользы ноль.
| |
|
|
|
|
|
|