LINUX.ORG.RU

Куда уходят перловики?

 ,


2

8

Господа и, может быть, дамы!

Если вы работали Perl-программистом (или писали на этом языке для себя), где вы сейчас?

Вы продолжаете до последнего использовать Perl? Или переметнулись в соседний скриптовый лагерь? Python, Ruby, JavaScript — нужное подчеркнуть. Или, быть может, вы совсем завязали со скриптотой и нынче программируете на каком-нибудь Go. Или... да много вариантов.

Поэтому прошу вас поделиться своей историей. Мне правда интересно.



Последнее исправление: evbogdanov (всего исправлений: 1)
Ответ на: комментарий от Pro100User

Сложнейший и неадекватный синтаксис, тормознутость - зачем этот язык?

Чувак, это ты неадекватный. Без обид

Про тормознутость так вообще в лужу

Проблема перла совсем в другом - он предназначен для скриптов, и не предназначен для крупных проектов

router ★★★★★
()
Ответ на: комментарий от pru-mike

или Python

Идеологически к Перлу ближе Руби, нежели Питон. Туда перекочевали многие перловые фишки: встроенные регулярки, опциональные скобки в вызове функций, unless в условиях и даже синтаксис однострочников.

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

Кстати, тебе не попадалась хорошая книга по pandas? Официальные доки остваляют в недоумении

Там особо изучать ничего и не надо. Два основных объекта - Series и Dataframe - структура, подобная SQL-таблице. Для прямого доступа к данным используются .loc, .iloc и .ix. Фильтруется так:

 df2 = df[(df['myvalue'] > 50) & (df['myvalue'] < 100)] 

Конвертируется в/из dict, list, csv, SQL и т.д. Если у тебя в дистрибе версия 0.13, ставь 20-ю из реп.

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

перешёл на python

Можете рассказать, почему не на Ruby? Сообщением выше я попытался двинуть мысль, что Perl и Ruby почти родственники. Да и ООП в Рубях эталонное.

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

1) Как я уже сказал, я админ. Основной критерий выбора - язык уже должен быть на всех серверах ( т.е. минимум - в основной ветке дистрибутива, максимум - в минимальной инсталляции по дефолту ), чтобы не усложнять жизнь самому себе

2) большинство ПО сейчас пишут на python. ruby это в основном сайты, емнип

В общем, конкуренцию с питоном он не потянет

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

Не миф. Там были регулярки. А у других - нет(на то время). Потом эти регулярки перекочевали в другие ЯП и примерно после этого перл оказался не особо нужен.

bryak ★★★★
()

Go убери. В 2010, чтоль, окончательно перлушу похоронил.

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

Ты забыл упомянуть «внутренняя нашей шараги».

cnupm
()

за хорошее поведение - на свободу

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

Должность у меня такая: senior perl helloworld developer.

DELIRIUM ☆☆☆☆☆
()

Если вы работали Perl-программистом (или писали на этом языке для себя), где вы сейчас? Вы продолжаете до последнего использовать Perl?

А что в этом такого? Там где сложно на баше - самое оно.

Python, Ruby, JavaScript

Ладно, я понимаю питон, но на целый руби зачем тащить для мелкой скриптоты? А js тут вообще каким боком? На нём может быть и можно было делать какую-нибудь обработку json'ов, но где нормальные интерпретаторы?

crutch_master ★★★★★
()

Или, быть может, вы совсем завязали со скриптотой и нынче программируете на каком-нибудь Go

Да, точно. Тащить для, скажем, парсера, которому с головой достаточно скриптоты компилируемый яп. Ты что считаешь, что тут одни шизики погромисны на $langname?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от router

Когда из альтернатив только C, C++ и awk, то удобство вполне себе ощутимое

Не только. Начальная книга «изучаем perl» давала в примерах типичные задачи админа. В других языках рассказывали о каких-то манагерах, зарплатах и складах, что выглядело скучным и бесполезным.

До сих пор считаю, что это лучший учебник. По питону есть что-то в том же направлении, но откровенно слабо

Для решения каких типичных задач админа надо обязательно писать книгу?

Virtuos86 ★★★★★
()

Когда впервые ты начала программировать, что тебя к этому подтолкнуло?

Когда мне было 11 лет, отец принес домой компьютер.

Вот если бы компьютер принесла мать... А так это не считается.

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

куда уходят бейсиководы ?

Ну это-то ясно, заканчивают школу, ВУЗ, устраиваются на работу.

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

откуда взялся миф про удобство обработки текстов?

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

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

Программист отличный, но писал на перле, и теперь
этот код приходится поддерживать...

Это поддерживать одно удовольствие. А вот PHP... Тоже вот сложился попадос. Приходится из-за этого г держать древний PHP. Переписываем на Perl потихоньку. :-)

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

Компилируемость тебе даёт удобство. И удобство это такое, что для работы потребуется только бинарь самого приложения. А про интерпретатор можно забыть.

Парсер и формат языка вообще никак не связаны.

anonymous
()

Ушёл в основном на javascript(и nodejs и браузерный), но я и писал изначально на С, а уже потом на perl, если это конечно имеет значение. Сейчас в силу наличия разных заказчиков у моей конторы, приходится писать на С#, а последний проект так вообще на php, к которому правда я всегда хорошо относился.

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

Но да, по работе в основном это javascript и php.

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

Да разный php стайл бывает. Бывает даже чисто жаба стайл. Бывает вполне себе мало отличающийся от perl, где всё более-менее упаковано по модулям. В основном, ну да. Но и перл в основном тоже не ахти, может быть просто более качественный код из-за б'ольшего порога вхождения.

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

wc показывает суммарно 79 000 на .pl и .pm. Поставить cloc нет возможности.

фигассе..

у меня на рабочем компе:

$ find . -type f -name "*.pl" -o -name "*.pm" | wc -l
    2030

но это даже включая 3rd party modules :)

waker ★★★★★
()

как будто go это не скриптота

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

Компилируемость тебе даёт удобство.

В каком месте она даёт удобство? Чтобы пересобирать после каждого фикса?

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

+либы. Про сборку чего-то под другую ос/платформу молчу.

Парсер и формат языка вообще никак не связаны.

Кто-то утверждал обратное?

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

Похоже я застал только светлую сторону перла, консольную для админов. В моем противоречивом детстве сайты писали на руби.

anonymous
()

Как писал на Perl, так и пишу.

Ещё вопреки здравому смыслу всё чаще обнаруживаю, что современный 64-х битный компилятор FreeBASIC стал весьма быстрым - и для вычислительного кода использую либо его, либо R (последний - собственно для статистики).

А так вообще изучаю Julia и планирую со временем всё больше писать на нём: он весьма неплох в качестве языка программирования общего назначения.

В самом 5-м Perl'е никаких фундаментальных проблем не вижу: ну да, он под высокие нагрузки не годится, но для текстовой аналитики как был отличным языком, так и стал ещё лучше за последние 5.2x версии. Кстати, качеству многих его XS-модулей позавидуют питоновские либы: для Perl пишут мотивированные и очень опытные люди, поэтому уж если что-то и реализовано на Сях - то по делу и на очень приличном уровне.

Посматриваю на язык Crystal, который горячо пропагандирует Акжан Абдуллин из телеграмм-группы modern_perl: вроде неплохой язык (как и в целом Ruby), но развивается он что-то настолько вяло и печально, что нормально писать на нём можно будет, наверное, только году так в 2030-м, когда все уже будут писать на функциональных языках :)

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

Проблема перла совсем в другом - он предназначен для скриптов, и не предназначен для крупных проектов

А какие с этим проблемы? Даже если считать, что без зашибись ООП крупные проекты не живут, потому что у разработчиков ооп головного мозга, то как бы есть Moose и гигантская груда модулей под него.

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

Такие вещи были нормой в 2000-х со слабыми одноядерными процессорами, ныне же если даже интепретируемый язык, то как минимум с нормальной поддержкой типов данных. Вон PHP7 теперь уверенно уделывает perl5...

DRVTiny ★★★★★
()
Последнее исправление: DRVTiny (всего исправлений: 1)

Куда уходят перловики?

В страну вечного рефакторинга.

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

У меня сложилось мнение, что пока Perl6 медленнее даже гомельского «дизеля», по крайней мере все виденные мной бенчмарки говорят об этом. Если честно, мне кажется довольно странным подход, при котором как в LiveJournal том же шлифуется до идеала O(n) выполняемый интерпретатором код, который даже при алгоритме с O(n2) выполнялся бы в разы быстрее, будучи скомпилирован. Так и с Perl6: под задачи, где критично время он не годится, а поскольку язык созревал что-то с начала 2000-х годов и с тех пор так и не вырос до промышленно применимого решения - в его доработке будет участвовать узкий круг людей, которые не в состоянии довести его производительность до приличного уровня просто в силу того, что в сутках 24 часа, а не 48.

DRVTiny ★★★★★
()
Ответ на: комментарий от pru-mike

Я, например, испытываю боль от перловских представлений переменных. То она скаляр, то она же массив, то хеш... И функции, при объявлении sub name {...} даже не понятно сколько аргументов в нее следует передавать. Нечитаемо. Именно синтаксис кошмарный.

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

руби зачем тащить для мелкой скриптоты?

Руби — тот же Перл, только с православным ООП из коробки. В Макоси, к примеру, пакетный менеджер написан на Руби. Ещё можно вспомнить популярную админскую тулзу.

js тут вообще каким боком?

Напомню вопрос: куда уходят (фултайм-)перловики. Вопрос меньше про скриптоту и больше про карьеру. В треде уже отметились ребята, сменившие свой основной рабочий инструмент с Перла на серверную Ноду и/или браузерный ЖС. Да, вы можете смеяться, но JS используют и вместо баш-скриптов.

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

Руби — тот же Перл, только с православным ООП из коробки.

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

Да, вы можете смеяться, но JS используют и вместо баш-скриптов.

Я знаю, что используют. Еще говорят можно гланды удалять через жопу.

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

В каком месте она даёт удобство? Чтобы пересобирать после каждого фикса?

Скорость компиляции гошечки видел? Сравнима со скоростью перезапуска твоего интерпретатора после внесения изменений в код.

+либы. Про сборку чего-то под другую ос/платформу молчу.

Статическая сборка. Либо адекватно-динамическая, которая стартанёт в любом современном дистре.

Про сборку чего-то под другую ос/платформу молчу.

Вот и молчи, потому что в современных языках кроссплатформенная сборка на раз делается.

Кто-то утверждал обратное?

Ты и утверждал, говоря, что для написания парсера требуется интерпретатор.

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

не понятно сколько аргументов

Раньше — может быть.

sub old {
    my ($x, $y) = @_;
    $y //= 100;
    return $x + $y;
}

Но с появлением сигнатур стало стильно-модно-молодёжно.

use experimental 'signatures';

sub new ($x, $y=100) {
    return $x + $y;
}

evbogdanov
() автор топика

Глупый вопроc, IMHO.

Никуда не уходили :).

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

Ты ж программист (а может и нет, я не знаю). Юзай яп/библиотеки/фреймворки грамотно - от задачи.

KernelPanic
()
Последнее исправление: KernelPanic (всего исправлений: 2)
Ответ на: комментарий от anonymous

Статическая сборка. Либо адекватно-динамическая, которая стартанёт в любом современном дистре.

Да да. Лучше танцевать со сборкой, чем просто сохранить->запустить.

Ты и утверждал, говоря, что для написания парсера требуется интерпретатор.

Цитату.

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

Почему в подобных темах всегда решительно забывают про биндинги и библиотеки? Будь хоть в 10 раз лучше язык понятнее читаемее, но без библиотек он стоит ничего. В Python волей судьбы с этим всё окей.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от crutch_master

Цитату

Тащить для, скажем, парсера, которому с головой достаточно скриптоты компилируемый яп. Ты что считаешь, что тут одни шизики погромисны на $langname?

Вот этот выхлом про то, что там чему-то для чего-то кого-то достаточно с головой, а мужики то оказывается и не знали и шизики.

Да да. Лучше танцевать со сборкой, чем просто сохранить->запустить.

Сохрани и запусти: go run foobar.go

Всё уже давно для людей сделано.

anonymous
()

Все знакомые perl разработчики ушли в букинг.

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

Я не знал об этой штуке. Так гораздо лучше.

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

То она скаляр, то она же массив, то хеш...

Это не бага, это фича.

И функции, при объявлении sub name {...} даже не понятно сколько аргументов в нее следует передавать.

perldoc perlsub > Prototypes

shell-script ★★★★★
()
Ответ на: комментарий от crutch_master

Ладно, я понимаю питон, но на целый руби зачем тащить для мелкой скриптоты?

А почему бы и нет? Питон дико неудобный для скриптоты, а в руби из коробки 100500 строковых функций и все перловые ништяки. При этом код читаемый в отличие от. Единственный серьезный минус - рубей нет в базовой поставке дистров, что конечно осложняет жизнь.

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

А. Точно. Не посмотрел, на какой комментарий ты отвечаешь и не понял контекста.

shell-script ★★★★★
()
Ответ на: комментарий от bread

Питон дико неудобный для скриптоты

Всё там удобно для скриптоты.

А рубчик как и перл стух давным-давно.

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