Zanurz się głęboko w debatę Python vs Perl - czego powinienem się nauczyć Python lub Perl?

Zanurz się głęboko w debatę Python vs Perl - czego powinienem się nauczyć Python lub Perl?

Często, gdy wprowadzany jest nowy język programowania, rozpoczyna się debata wśród niektórych genialnych umysłów w branży, w której język jest porównywany z tym, który już rozpowszechnia korzenie. Rodzaj szumu często rozprzestrzenia się w branży IT, a nowy jest często porównywany na każdym aspekcie, aby to być cechy, składni lub podstawowe aspekty procesora i pamięci, w tym czas GC i wszystko, z istniejącym w swoim rodzaju.

Wiele przykładów takich przypadków można odebrać i zbadać z przeszłości, w tym debata między Jawa I C#, C++, itp. Jednym z takich przypadków, w którym zwróciła znaczną uwagę, była debata między dwoma językami, która pojawiła się jeden po drugim w krótkim okresie i.mi. Pyton I Perl.

Mając na uwadze, że Pyton został początkowo wynaleziony jako następca języka ABC jedynie jako „hobby„Projekt programowy (który przyciągnąłby hakerów UNIX/C) dla autora, który nazwał go po serii swojej największej gwiazdy Monty Python.

Sugerowane przeczytanie: Pierwsze kroki z programowaniem i skryptami w Python w Linux

Perl był zaledwie około 2 lata wcześniej jako język skryptowy UNIX, który miał ułatwić przetwarzanie raportów. Była to mieszanka kombinacji wielu języków, w tym C, skrypt AWK, SED i Shell.

Warto zauważyć, że te języki, które ewoluowały w różnych intencjach, są stale porównywane, co sprawiło, że studiowałem i wymyśliłem przyczyny, z których niektóre ważne są, jak poniżej:

  1. Oba ukierunkowały system operacyjny UNIX, jeden dla hakerów i innych do przetwarzania raportów.
  2. Oba są zorientowane na obiekty (Python jest bardziej) i interpretowany, a jeden jest silnie wpisany i jasny, jeśli chodzi o kodowanie i.mi. Python i inne umożliwiające brzydkie pisanie z aparatem ortodontyczny.mi. Perl
  3. Oba są w zasadzie odwrotnie, kiedy mówimy, Perl ma wiele sposobów wykonywania jednego zadania, podczas gdy Python koncentruje się na jednym i tylko jednym sposobie robienia rzeczy.

Python vs Perl - w porównaniu

Zajmijmy się głęboko w tę debatę i spróbuj dowiedzieć się ogólnych aspektów, w których te dwa języki odróżniają się od siebie. Spróbujmy również znaleźć źródło prawdy dla wielu klisz, które można usłyszeć w branży, mówiąc „Python jest Perl z kołami treningowymi" Lub "Python jest podobny do Perla, ale inny„Abyśmy mogli spróbować zakończyć dokładnym rozwiązaniem tej niekończącej się debaty.

1. Python's Clean vs Perl's Complex Składnia

Python ma ogromną przewagę nad Perlem, jeśli chodzi o czytelność kodu. Kod Pythona jest o wiele wyraźniejszy do zrozumienia niż kod Perla, nawet podczas czytania kodu po latach.

Z wcięciem reprezentującym blok kodu i właściwą strukturę, kod Pythona jest znacznie czystszy. Z drugiej strony Perl pożycza swoją składnię z różnych języków programowania, takich jak C, Skrypty skorupowe, a nawet filtry AWK i SED, jeśli chodzi o wyrażenia regularne.

Sugerowane przeczytanie: 15 Przydatne polecenia „SED” do codziennych zadań podawania systemu Linux

Oprócz tego, z '' I '' reprezentujący blok kodu i niepotrzebne dodanie „;” Na końcu każdego wiersza kod w Perl może stać się problemem do zrozumienia, jeśli przeczytasz go po miesiącach lub latach ze względu na brzydkie skrypty.

2. Wbudowany Perl VS Python's Trzecia impreza Regex i OS Wsparcie operacyjne

Język perla pożycza składnię od C i inne UNIX Polecenia takie jak sed, Awk, itp. Ze względu na to, że ma mocne i wbudowane obsługę Regex bez importowania modułów stron trzecich.

Również, Perl może obsługiwać operacje systemu operacyjnego za pomocą wbudowanych funkcji. Z drugiej strony, Pyton ma biblioteki innych firm dla obu operacji i.mi. Odnośnie Do Regex i system operacyjny, SYS dla operacji systemu operacyjnego, które należy zapewnić przed wykonaniem takich operacji.

Operacje Regex Perla mająsed„Podobnie jak składnia, która ułatwia nie tylko w przypadku operacji wyszukiwania, ale także zastępowanie, zastępcze i inne operacje na sznurku można wykonać łatwo i szybko niż Python, w którym dana osoba musi wiedzieć i pamiętać o funkcjach, które zaspokajają potrzebę.

Przykład: Rozważ program wyszukiwania cyfry w ciągu w Perl I Pyton.

Pyton
Import re str = 'hello0909There wynik = re.FINDALL („\ D+”, str) Wynik wydruku 
Perl
$ string = 'hello0909There'; $ string = ~ m/(\ d+)/; Wydrukuj „$ & \ n” 

Widzisz składnię dla Perl jest o wiele łatwe i zainspirowane przez polecenie SED, które wykorzystuje przewagę Python Składnia, która importuje moduł zewnętrzny 'Odnośnie'.

3. Zaawansowane programowanie OO Pythona vs One Liners

Jedna funkcja, gdzie Pyton przyćmione Perl jest zaawansowany Oo programowanie. Pyton ma obszerne wsparcie programowania zorientowane na obiekt z czystą i spójną składnią, podczas gdy obiekt Oop W Perl będąc nieaktualnym tam, gdzie pakiet jest używany jako substytut klas.

Sugerowane przeczytanie: Rozpoczęcie pracy z Python Django Web Framework

Pisanie Oo Kod w Perl doda o wiele większą złożoność kodu, co ostatecznie utrudniłoby kod do zrozumienia, nawet podprogramy w Perl są bardzo trudne do zaprogramowania i ostatecznie trudne do zrozumienia później.

Z drugiej strony Perl jest najlepszy dla swoich jedno-linii, które można użyć na wierszu poleceń do wykonywania różnych zadań. Ponadto kod Perl może ostatecznie wykonywać różne zadania w mniejszej liczbie kodów niż Python.

Przykład w skrócie obu języków, który podkreśla zdolność Perla do robienia więcej w mniej LOC:

Pyton
Spróbuj: z otwartym („Dane.csv ”) jako f: dla linii w f: wiersz wydruku, z wyjątkiem wyjątku jako e: wydruku„ nie można otworzyć pliku - %s ” %e 
Perl
Otwórz (plik ”%LT; INP.txt ”) lub die„ nie można otworzyć pliku ”; while () print „$ _”;  

Plusy i wady - Python vs Perl

W tej sekcji omówimy zalety i wady Pythona i Perla.

Python Pro:

  1. Ma czystą i elegancką składnię, która sprawia, że ​​ten język jest doskonałym wyborem jako pierwszy język programowania dla nowicjuszy, którzy chcą mieć praktyczny język programowania.
  2. Ma bardzo zaawansowane i nieodłączne Oo Programowanie, również programowanie wątków w Pythonie jest znacznie lepsze niż Perl.
  3. Istnieje wiele obszarów aplikacji, w których preferowany jest Python, a nawet przewyższa perla. Tak jak: Perl jest preferowany do skryptów CGI, ale obecnie Django Pythona i Web2py Podobnie jak języki skryptów internetowych stają się coraz bardziej popularne i mają ogromną atrakcję z branży.
  4. Ma kilka HAUST Opakowania różnych języków programowania, takie jak Cython, IronPython I Jython a ich rozwój poprzedził rozwój opakowań SWIG dla Perla.
  5. Kod Pythona jest zawsze dobrze wcięty i łatwy do odczytania i zrozumienia, nawet jeśli czytasz czyjś kod lub nawet kod po latach.
  6. Python jest dobry do różnych aplikacji, takich jak Big Data, Automatyzacja Infra, Nauczanie maszynowe, NLP, itp. ma ogromne poparcie dla aktywnych społeczności ze względu na open source.

Python Cons:

  1. Istnieje niewiele obszarów, w których wykonywanie w Pythonie jest zwykle wolniejsze niż wykonywanie Perla, w tym Regex i operacje oparte na ciągu.
  2. Czasami trudno jest uzyskać rodzaj zmiennej w Pythonie, jak w przypadku bardzo dużego kodu, musisz iść do końca, aby uzyskać rodzaj zmiennej, która staje się gorączkowa i złożona.

Perl profesjonaliści:

  1. Perl ma potężne liniowce, a nawet zapewnia rurki Unixowi takie jak składnia, które można użyć na wierszu poleceń do wykonywania różnych zadań, a także wpływa na to programowanie UNIX i jego linia poleceń, więc integruje wiele poleceń wpływających na Unix w kodowaniu.
  2. Perl jest znany ze swojego potężnego Regex i operacje porównawcze ciągów, jakie mają wpływ sed I Awk Jak potężne narzędzia Unix. W przypadku operacji regularnych i ciągów, takich jak podstawienie, dopasowanie, wymiana, Perl przewyższa Pythona, który wziąłby kilka wierszy kodu, aby osiągnąć to samo. Również wiele operacji we/wy plików, obsługa wyjątków odbywa się szybciej na Perl.
  3. Jeśli chodzi o język generowania raportów, Perl zawsze był sławy od czasu jego wprowadzenia jako jeden z głównych powodów opracowania języka, takiego jak Perl, było generowanie raportów.
  4. Wiele obszarów aplikacji, w których Perl znajduje swoje użycie Programowanie sieciowe, Administracja systemu, Skrypty CGI (Tutaj Python pokonuje Perla z Django i Web2Py) itp.
  5. Łatwo jest zidentyfikować rodzaj zmiennej z symbolami, których Perl używa przed nimi, na przykład: „@” identyfikuje tablice i „%” identyfikuje skróty.

Perl Cons:

  1. Perl ma bardzo złożony kod, który utrudnia zrozumienie dla nowicjuszy. Podprogram, a nawet inne symbole, takie jak: '$ ", „$ &” itp. są trudne do zrozumienia i zaprogramować dla mniej doświadczonego programisty. Również kod perla, gdy odczyt byłby trudny i złożony do zrozumienia, chyba że masz jakość.
  2. Oo Programowanie w Perl jest nieco nieaktualne, ponieważ nigdy nie było znane Oo Programowanie i wiele operacji, takich jak gwintowanie, są również mniej wymawiane na PERL.

Wniosek

Jak widać powyżej, gdzie oba języki są dobre pod względem, zgodnie z kierowanymi przez nich aplikacjami, Pyton Przyjmuje trochę przewagi Perl Jako pierwszy wybór dla nowicjusza ze względu na jego czysty i łatwy do zrozumienia kod, podczas gdy z drugiej strony Perl przewyższa Pythona, jeśli chodzi o operacje manipulacji strunami i niektóre zaawansowane jedno-liniowce dla UNIX, takie jak system operacyjny i różne inne operacje, z których jest znany.

W końcu to wszystko dotyczy określonego obszaru, którego celuje. Wszystkie twoje komentarze do tego artykułu są mile widziane i poprosiło o przekazanie opinii na ten temat.