LINUX.ORG.RU
ФорумTalks

Tempus fugit и убей в себе перловика

 ,


0

1

Тут такая вот статья.

https://nibblestew.blogspot.com/2020/05/you-have-to-kill-your-perlings.html

TL;DR — количество программистов, знающих и хорошо понимающих Perl, неуклонно уменьшается. Новых сколь-нибудь значимых проектов на Perl, создаваемых людьми моложе 35 лет, нет вообще. Поэтому авторам даже очень живых проектов, у которых в обвязке есть скрипты на перле, стоит сильно задуматься, а не переписать ли их к чертям на более популярные/поддерживаемые языки.

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

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

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

Это — перл через 20 лет, когда все, кому он был интересен, помрут либо состарятся настолько, что им будет все равно.

Еще один проект, который приподнял веки в 2020 году и обнаружил себя на задворках — GNU Emacs. Вот замечательнейший тред: https://lwn.net/ml/emacs-devel/8wXYP4GY9hwW-9mYv6_LGMETZ8Vz3Ob1Bec6yh6kPT7yxjTkxA3V6dXY4ELra9tYiJUxJmgXKSIEX4w8HFiPRoeGVSQHDSoBVy1voj1e3Qo=@protonmail.com/

Там много дискача, вот более-менее интересное: https://lwn.net/ml/emacs-devel/CAH=MJ4Yu0_ZLzm-W1-+i4JNh0PLSdNUGOxrzCkPjwtZ55EDEyg@mail.gmail.com/

«[…] нет пользователей Microsoft Word, которые бы говорили, что открывают «буферы». Они открывают «файлы». Они перемещают «окна», а не «рамки». Они вырезают и вставляют, а не kill и yank и т.д.

По сути, [пользуясь Emacs,] вы берете на себя обязательство быть или стать опытным пользователем. Я бы, конечно, не смирился с этим, если бы не думал, что это сэкономит мне много времени как разработчику программного обеспечения (а это так, каждый день). Я сомневаюсь, что кто-нибудь вложит ментальные усилия, чтобы справиться с изучением Emacs в наши дни, если только это не является его целью. Если вы просто хотите заниматься «случайным» редактированием текста Emacs - это очень странный выбор в 2020 году.»

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

★★★★★

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

Ответ на: комментарий от K50

смысл в том, если у тебя всё равно основные задачи связаны с набором текста => у тебя руки на клавиатуре, то вимить удобнее, потому, что не надо руку с клавы на мышь и обратно постоянно переносить

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

Очень трудно найти людей на проект.

Что значит трудно? Если нормально платить и не требовать от кандидата 15+ лет опыта и олимпийских медалей по перл-гольфу, то люди найдутся. Хотя конечно писать на перле неприятно, там нужна надбавка за вредность.

bread
()

Сначала углы обгрызут, а потом на сопроцессоре рендерить начнут.

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

Ты думаешь у меня есть желание копаться в тонне исходников в поисках перла? Тянет зависимостью, значит где-то используется. У меня ж не Linux Debian Linux, где оно может быть установлено «на всякий случай».

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

Мышевозы должны умереть! hjkl хватит всем!

Две клавиатуры этому регистранту!

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

каждый может позволить себе купить мышь

А ещё каждый может позволить себе купить пистолет, яд или верёвку с мылом на худой конец. Зато без мучений.

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

Что значит трудно?

Значит что на рынке раз в год бывает 2-3 достойных кандидата. Это в масштабах города-миллионника, а может и всей страны. Это состояние на 19-20 годы, с каждым годом ситуация хуже.

Если нормально платить и не требовать от кандидата 15+ лет опыта и олимпийских медалей по перл-гольфу, то люди найдутся

Они и находятся. Крайне редко, далеко не всегда приживаются, далеко не всегда хотят работать в конкретной стране.

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

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

Это незаконно обсуждать. Ты имел ввиду пеньковое ухрипование, вываливание языря и отталкивание табурета?

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

Тебе говорят, что перл перестал быть языком, на котором создают новые проекты.

Создают, но очень мало, очень редко и для очень узкого круга.

Остается надеяться, что этот софт не сдохнет

Wine точно не сдохнет. По крайней мере по причине отсутствия умеющих в перл.

или перловую часть не перепишут

Ну перепишут и ладно. Не вижу никаких проблем.

когда захотят туда залезть, но поймут, что в команде разработчиков его никто не знает

Перл — простой как тапок. В прод JAPHы не пишут.

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

Это незаконно обсуждать.

Рекомендовать мыши тоже незаконно! Мой вариант хотя бы быстрый, а мышь — это пытка.

mord0d ★★★★★
()

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

Вообщем, как нужны гарнизоны в тайге и так и нужен Перл.

Nurmukh ★★★
()

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

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

У меня лично нет проблем с переучиванием. Но пока я не нашёл альтернативы, которая позволяла бы решать те же самые задачи.

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

я забыл:( давно не пользовался. ну ок, для debian можно сделать исключение.

build scripts

только на сборочной станции. не по-умолчанию.

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

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

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

Не очень люблю всякие докеры, а LXC пользовался 100 лет назад, когда его ещё надо было специально включать в ядре и оно было в статусе experimental. Я разработчик старой школы, меня устраивает chroot =)

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

да я обеими лапама за old school.) держать сборку в chroot - нет возражений)

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

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

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

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

slovazap ★★★★★
()

Хотела прочитать позитивную новость про закапывание Perl, а оказалось тут хоронят Emacs.

Мы так не договоривались!

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

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

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

У меня лично нет проблем с переучиванием. Но пока я не нашёл альтернативы, которая позволяла бы решать те же самые задачи.

Я о том и говорю, что ты ищешь альтернативу 1-в-1, которой не существует, а надо искать набор альтернатив. Ведь что-то же не устраивает в имаксе?

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

Так это же тоже позитив! Даешь модерновый Электрон во все дома!

Virtuos86 ★★★★★
()

Имхо, emacs с Perl сравнивать некорректно.

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

Поэтому экзистенциальный кризис в Emacs больше похож на ситуацию с IRC - хоронят уже N лет, а оно всё живёт. Потому что у него есть понятные универсальные применения, которые не зависят от текущей ситуации на рынке.

Эти проекты занимают некоторую нишу, и эта ниша никуда не девается. То есть похоронить Emacs можно только создав аналог с похожим подходом к интерфейсу, по сути переизобретя его. Пока подвижек к этому нет и большинство новых IDE клонируют один стандартный интерфейс, Emacs никуда не денется.

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

Ну у меня она вытянута и локальных веток там штук пять.

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от slovazap

:) ну, предложат тебе 10к долларов за небольшой фикс перловой софтинки. Че соглашаться, ты ж не раб. Мысли человека в мире розовых пони.

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

разработчик LXR обновляет свой проект, и с перла никуда уходить не собирается.

А что будет с LXR, если этот разработчик двинет кони?

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

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

Я писал большой проект с нуля на перле, когда мне было 28 (сейчас мне 32).

Об этом проекте в курсе кто-нибудь, кроме тебя и полутора пользователей?

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

Задумываются уже лет 15. Дорого и очень больно мигрировать. По моему опыту - проект успешен, контора на нем взлетела и стала успешной, разработчиками довольны, сравнивают с другими своими проектами (на похапе, например) и опускаются руки.

Автор блога скорее имел в виду опенсорсную обвязку к проектам. Например, вспомогательные сборочные скрипты, которых большую часть времени не видно, сам проект на совсем другом языке. И тут внезапно окружающая среда меняется настолько, что надо лезть в инструментарий и поправлять его. А там стандартно, никто ничо не документировал, потому что это ж просто вспомогательный инструмент, вызываемый Makefile’ом из Makefile’а, а его автор уже и преставиться успел.

Допустим, коммерческая контора может найти денег, чтобы либо это переписать, либо поправить (я как разработчик на Perl говорю, что бюджеты будут сравнимы), а опенсорс — сомнительно. Найти юношу, готового за идею заниматься прикладной археологией, не очень легко. Да даже за деньги, и то нелегко.

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

Хотела прочитать позитивную новость про закапывание Perl, а оказалось тут хоронят Emacs.

Первый блогопост о том, что перл опасен для опенсорс-проектов в качестве даже вспомогательного инструмента, так как на нем уже де-факто стоит срок годности. Он еще жив, но процветать, как в 2000—2012, уже не будет никогда. Разве что так, как процветает забытый кусок колбасы под столом.

А емакс… на той же неделе приходит статья, что он испытывает экзистенциальные судороги. Даже некоторые разработчики спрашивают, «нужны ли мы нам?». Как раз в тему.

Не то чтобы совпадение, но у меня впечатление такое, что вот тут в 2020 году один геологический пласт IT заканчивается, а будет вовсю начинаться другой, с асинхрончиком, яваскриптом, HTTP как транспортным протоколом, WebAssembly и *aaS.

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

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

Да боже ж ты мой, есть PERL5LIB, есть use lib '/path/to/modules', есть perl -I/path/to/my/modules, в конце концов. Надо просто готовить уметь.

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

А емакс… на той же неделе приходит статья, что он испытывает экзистенциальные судороги. Даже некоторые разработчики спрашивают, «нужны ли мы нам?». Как раз в тему.

Вообще да, смена поколений идёт, где-то раньше, где-то позже. Если уж даже ядерщики начали задумываться, мол не пора ли из почты на нормальную систему code review перейти, то что уж говорить.

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

Взять того же Dan Walsh, который вроде как пол жизни пилил SELinux, и тут он раз так и переобулся в хипстокеды и ведет команду контейнерописателей к светлому будущему. Поколения поколениями, а некоторые товарищи молоды душой, и дадут прикурить половине местных нытиков о том как раньше небо было синее, а трава зеленее, и будут в том же емаксе писать на Go как ни в чём ни бывало.

Но вот что я подумала: в период кризиса среднего возраста у проектов, надо чаще писать посты любви и обожания тем инструментам и тем людям, работой которых ты пользуешься. Особенно тем, чьи наработки у тебя «от начала времен» и потому кажется что они всегда были есть и будут.

Мы настолько привыкли что они присутствуют по умолчанию, что забываем что там тоже живые люди. И если про них вспоминают только в багрепортах и холиварах, то понятно что они начинают задумываться - а зачем это всё, и есть ли кто-то ещё там снаружи кто просто пользуется с удовольствием. Надо объяснить что есть.

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

Это да.

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

В данном конкретном случае любовь и обожание были выражены к ffmpeg — и там Джон Кармак, автор треда, признался, что задонатил проекту денег, и пристыдил корпорации, которые только зарабатывают на проекте, чем спустил небольшую волну донейтов. А еще кто-то вспомнил, что ffmpeg, qemu, и еще несколько сложных проектов были сделаны первоначально одним человеком, Фабрисом Белларом, который многих талантов человек и пароход. Вообще, в том треде нехарактерно много добра, как на твиттерную машину фрустрации и ненависти.

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

Не очень понял, что ты подразумеваешь под «набором альтернатив». Держать десяток редакторов для разных целей?

Раздражают мелочи, иначе я бы уже давно перескочил на что-то другое. Невменяемые кейбиндинги, например (C-x u я таки переставил на C-z, но до сих пор удивляюсь, какому дебилу пришло в голову, что две клавиши для undo — хорошая идея? Но всё переставить нельзя, иначе много чего отвалится). Или вот: у меня обычно открыто два фрейма — основной, с редактируемым файлом, и «сайдбар» со всякой вспомогательной фигнёй, REPLом, git-grep-ом, и т.п.; так вот, я иногда путаю и переключаюсь на другой буфер не в основном фрейме, а в сайдбаре. Вот нахрена оно работает? Выделение обычно показывается фоновым цветом, но не всегда — порой выделение есть, и по C-w улетает полфайла, но визуально его нет. Ну и так далее. Мелочи, но порой раздражает и выбивает из потока.

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

Не очень понял, что ты подразумеваешь под «набором альтернатив». Держать десяток редакторов для разных целей?

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

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