LINUX.ORG.RU

Актуален ли PERL?


0

0

Хочу изучить PERL в качестве первого ЯП. Пока что привлекает только консоль. Собственно вопрос: актуален ли PERL в качестве первого изучаемого языка? А для Linux - разработчика? Спасибо. P.S. Хочется принести хоть небольшую пользу OpenSource :)

Ответ на: комментарий от Score-49

>для каких ещё языков есть столь развитые IDE, берущие на себя практически ВСЮ унылую рутину

Спросим по другому: какие ещё языки требуют столько унылой рутины, тупой настолько, что с ней программа справляется за почти реальное время?

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

Ты о чём? В каких языках может понабиться что-то переименовать/вынести/заинлайнить/добавить-удалить аргумент/етц? В каких языках был бы полезен просмотр иерархий вызовов и наследования? В каких языках не помешала бы подсветка опечаток на лету?

Ну не знаю, Перл - write-only, там не нужна. А в Питоне?

Score-49
()
Ответ на: комментарий от Score-49

>Перл - write-only, там не нужна. А в Питоне?

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

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

> Спросим по другому: какие ещё языки требуют столько унылой рутины, тупой настолько, что с ней программа справляется за почти реальное время?

Тут ява вне конкуренции, однозначно.

В качестве альтернативы явисты юзают жутко сложные системы с класслоадерами, после которых начинают задавать вопросы "а как сделать синглтон? обычный способ не прокатывает, т.к. один класс, загруженный разными класслоадерами, становится разными классами". (wfrr тут на лоре спрашивал)

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

> А мне кажется все динамически типизированные языки write-only, если программы написанные на них не обвешивать тесами.

Так и есть. Недаром unit-тесты изобрели смолтокеры.

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

>Ты о чём? В каких языках может понабиться что-то переименовать/вынести/заинлайнить/добавить-удалить аргумент/етц?

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

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

Эээ, я боюсь спрашивать. Какая самая большая программа, которую ты писал/поддерживал? Желательно, написанная не тобой, но чтобы тебе пришлось в ней разбираться?

Score-49
()
Ответ на: комментарий от Score-49

>Эээ, я боюсь спрашивать. Какая самая большая программа, которую ты писал/поддерживал? Желательно, написанная не тобой, но чтобы тебе пришлось в ней разбираться?

боюсь, что сам ты на такой вопрос не сможешь дать ответ ввиду нда и никому не интересного энтерпрайза ) там формочки можно рефакторить вечность..

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

> В каких языках это требует столько рутинной работы? В каких языках "вызовы и наследования" приходится держать настолько запутаными/замусореными, что глазами не увидеть, мозгами не понять, калькулятор нужен?

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

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

> боюсь, что сам ты на такой вопрос не сможешь дать ответ ввиду нда и никому не интересного энтерпрайза ) там формочки можно рефакторить вечность..

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

Когда видишь чужой метод без комментариев, один из первых вопросов: "А нафиг он вообще нужен?". Когда видишь класс, или, особенно, интерфейс, очень хочется посмотреть на его подклассы/реализации.

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

Score-49
()
Ответ на: комментарий от guest-3484-2009

>А это вы просто нормальных динамически типизированных языков не видели

Ну давай колись, что это за языки?

Devix
()
Ответ на: комментарий от Score-49

>Какая самая большая программа ... желательно, написанная не тобой

Могу на следующей неделе посчитать. Но вряд ли тебе это интересно, к тому же ответ на такую формулировку вопроса будет относительно большим. На самом деле ты хочешь получить ответ типа "они все крошечные". Держи: абсолютное большинство из них крошечные (:мы тут даже про однострочники вспоминаем:). Это, кстати, вполне соответствует тому факту, что вообще в индустрии ПО 98% задач тривиальны.

Это не меняет сути. Java в её нынешнем состоянии требует нев^Hцензурного количества рутины.

Заметь, я не говорю, что навороченные IDE это плохо. Да, они сильно упрощают работу с "плохоструктурированными"(*) кодами, делая таковые экономически "возможными". Проблема в том, что некоторые умудряются структурировать код так, что существенных проблем с "неавтоматизированным" восприятием не возникает вообще.

(*) не в смысле "это плохо", а в смысле "за деревьями леса не видать" -- структура неочевидна, необходимо использовать "нечеловеческие" анализаторы кода.

Т.е. IMHO в абсолютном большинстве случаев (в 98% тривиальных и части оставшихся 2% нетривиальных) программы _можно_ "организовать" так, что существенных проблем с чтением не возникнет. И только в жава-нише это, почему-то, радикально не так. Причём первична именно чрезмерная рутинность жавы -- она вызвала необходимость разработки навороченных IDE, которые сделали "ненужными" заботы об читателе. Ты скажешь "ну и ладно -- пусть ставят правильное ПО"? Но смысл кода всё равно приходится понимать человеку, а у него очень ограниченное ОЗУ и очень разные CPU. Т.е. преимущества, предоставляемые "анализаторами" нивелируются отсутствием у "писателей" стимула писать "прозрачный" код. Т.ч. суммарный эффект не факт что "положителен".

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

>В любом большом проекте всегда будут функции с одинаковыми именами в иерархиях классов.

В том же питоне мне это не мешает. module1.name и module2.name вполне различимы. Необходимость в одном "модуле" иметь столько разных "классов", чтобы "birthday paradox" сработал, свойственна далеко не всем инструментам программирования. Пожалуй, жава опять тут "впереди".

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