Чому Perl встановлений за замовчуванням у більшості дистрибутивів Linux?
Чому Perl встановлений за замовчуванням у більшості дистрибутивів Linux?
Відповіді:
Відповідь є / не сексуально, залежно від вашої точки зору.
Perl дуже корисний. Багато системних утиліт записуються або залежать від perl. Більшість систем не працюватиме належним чином, якщо Perl буде видалено.
Кілька років тому FreeBSD доклав багато зусиль, щоб усунути Perl як залежність від базової системи. Це було непросте завдання.
У Ларрі Уолл оригінального Perl версія 1.0 проводці до comp.sources.misc телеконференції 18 грудня 1987 года, він сказав:
Якщо у вас є проблема, яка зазвичай використовує sed або awk або sh, але вона перевищує їхні можливості або повинна бігти трохи швидше, і ви не хочете писати дурну річ на C, тоді perl може бути для вас.
У значно пізнішій експозиції він детальніше розробив:
Але розчарування програмування оболонок Unix призвели безпосередньо до створення Perl, про який я насправді не встиг розповісти. Але, по суті, я виявив, що сценарій оболонки суттєво обмежений тим, що більшість його дієслів не перебувають під його контролем і, отже, значною мірою несумісні між собою. І іменники збідніли, обмежилися рядками та файлами, з типологією хто-хто-що знає ...
Більш руйнівним було уявлення про те, що це одновимірний Всесвіт: ви або запрограмовані на C, або ви запрограмовані в оболонці, оскільки вони, очевидно, на протилежних кінцях Єдиного справжнього континууму. Перл виник, коли я зрозумів, що сценарії не завжди повинні сприйматись як протилежність програмуванню, але що одна мова може бути досить хорошою для обох. Це відкрило величезну екологічну нішу. Багато з вас бачили мою стару розкладну схему з двома вимірами маніпуляцій та прискіпливості.
Сьогодні Perl є стандартною альтернативою / заміною для потреб сценаріїв оболонок та аналізу тексту та з набагато більшою потужністю, ніж традиційні інструменти. Через свою надзвичайну (можна сказати, неелегантну) гнучкість, Перл був названий " бензопилою швейцарської армії мов сценаріїв ". Завдання часто можуть бути значно коротшими, легшими або розширенішими, коли вони вирішуються за допомогою Perl. Багато, багато системних інструментів, сценаріїв і великих програм звичайно записуються в Perl. Тож у сучасному середовищі Linux Perl тепер є ще одним стандартним інструментом Unix і справді незамінним.
awk
і sed
в ньому (Perl).Я думаю, що відповідь на це питання частково історична, частково практична.
Що стосується історії, Perl - це класна мова. Це класніше, ніж Python (не кажучи вже про PHP), хоча я поняття не маю, що "краще" (якщо це можна якось формально проаналізувати, в чому я сумніваюся). І стильні хлопці, які використовують (або використовують) Perl, як правило, хлопці вирішують, що має бути частиною дистрибутива Linux.
Щодо практичного, Perl все ще є клеєм багатьох речей: ОС і Інтернету (знову ж таки, LAMP, не забуваючи ні Python, ні PHP). То чому б не включити щось корисне для багатьох цілей? І тим більше, чому прибирати все, що там є (і не заподіює ніякої шкоди), і корисне?
Але, як це буває, про це є примітка в останньому номері журналу Linux (№ 151, червень 2013 р.). Мабуть, для складання ядра Linux використовується кілька коротких і простих скриптів Perl. (Знову ж таки, "склеює" роль Perl в ОС.) Тепер один з розробників ядра надсилає патчі переписування цих сценаріїв, на цей раз не в Perl, а як "скрипти оболонки Unix" (це те, що sh
?). Таким чином, Perl не потрібно було б встановлювати для тих, хто збирає ядро. Але цей патч (надсилався кілька разів) так і не був підібраний. І однією з причин цього є те, що колись на холоді, Perl, швидше за все, не пустять. Людям подобається Perl, і вони не хочуть з цим розлучатися.
Тепер це торкається лише меж цього питання, оскільки, мабуть, дуже невелика частина користувачів Linux зібрала ядро. Але це ще один фрагмент головоломки (і я підозрюю, що їх багато).