Часто, когда появляется новый язык программирования, между некоторыми из гениальные умы в отрасли, в которой язык сравнивают с языком, уже распространяющим свои корни. В ИТ-индустрии часто распространяется своего рода ажиотаж, и новый продукт часто сравнивают по всем аспектам, может быть, он быть функциями, синтаксисом или основными аспектами ЦП и памяти, включая время сборки мусора и все остальное, с существующим одним из Добрый.
Можно взять и исследовать множество примеров таких случаев из прошлого, включая споры между Джава и C #, C ++, и т.п. Одним из таких случаев, который привлек значительное внимание, был спор между двумя языками, который возник один за другим за короткий промежуток времени, т.е. Python и Perl.
В то время как Python изначально был изобретен как преемник языка ABC просто как «хобби»Проект программирования (который привлек бы хакеров Unix / C) для автора, назвавшего его в честь серии своих самых больших Монти Пайтон.
Предлагаемое чтение:Начало работы с программированием на Python и написанием сценариев в Linux
Perl всего около двух лет назад как язык сценариев Unix, предназначенный для облегчения обработки отчетов. Это была смесь многих языков, в том числе C, awk, sed, и сценарий оболочки.
Стоит отметить, что эти языки, которые развивались с разными намерениями, в настоящее время постоянно сравнивали, что заставило меня изучить и выяснить причины, из которых перечислены некоторые важные как показано ниже:
Давайте углубимся в эту дискуссию и попытаемся выяснить общие аспекты, в которых эти два языка отличаются друг от друга. Кроме того, давайте попробуем выяснить источник истины для многих штампов, которые можно услышать в индустрии, говоря:Python - это Perl с обучающими колесами" или "Python похож на Perl, но отличается», Чтобы мы могли попытаться прийти к точному решению этой нескончаемой дискуссии.
Когда дело доходит до читаемости кода, Python имеет огромное преимущество перед Perl. Код Python намного яснее для понимания, чем код Perl, даже при чтении кода спустя годы.
С отступом, представляющим блок кода, и правильной структурой код Python намного чище. С другой стороны, Perl заимствует свой синтаксис из различных языков программирования, таких как C, сценарии оболочки и даже awk и sed фильтрует регулярные выражения.
Предлагаемое чтение:15 полезных команд «sed» для повседневных задач системного администрирования Linux
Помимо этого, с '{' и '}'
представляющий блок кода и ненужное добавление ‘;’
в конце каждой строки код на Perl может стать проблемой для понимания, если вы прочитаете его через несколько месяцев или лет из-за допущения уродливых сценариев.
Язык Perl заимствует свой синтаксис из C и другие UNIX такие команды, как sed, awk и т.п. благодаря чему он имеет мощную и встроенную поддержку регулярных выражений без импорта каких-либо сторонних модулей.
Также, Perl может обрабатывать операции ОС с помощью встроенных функций. С другой стороны, Python имеет сторонние библиотеки для обеих операций, т.е. повторно для регулярное выражение и os, sys для операций операционной системы, которые необходимо проверить перед выполнением таких операций.
Операции регулярных выражений Perl имеют 'sed'Подобный синтаксис, который упрощает не только операции поиска, но также операции замены, замены и другие операции с строка может быть выполнена легко и быстро, чем python, где человеку нужно знать и запоминать функции, которые обслуживают нужно.
Пример: Рассмотрим программу для поиска цифры в строке в Perl и Python.
Python
Импорт ре. str = «hello0909there» результат = re.findall (‘\ d +’, str) результат печати.
Perl
$ string = ‘hello0909there’; $ строка = ~ м / (\ d +) /; напечатать «$ & \ n»
Вы видите синтаксис для Perl это просто и вдохновлено команда sed который использует преимущество перед Python синтаксис, который импортирует сторонний модуль ‘Re’.
Одна особенность, где Python затмевает Perl это продвинутый OO
программирование. Python имеет обширную поддержку объектно-ориентированного программирования с чистым и последовательным синтаксисом, в то время как объект ООП
в Perl является устаревшим, если пакет используется вместо классов.
Кроме того, написание OO
код на Perl значительно усложнит код, что в конечном итоге затруднит его понять, что даже подпрограммы в Perl очень сложно программировать и, в конечном итоге, трудно понять потом.
С другой стороны, Perl лучше всего подходит для однострочников, которые можно использовать в командной строке для выполнения различных задач. Кроме того, код Perl в конечном итоге может выполнять различные задачи в меньшем количестве строк кода, чем на python.
Пример шорткода для обоих языков, который подчеркивает способность Perl делать больше с меньшими затратами времени:
Python
попробуйте: с open («data.csv») как f: для строки в f: print, за исключением Exception as e: print «Невозможно открыть файл -% s»% e.
Perl
открыть (ФАЙЛ, ”% lt; inp.txt ») или die« Невозможно открыть файл »; пока() { напечатать «$ _»; }
В этом разделе мы обсудим плюсы и минусы Python и Perl.
OO
Программирование, а также программирование потоков на Python намного лучше, чем на Perl.‘@’
определяет массивы и ‘%’
определяет хеши.‘$`’
, ‘$&’
и т.д. трудны для понимания и программирования для менее опытного программиста. Кроме того, код Perl при чтении будет трудным и сложным для понимания, если у вас нет качественного опыта.Как видно выше, оба языка хороши в отношении приложений, на которые они нацелены, Python имеет небольшое преимущество перед Perl в качестве первого выбора для новичков из-за его чистого и легкого для понимания кода, тогда как, с другой стороны, Perl превосходит Python, когда речь идет об операциях манипулирования строками и некоторых продвинутых однострочных операциях для UNIX, таких как ОС, и различных других операций, как известно для.
Итак, в конце концов, все зависит от конкретной области, на которую вы нацеливаетесь. Все ваши комментарии к этой статье приветствуются, и вас попросят высказать свое мнение по теме, если, по вашему мнению, победит Python или Perl.