Menyelam jauh ke dalam perbahasan python vs perl - apa yang harus saya pelajari python atau perl?

Menyelam jauh ke dalam perbahasan python vs perl - apa yang harus saya pelajari python atau perl?

Selalunya apabila bahasa pengaturcaraan baru diperkenalkan, terdapat perdebatan yang bermula di antara beberapa minda jenius dalam industri di mana bahasa itu dibandingkan dengan yang telah menyebarkan akarnya. Semacam buzz sering merebak dalam industri IT dan yang baru sering dibandingkan pada setiap aspek mungkin ia menjadi ciri, sintaks atau CPU teras dan aspek memori termasuk masa GC dan semua, dengan yang ada dari jenisnya.

Banyak contoh kes seperti itu boleh diambil dan disiasat dari masa lalu termasuk perdebatan antara Java dan C#, C++, dan lain-lain. Satu kes sedemikian yang menarik perhatian yang besar adalah perdebatan antara dua bahasa yang keluar satu demi satu dalam jangka pendek i.e. Python dan Perl.

Sedangkan Python dicipta pada mulanya sebagai pengganti bahasa ABC semata -mata sebagai "hobi"Projek Pengaturcaraan (yang akan menarik penggodam Unix/C) untuk penulis yang menamakannya selepas siri bintang terbesarnya Monty Python.

Cadangan Baca: Bermula dengan pengaturcaraan Python dan skrip di Linux

Perl hampir hampir 2 tahun lebih awal sebagai bahasa skrip Unix yang bertujuan untuk memudahkan pemprosesan laporan. Itu adalah campuran gabungan banyak bahasa termasuk C, Awk, sed, dan skrip shell.

Perkara yang perlu diperhatikan ialah bahasa -bahasa ini yang berkembang dari niat yang berbeza sentiasa dibandingkan, yang telah membuat saya belajar dan mengetahui sebab -sebabnya, yang mana beberapa yang penting disenaraikan seperti di bawah:

  1. Kedua -dua sistem operasi Unix yang disasarkan, satu untuk penggodam dan lain -lain untuk memproses laporan.
  2. Kedua-duanya berorientasikan objek (python menjadi lebih) dan ditafsirkan, dengan seseorang yang sangat ditaip dan jelas ketika datang ke pengekodan i.e. Python, dan lain -lain yang membolehkan menaip jelek dengan pendakap untuk mewakili blok I.e. Perl
  3. Kedua -duanya bertentangan dengan prinsip apabila kita mengatakan, Perl mempunyai banyak cara untuk melakukan satu tugas sementara Python memberi tumpuan kepada satu dan hanya satu cara untuk melakukan sesuatu.

Python vs Perl - Ciri dibandingkan

Mari kita menyelam jauh ke dalam perdebatan ini dan cuba mencari aspek keseluruhan di mana kedua -dua bahasa ini membezakan antara satu sama lain. Juga, mari kita cuba mencari sumber kebenaran untuk banyak klise yang boleh didengar dalam industri yang mengatakan "Python adalah perl dengan roda latihan"Atau"Python serupa dengan Perl tetapi berbeza"Supaya kita dapat mencuba dan menyimpulkan dengan penyelesaian yang tepat untuk perdebatan yang tidak pernah berakhir ini.

1. Sintaks kompleks Python's Clean Vs Perl

Python mengambil kelebihan yang besar ke atas Perl ketika datang ke kebolehbacaan kod. Kod Python jauh lebih jelas untuk difahami daripada Perl walaupun membaca kod selepas bertahun -tahun.

Dengan lekukan yang mewakili blok kod, dan penstrukturan yang betul, kod Python jauh lebih bersih. Sebaliknya, Perl meminjam sintaksnya dari pelbagai bahasa pengaturcaraan seperti C, skrip shell dan juga penapis Awk dan SED ketika datang ke ekspresi biasa.

Cadangan Baca: 15 Perintah 'sed' yang berguna untuk tugas pentadbiran sistem Linux setiap hari

Selain ini, dengan '' dan '' mewakili blok kod dan penambahan yang tidak perlu ';' Pada akhir setiap baris, kod di Perl boleh menjadi masalah untuk difahami jika anda membacanya selepas berbulan -bulan atau tahun kerana elaun skrip hodohnya.

2. Perl's terbina dalam vs Python's 3rd parti Regex dan OS Sokongan OS

Bahasa Perl meminjam sintaksnya dari C dan lain-lain Unix arahan seperti sed, awk, dan lain-lain. kerana ia mempunyai sokongan regex yang kuat dan terbina dalam tanpa mengimport modul pihak ketiga.

Juga, Perl boleh mengendalikan operasi OS menggunakan fungsi terbina dalam. Sebaliknya, Python mempunyai perpustakaan pihak ketiga untuk kedua-dua operasi i.e. Re untuk regex dan OS, sys untuk operasi OS yang perlu dipastikan sebelum melakukan operasi tersebut.

Operasi Regex Perl mempunyai 'sed'seperti sintaks yang memudahkan bukan sahaja untuk operasi carian tetapi juga menggantikan, pengganti dan operasi lain pada rentetan boleh dilakukan dengan mudah dan cepat daripada python di mana seseorang perlu tahu dan ingat fungsi yang memenuhi keperluan.

Contoh: Pertimbangkan program untuk mencari digit dalam rentetan di Perl dan Python.

Python
Import re str = 'hello0909there' result = re re.hasil cetak findall ('\ d+', str) 
Perl
$ string = 'hello0909there'; $ string = ~ m/(\ d+)/; Cetak "$ & \ n" 

Anda melihat sintaks untuk Perl adalah cara yang mudah dan diilhamkan oleh perintah sed yang mengambil kesempatan Python's sintaks yang mengimport modul pihak ketiga 'Re'.

3. Pengaturcaraan OO Advanced Python vs Perl's One-Liners

Satu ciri di mana Python membayangi Perl adalah maju Oo pengaturcaraan. Python mempunyai sokongan pengaturcaraan berorientasikan objek yang luas dengan sintaks yang bersih dan konsisten sementara objek OOP dalam Perl sudah ketinggalan zaman di mana pakej digunakan sebagai pengganti kelas.

Cadangan Baca: Bermula dengan Rangka Kerja Web Python Django

Juga, menulis Oo Kod di Perl akan menambah lebih banyak kerumitan kepada kod, yang akhirnya akan membuat kod sukar difahami, walaupun subrutin di Perl sangat sukar untuk program dan akhirnya sukar difahami kemudian.

Sebaliknya, Perl adalah yang terbaik untuk satu-liners yang boleh digunakan pada baris arahan untuk melaksanakan pelbagai tugas. Juga, kod perl akhirnya boleh melakukan pelbagai tugas dalam kod yang lebih sedikit daripada python.

Contoh kod shortcode kedua -dua bahasa yang menyoroti kemampuran perl untuk melakukan lebih banyak lagi di LOC:

Python
Cuba: dengan buka ("Data.csv ") sebagai f: untuk baris dalam f: garis cetak, kecuali pengecualian sebagai e: cetak" tidak dapat membuka fail - %s " %e 
Perl
buka (fail, "%lt; inp.txt ") atau mati" tidak dapat membuka fail "; sementara () cetak "$ _";  

Kebaikan dan keburukan - Python vs Perl

Dalam bahagian ini, kita akan membincangkan kebaikan dan keburukan Python dan Perl.

Kelebihan Python:

  1. Ia mempunyai sintaks yang bersih dan elegan yang menjadikan bahasa ini menjadi pilihan yang tepat sebagai bahasa pengaturcaraan pertama untuk orang baru yang ingin mempunyai tangan pada bahasa pengaturcaraan.
  2. Mempunyai sangat maju dan wujud Oo Pengaturcaraan, juga pengaturcaraan benang di python adalah lebih baik daripada perl.
  3. Terdapat banyak kawasan aplikasi di mana Python lebih disukai dan bahkan ia melebihi Perl. Seperti: Perl lebih disukai untuk skrip CGI tetapi kini Django Python dan WEB2PY seperti bahasa skrip web menjadi lebih popular dan mempunyai tarikan besar dari industri.
  4. Mempunyai beberapa Swig pembalut untuk bahasa pengaturcaraan yang berbeza seperti Cpython, Ironpython dan Jython dan perkembangan ini telah mendahului perkembangan pembalut swig untuk perl.
  5. Kod Python sentiasa diindikasikan dan mudah dibaca dan difahami walaupun anda membaca kod orang lain atau kod anda selepas bertahun -tahun.
  6. Python bagus untuk pelbagai aplikasi seperti Data besar, Automasi Infra, Pembelajaran Mesin, NLP, dll, ia mempunyai sokongan besar dari komuniti aktif kerana menjadi sumber terbuka.

Python Cons:

  1. Terdapat beberapa kawasan di mana pelaksanaan di Python biasanya lebih perlahan daripada Perl termasuk regex dan operasi berasaskan rentetan.
  2. Kadang -kadang sukar untuk mendapatkan jenis pemboleh ubah dalam python seperti dalam kes -kes kod yang sangat besar, anda harus pergi sampai akhir untuk mendapatkan jenis pemboleh ubah yang menjadi sibuk dan kompleks.

Perl Pro:

  1. Perl mempunyai satu lapisan yang kuat dan juga memastikan paip Unix seperti sintaks yang boleh digunakan pada baris arahan untuk melaksanakan pelbagai tugas, juga dipengaruhi oleh UNIX dan pengaturcaraan baris perintahnya sehingga mengintegrasikan banyak arahan UNIX yang dipengaruhi dalam pengekodannya.
  2. Perl terkenal dengan kuatnya regex dan operasi perbandingan rentetan kerana ia dipengaruhi oleh sed dan awk seperti alat Unix yang kuat. Dalam kes regex dan operasi rentetan seperti penggantian, sepadan, penggantian, Perl mengatasi python yang akan mengambil beberapa baris kod untuk mencapai yang sama. Juga banyak operasi I/O fail, pengendalian pengecualian dilakukan lebih cepat di Perl.
  3. Ketika datang ke bahasa untuk generasi laporan, Perl selalu menjadi kemasyhuran sejak pengenalannya sebagai salah satu sebab utama pengarang untuk membangunkan bahasa seperti Perl adalah untuk generasi laporan.
  4. Banyak kawasan aplikasi di mana Perl mendapati penggunaannya adalah Pengaturcaraan Rangkaian, Pentadbiran sistem, Skrip CGI (Di sini Python mengatasi Perl dengan Django dan Web2Py), dll.
  5. Adalah mudah untuk mengenal pasti jenis pembolehubah dengan simbol yang digunakan Perl sebelum mereka, seperti: '@' Mengenal pasti tatasusunan dan '%' mengenal pasti hash.

Perl Cons:

  1. Perl mempunyai kod yang sangat kompleks yang menjadikannya sukar difahami untuk seorang pemula. Subrutin, dan juga simbol lain seperti: '$ ", '$ &' dll sukar difahami dan program untuk pengaturcara yang kurang berpengalaman. Juga, kod perl apabila dibaca akan sukar dan kompleks untuk difahami kecuali anda mempunyai pengalaman yang berkualiti.
  2. Oo Pengaturcaraan di Perl agak ketinggalan zaman kerana tidak pernah diketahui Oo pengaturcaraan dan banyak operasi seperti threading juga kurang jelas di Perl.

Kesimpulan

Seperti yang dilihat di atas di mana kedua -dua bahasa adalah baik berkenaan dengan aplikasi mereka mengikut aplikasi yang mereka targetkan, Python mengambil sedikit kelebihan Perl Sebagai pilihan pertama untuk pemula kerana kod yang bersih dan mudah difahami, sedangkan di tangan lain Perl mengatasi python ketika datang ke operasi manipulasi rentet.

Oleh itu, pada akhirnya, semuanya di kawasan tertentu yang anda targetkan. Semua komen anda di artikel ini dialu -alukan dan akan meminta anda memberikan pandangan anda mengenai topik ini jika menurut anda menang python atau perl.