LINUX.ORG.RU
ФорумTalks

[ниочем] Сильные стороны Perl и почему уходит на покой


0

3

Сабж. Вот из скриптовых языков тыкал Ruby, Perl, Python. Наиболее субьективно некрасиво выглядит Python, но это личное. Ruby нормальный, но как-то не сложилось. В свое время попалась хорошая книга по Perl. Теперь все без проблем автоматизирую на нем.

Но он имеет за собой репутацию RIP. Какие все еще в нем есть сильные стороны? Почему считается часто устаревшм?

P.S. Perl не отстаиваю, просто у меня так с ним сложилось

★★★★★

Но он имеет за собой репутацию RIP.

Меньше слушайте скептиков :)

А если серьезно, в перле накопилось много проблем и с синтаксисом, и с функциональностью, и с реализацией. В этом нет ничего удивительного, так как язык практически не отделен от своей реализации, а реализация растет уже третий десяток лет как трава.

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

Философствование на эту тему вызвано тем, что я хорошо понимаю недостатки этого ЯП, но не смотря на это у меня на нем все перкраснейшим образом быстро пишется и работает. Особенно в качестве замены shell скриптов. На Perl все намного чище и читабельнее. Где надо дергается system().

Думаю дело просто в том что я больше привык.

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

у меня на нем все перкраснейшим образом быстро пишется и работает.

Вот и пускай работает. Не заморачивайтесь.

Deleted
()

>Сильные стороны Perl

Уйма кода, причём совершенно разного качества.

и почему уходит на покой

Потому что, 90% и вышецпомянутой уймы кода давно окаменело. Сегодня perl программисты в основном занимаются поддержкой окаменелостей, а не созданием нового кода. Perl сегодня, напоминает COBOL 80х.

Уходит на покой как и всё, что когда то появлялось и появится :)

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

Почему ЯП может просто нравиться. Были уже люди которые тут писали, что уродуются на С++ просто потому что нравится, хотя почти все проще написать на Java, C#, Python. Вот так что-то мне именно этот ЯП привлекает. Не могу понято почему

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

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

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

Но что уж очень Java надо - так это блоки в которых сразу освобождается память. Все-таки в цикле запущеный new иногда заканчивается плачевно.

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

> а всё остальное перл не умеет

А остальное это что?

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

Проблемы нет, есть философствование на тему почему язык, который по идее RIP и есть получше и почище, нравится мне больше и у меня на нем все хорошо

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

>регэкспы не нужны

умение пользоваться регэкспами одна из черт отличающего настоящего программиста от быдлокодера

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

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

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

Я сам несколько лет писал на перле с 9 до 17, и потом еще дома кое-что :)

Может нравиться способ выражения сложных мыслей. Например, в том же C++ не передать кусок кода как аргумент функции... Или взять инициализацию сложных структур данных. В С++ нет для этого вменяемого синтаксиса.

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

Частью умения есть понимание что нужно не переусердствовать. Это уже великий шаг для будущего гуру )

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

хотя понятно почему. Я автоматизирую разные Unix процессы, часто дергаю shell команды

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

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

Есть еще один такой полузабытый язык, который уже пару месяцев будоражит мой мозг - Ada. Сейчас по роду службы много пишу на C++, и осторожные взгляды в сторону Ada хорошо прочищают сознание. Заставляет, что ли, иначе писать на C++...

Deleted
()

Потому что write-only. Код, написанный на перле невозможно расширять — только переписывать заново.

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

> Код, написанный на перле невозможно расширять

Херово спроектированную программу на любом языке проще переписать, и перл тут непричём.

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

> есть философствование на тему почему язык, который по идее RIP

Он ниразу не рип, по моим наблюдениям неRIP сейчас только языки по которым куча туториалов и книг на тему «как сделать стопиццот тыщ приложений на <чём-то там>», не веришь - выключи инет в оффисе.

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

Каким образом?

С++ слишком либерален. Из-за этого многие пишут угарный код. Типа:

if(a++ && b.x() == 3) b.n();

Более приличный пример:

if(m_Length && m_Type == XNormal)
{
    DoTheJob();
}

Все традиционно и верно, но лучше написать так:

if((m_Length > 0) && (m_Type == XNormal))
{
    DoTheJob();
}

Кстати, в Java _очень_ многое взято именно из Ada.

Излишний либерализм в традициях C - это и свойство языка Perl. Иногда это преимущество, но если ваш код живет долго, то скорее недостаток.

Со временем я перестал быть сторонником подобного либерализма в программировании. Возможно, именно после того, как пришлось исправлять много ошибок за другими.

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

>Кстати, в Java _очень_ многое взято именно из Ada.

Думаю, ты родил новый мем анонимусов.

router ★★★★★
()

vertexua> он имеет за собой репутацию RIP. Какие все еще в нем есть сильные стороны?

Феерично

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

Ну как же! Хороший PHP-программист может написать PHP-програму на любом языке программирования

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

> Херово спроектированную программу на любом языке проще переписать, и перл тут непричём.

В том-то и дело, что перл поощряет такую халтуру. Да и какое в перле «проектирование»? Проектирование подразумевает создание относительно независимых блоков, выделенных хотя бы синтаксически, а на перле часто в конкретной точке программы вообще непонятно, что код, а что данные.

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

В общем, мое мнение, что перл был и остается в той нише, в которой был рожден: для замены bash/sed/awk чем-то одним.

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

Я его так и спользую. Еще разные fork, exec

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

> Ну как же! Хороший PHP-программист может написать PHP-програму на любом языке программирования

ЕМНИП это было про погроммистов на Васике. Но да, в тему Ж)

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

Вермишель, копипаста и быдлокод - свойство обычно PHP приложений

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

> В том-то и дело, что перл поощряет такую халтуру.

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

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

Все традиционно и верно, но лучше написать так:

Я бы ещё && на and заменил, т.к. читаемее.

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

> регэкспы не нужны

Не нужны они станут после того, как plain text будет вытеснен xml-ем. То есть никогда.

Manhunt ★★★★★
()

Но он имеет за собой репутацию RIP. Какие все еще в нем есть сильные

стороны? Почему считается часто устаревшм?


«Теперь все без проблем автоматизирую на нем. » и так все остальные :)

За RIP перла принимают то что он уходит из не очень свойственных ему мест, которые занял потому что другого на тот момент не было. Ну на RIP'е настаивают «чистюли». Ларри как то сказал что «перл это грязный язык для грязного мира». Люди которым что бы писать на ЯП нужно чтобы ЯП им вставлял огромный дисциплинирующий штырь в задницу - против перла.

kernel ★★☆
()

Ну как можно писать такую фигню и слушать советов местных клоунов ?))

perl 5 трудоустроен в Linux навсегда тем, что:

perl это вся инфраструктура дебовских пакетов
perl это инсталлер Debian
perl это система сборки официальных ISO Debian
perl это система сборки официальных LiveCD (это новая разработка)

Только одного этого уже было бы достаточно любому ЯП для причисления
к ряду нужных и состоявшихся.



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

> Все традиционно и верно, но лучше написать так:

if((m_Length > 0) && (m_Type == XNormal))

Ты, случаем, не латентный лиспер? Ничем иным скобли вокруг сравнений я объяснить не могу.

tailgunner ★★★★★
()

>Почему считается часто устаревшм?

Это пиар компания же. Весь инет кричит что перл RIP и новый молодняк программистов так и думает, игнорирует перл и учит другие языки.
Так что еще одно поколение программеров и все, перл будет действительно рип.

Siado ★★★★★
()

Сильные стороны?
CPAN. К слову о RIP. Каждый день выходят десятки новых/обновлённых модулей: http://search.cpan.org/recent

Помимо этого в Perl мне нравится синтаксис, реализация ООП, стабильность синтаксиса на протяжении всей 5-ой версии, универсальность и т.д.

Думаю Perl еще долго будет с нами, а через несколько лет, когда perl6 окончательно допилят и будут развиваться параллельно perl5 и perl6 перла в нашей жизни станет в два раза больше ;)

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

Из синтаксиса там хороши, пажалуй, только регулярные выражения, да встроенные переменные. Что такого хорошего в реализации ООП? Вот интересная статься, проскакивала на ЛОРе уже не раз: http://stanislaw.ru/rus/research/perl.asp

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

> Ты, случаем, не латентный лиспер?

m_Length > 0 && m_Type == XNormal

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

iBliss (фотография)

Ну как же! Хороший PHP-программист может написать PHP-програму на любом языке программирования

ЕМНИП это было про погроммистов на Васике. Но да, в тему Ж)



на Фортране)

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