LINUX.ORG.RU
ФорумTalks

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


0

3

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

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

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

★★★★★
Ответ на: комментарий от 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 ★★★★★
()
Ответ на: комментарий от Deleted

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

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

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

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

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

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

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

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

m_Length > 0 && m_Type == XNormal

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

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

Хм... Возможно :))))) Скорее, лиспер-неосилятор.

На самом деле, это просто хороший стиль, снижающий вероятность ошибки.

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