Python 대 Perl 토론에 대해 자세히 알아보기 - Python 또는 Perl 중에서 무엇을 배워야 합니까?


종종 새로운 프로그래밍 언어가 도입될 때 업계의 일부 천재들 사이에서 시작되는 논쟁이 있습니다. 이 언어는 이미 뿌리를 내리고 있는 언어와 비교됩니다. 일종의 소문이 IT 산업에 퍼지고 새로운 것은 종종 기능, 구문 또는 코어 CPU 및 메모리 측면(GC 시간 등 모든 측면)에서 기존 제품과 비교됩니다.

이러한 사례의 많은 예는 JavaC#, C++ 등의 논쟁을 포함하여 과거에서 선택하고 조사할 수 있습니다. 상당한 관심을 끌었던 그러한 사례 중 하나는 짧은 기간에 차례로 나온 두 언어, 즉 PythonPerl 사이의 논쟁이었습니다.

Python은 처음에 ABC 언어의 후계자로서 단지 이름을 따서 이름을 지은 저자를 위한 \취미 프로그래밍 프로젝트(Unix/C 해커를 끌어들일 것임)로 발명되었습니다. 그의 가장 큰 스타 Monty Python 시리즈.

Perl은 약 2년 전에 보고서 처리를 쉽게 하기 위한 Unix 스크립팅 언어였습니다. C, 쉘 스크립트를 비롯한 여러 언어의 조합이 혼합된 것입니다.

주목할 만한 점은 서로 다른 의도로 진화한 이 언어들이 끊임없이 비교되고 있다는 것입니다. 이로 인해 제가 연구하고 그 이유를 알아내게 되었으며 그 중 몇 가지 중요한 것은 다음과 같습니다.

  1. 둘 다 Unix 운영 체제를 표적으로 삼았습니다. 하나는 해커와 다른 사람들이 보고를 처리하기 위한 것입니다.
  2. 둘 다 객체 지향적이며(Python이 더 많음) 해석됩니다. 하나는 코딩과 관련하여 강력하고 명확하게 입력됩니다(예: Python).
  3. Perl은 단일 작업을 수행하는 여러 가지 방법이 있는 반면 Python은 작업을 수행하는 한 가지 방법에만 집중한다고 말할 때 둘 다 원칙적으로 반대입니다.

Python과 Perl – 기능 비교

이 논쟁에 대해 깊이 파고들어 이 두 언어가 서로 다른 전반적인 측면을 파악해 봅시다. 또한 업계에서 \Python은 보조 바퀴가 달린 Perl입니다 또는 \Python은 Perl과 유사하지만 다릅니다. ” 그래서 우리는 이 끝나지 않는 논쟁에 대한 정확한 해결책을 시도하고 결론을 내릴 수 있습니다.

1. Python의 Clean vs Perl의 복잡한 구문

Python은 코드 가독성 면에서 Perl보다 훨씬 유리합니다. Python의 코드는 몇 년 후에 코드를 읽을 때도 Perl의 코드보다 이해하기가 훨씬 더 명확합니다.

코드 블록을 나타내는 들여쓰기와 적절한 구조화를 통해 Python의 코드는 훨씬 더 깔끔해졌습니다. 반면에 Perl은 정규 표현식과 관련하여 C, sed 필터와 같은 다양한 프로그래밍 언어에서 구문을 차용합니다.

이 외에도 코드 블록을 나타내는 '{' 및 '}'와 각 줄 끝에 ';'를 불필요하게 추가하면 Perl의 코드는 다음과 같이 될 수 있습니다. 못생긴 스크립팅을 허용하기 때문에 몇 달 또는 몇 년 후에 읽으면 이해해야 할 문제입니다.

2. Perl의 내장 Vs Python의 타사 Regex 및 OS 운영 지원

Perl 언어는 Csed, awk, 등과 같은 기타 UNIX 명령에서 구문을 차용합니다. 그로 인해 타사 모듈을 가져오지 않고도 강력하고 내장된 정규식 지원이 가능합니다.

또한 Perl은 내장 기능을 사용하여 OS 작업을 처리할 수 있습니다. 반면에 Python에는 regex 및 os, os용 sys 작업을 위한 re 작업 모두를 위한 타사 라이브러리가 있습니다. 이러한 작업을 수행하기 전에 확인하십시오.

Perl의 정규식 연산에는 'sed'와 같은 구문이 있어 검색 연산뿐만 아니라 문자열에 대한 대체, 대체 및 기타 연산을 사람이 알아야 하는 Python보다 쉽고 빠르게 수행할 수 있습니다. 필요에 맞는 기능을 기억하십시오.

예: PerlPython에서 문자열의 숫자를 검색하는 프로그램을 생각해 보십시오.

Import re
str = ‘hello0909there’
result = re.findall(‘\d+’,str)
print result
$string =  ‘hello0909there’;
$string =~ m/(\d+)/;
print “$& \n”

Perl의 구문이 훨씬 쉽고 타사 모듈 're'를 가져오는 Python 구문을 활용하는 sed 명령에서 영감을 받은 것을 볼 수 있습니다.

3. Python의 고급 OO 프로그래밍과 Perl의 원라이너

PythonPerl을 압도하는 한 가지 기능은 고급 OO 프로그래밍입니다. Python은 깨끗하고 일관된 구문으로 광범위한 객체 지향 프로그래밍을 지원하는 반면 Perl의 객체 OOP는 패키지가 대체품으로 사용되는 구식입니다. 수업을 위해.

또한 Perl에서 OO 코드를 작성하면 코드에 훨씬 더 많은 복잡성이 추가되어 결국 코드를 이해하기 어려워지고 Perl의 서브루틴조차도 프로그래밍하기가 매우 어렵고 결국 나중에 이해하기 어렵습니다.

반면에 Perl은 다양한 작업을 수행하기 위해 명령줄에서 사용할 수 있는 한 줄짜리 코드에 가장 적합합니다. 또한 Perl 코드는 결국 Python보다 적은 코드 라인으로 다양한 작업을 수행할 수 있습니다.

적은 LOC에서 더 많은 작업을 수행할 수 있는 Perl 기능을 강조하는 두 언어의 단축 코드 예:

try:
with open(“data.csv”) as f:
for line in f:
print line,
except Exception as e:
print "Can't open file - %s"%e
open(FILE,”%lt;inp.txt”) or die “Can’t open file”;
while(<FILE>) {
print “$_”; } 

찬반 양론 – Python 대 Perl

이 섹션에서는 Python과 Perl의 장단점에 대해 설명합니다.

파이썬 장점:

  1. 깔끔하고 우아한 구문을 가지고 있어 모든 프로그래밍 언어를 직접 체험해보고 싶은 초보자를 위한 첫 번째 프로그래밍 언어로 이 언어를 선택하는 것이 좋습니다.
  2. 매우 진보되고 고유한 OO 프로그래밍이 있으며 Python의 스레드 프로그래밍도 Perl보다 훨씬 낫습니다.
  3. Python이 선호되고 심지어 Perl을 능가하는 많은 응용 분야가 있습니다. Like: Perl은 CGI 스크립팅에 선호되지만 요즘에는 Python의 Django 및 web2py와 같은 웹 스크립팅 언어가 점점 인기를 얻고 있으며 업계에서 큰 관심을 받고 있습니다.
  4. CPython, IronPythonJython과 같은 다양한 프로그래밍 언어를 위한 여러 SWIG 래퍼가 있으며 이들의 개발은 Perl용 SWIG 래퍼 개발보다 앞서 있습니다.
  5. Python 코드는 항상 들여쓰기가 잘 되어 있어 다른 사람의 코드를 읽거나 심지어 몇 년 후에 자신의 코드를 읽어도 읽고 이해하기 쉽습니다.
  6. Python은 빅 데이터, 인프라 자동화, 머신 러닝, NLP 등과 같은 다양한 애플리케이션에 적합합니다. , 오픈 소스이기 때문에 활발한 커뮤니티의 엄청난 지원을 받고 있습니다.

파이썬 단점:

  1. 정규식 및 문자열 기반 작업을 포함하여 Python의 실행이 일반적으로 Perl보다 느린 영역은 거의 없습니다.
  2. 때때로 매우 큰 코드의 경우 파이썬에서 변수 유형을 얻기가 어렵습니다. 바쁘고 복잡한 변수 유형을 얻으려면 끝까지 가야 합니다.

펄 장점:

  1. Perl은 강력한 원라이너를 가지고 있으며 다양한 작업을 수행하기 위해 명령줄에서 사용할 수 있는 구문과 같은 UNIX 파이프를 보장합니다. .
  2. Perl은 강력한 UNIX 도구와 같은 sedawk의 영향을 받기 때문에 강력한 regex 및 문자열 비교 작업으로 유명합니다. 대체, 매칭, 대체와 같은 정규식 및 문자열 연산의 경우 Perl은 몇 줄의 코드로 다음을 달성하는 Python보다 성능이 뛰어납니다. 같은. 또한 많은 파일 I/O 작업, 예외 처리가 Perl에서 더 빠르게 수행됩니다.
  3. 보고서 생성을 위한 언어의 경우 Perl이 보고서 생성을 위한 언어인 것처럼 Perl은 저자가 언어를 개발한 주된 이유 중 하나로 소개된 이후 항상 유명했습니다.
  4. Perl이 사용하는 많은 응용 분야는 네트워크 프로그래밍, 시스템 관리, CGI 스크립팅입니다(여기서 Python은 Django로 Perl을 극복하고 web2py) 등
  5. Perl이 앞에 사용하는 기호로 변수 유형을 쉽게 식별할 수 있습니다. 예: '@'는 배열을 식별하고 '%'는 해시를 식별합니다.< /리>

펄 단점:

  1. Perl은 초보자가 이해하기 어려운 매우 복잡한 코드를 가지고 있습니다. 서브루틴, '$\\', '$&' 등과 같은 기타 기호는 경험이 적은 프로그래머가 이해하고 프로그래밍하기 어렵습니다. 또한 Perl 코드는 양질의 경험이 없으면 읽기가 어렵고 복잡할 수 있습니다.
  2. OO Perl의 프로그래밍은 OO 프로그래밍에 대해 알려진 적이 없고 스레딩과 같은 많은 작업도 Perl에서 덜 발음되기 때문에 약간 구식입니다.

결론

두 언어가 목표로 하는 응용 프로그램에 따라 좋은 점을 위에서 볼 수 있듯이 Python은 초보자가 Perl보다 우선적으로 선택할 수 있는 장점이 있습니다. 깨끗하고 이해하기 쉬운 코드인 반면 Perl은 문자열 조작 작업과 OS와 같은 UNIX용 고급 원라이너 및 알려진 다양한 작업에서 Python을 능가합니다.

따라서 결국 목표로 삼은 특정 영역에 관한 것입니다. 이 기사에 대한 모든 의견을 환영하며 Python wins 또는 Perl에 따라 주제에 대한 견해를 제공하도록 요청할 것입니다.