Rumah >tajuk utama >Adakah PHP akhirnya mengalahkan Python?
Baru-baru ini, saya tiba-tiba mendapati bahawa saya seolah-olah menentang trend sekali lagi. Mungkin saya berfikir secara berbeza daripada kebanyakan rakan saya, tetapi saya fikir PHP, "bajingan" dunia bahasa pengaturcaraan, lebih popular berbanding sebelum ini.
Mungkin anda akan mempersoalkan - bukankah PHP sudah selesai? Sudah terdapat banyak bahasa pengaturcaraan yang "lebih baik" di luar sana, bukan?
Jawapannya jelas sekali tidak, jika tidak PHP akan hilang dari pandangan orang ramai dan akan terpijak sepuluh ribu kaki. Untuk mencari punca, kita mungkin perlu terlebih dahulu memikirkan apa yang dipanggil bahasa "lebih baik" sebenarnya.
Jika anda masih tidak faham mengapa PHP masih hidup dan bermula, maka kita mungkin perlu memulakan dengan isu seperti pengaturcaraan, pengaturcara, popularisasi pasaran dan teknologi. Ya, sebab sebenar adalah di sini, bukan kod, fungsi atau sintaks.
Pada suatu masa dahulu, memarahi PHP mewakili trend
Jika anda ingin memilih pasukan dan berdiri teguh dalam bidang kejuruteraan pengekodan hari ini, anda mesti mengalih keluar bahasa itu terlebih dahulu ditentukan oleh ketua Mari kita memarahi semua bahasa pengaturcaraan yang bersaing. Ini tiada kaitan dengan ciri fungsian, tetapi gambaran langsung budaya perniagaan. Dalam erti kata lain, adegan sebegitu selalunya mengingatkan pada upacara permulaan.
Programmer ialah sekumpulan orang yang degil, termasuk saya. Kita semua sombong dan suka mengkritik mana-mana bahasa yang kita tidak gunakan atau tidak suka. Anda semua pernah mendengar jurutera berkata, "Java menyebalkan, dan C# adalah sampah dan tiada apa-apa pun bahasa yang anda bincangkan di sini, asalkan ia membuat semua orang ketawa."
Tetapi di sebalik pengecaman yang tidak senonoh itu terdapat penghinaan yang lebih mendalam, yang amat ketara dalam perbahasan PHP vs. Python baru-baru ini. Pada pandangan ramai ahli akademik, ini kelihatan seperti perubahan dinasti berdarah Nampaknya seseorang mahu membunuh PHP dan menggantikannya sepenuhnya dengan Python.
Jika anda tidak percaya, anda boleh menyemaknya di Wikipedia "P" dalam entri tindanan LAMP adalah singkatan dari Python. Menariknya, apabila saya mula-mula bersentuhan dengan LAMP 20 tahun yang lalu, "P" pasti merujuk kepada PHP - ya, Python mahupun Perl. Saya tidak mengatakan perkara tidak boleh berkembang, tetapi bagaimanakah Python tanpa disedari menggantikan status budaya PHP? Ini sememangnya soalan yang patut difikirkan.
Bagi kebanyakan pengaturcara, kami mempelajari Python di sekolah dan beberapa bahasa khusus lain yang mungkin tidak pernah digunakan dalam senario dunia sebenar. Anda akan lebih kurang mendengar profesor atau pengamal lain mengatakan perkara seperti "PHP menyebalkan", tetapi jika kita menggali lebih dalam, kita akan mendapati bahawa mereka mungkin tidak pernah menulis dengan serius walaupun sebaris kod PHP.
Malah, hanya memikirkan seseorang yang menulis kod PHP sepenuh masa membuatkan kita menggigil, seolah-olah kita melihat dengan mata kepala kita sendiri bahawa syaitan Syaitan sebenarnya mempunyai pengikut setia.
Penghinaan terhadap PHP ini sebenarnya agak logik, malah telah membentuk konsensus endogen dalam kalangan komuniti pengaturcara. Bukankah lebih baik untuk duduk bersama rakan-rakan dan menikmati petang di Starbucks sambil bercakap tentang Trump, pop rock dan PHP?
Terdapat juga pemurni pengaturcaraan yang sanggup membuang banyak masa berharga mereka dengan alasan mengapa PHP benar-benar menyebalkan. Kebanyakan hujah berkisar tentang beberapa arah aliran reka bentuk atau nuansa yang mereka tidak suka, dan bolak-balik adalah taktik biasa dalam jenis pertukaran ini. Apabila bercakap tentang bahasa, kita perlu menilai siapa yang lebih tinggi dan siapa yang lebih rendah. Lagipun, labu ungu dan emas dibahagikan kepada lelaki dan perempuan.
Sudah tentu banyak yang perlu dirungut: PHP ialah bahasa yang ditaip longgar, yang sering menghasilkan kod buruk. (Tetapi perkara yang sama berlaku untuk JavaScript dan Node.js. Mengapa anda tidak melihat begitu banyak kebencian?) PHP mempunyai terlalu banyak fungsi. (Ya, ini terlalu mudah dan tidak menunjukkan tahap pengaturcara.) Nama fungsi tidak konsisten. (Ya, masalah seperti itu akan timbul apabila bahasa itu benar-benar popular dan tidak sepenuhnya berada di tangan seorang PhD sains komputer.)
Mari kita kembali ke topik, anda boleh melihat Kritikan PHP kebanyakannya berpunca daripada keutamaan peribadi atau pemetik ceri butiran. Jika kita mahu, kita boleh mencari kesalahan yang sama dalam bahasa lain seperti Python, C#, Java, Go, atau JavaScript. Sebagai pengaturcara, kami hanya suka mengeluh, dan mengeluh membuatkan kami gembira.
Tetapi sebab sebenar mengapa pengaturcara suka menyerang PHP adalah kerana keangkuhan yang wujud bercampur dengan cemburu yang semakin meningkat.
PHP sememangnya lebih mudah digunakan
PHP dilahirkan pada pertengahan 1990-an, malah lebih tua daripada ramai pengaturcara muda. Saya mula bekerja dengan PHP pada awal tahun 2000-an, apabila ia hanya beralih daripada versi 4 kepada versi 5. Kemudian, saya mula menulis aplikasi dalam rangka kerja CodeIgniter ZendFramework yang saya tulis.
Pada pendapat saya, sebab utama mengapa PHP boleh kekal malar hijau dan tidak menunjukkan tanda-tanda penuaan selepas bertahun-tahun ialah ia dibenamkan dalam aplikasi baharu dan lama di seluruh dunia, dan ia juga tertanam dalam minda pembangun tanpa mengira umur. Sesetengah orang telah menggunakannya selama beberapa tahun, dan ada yang menggunakannya selama beberapa dekad, dan PHP telah meninggalkan kesan yang mendalam kepada mereka. Pembangun tidak akan hilang, begitu juga kod perniagaan yang mereka tulis, jadi PHP masih di sini untuk kekal. Dan menariknya, Python sebenarnya dilahirkan pada tahun 1991, lebih awal daripada PHP. Dan walaupun kitaran hayatnya lebih panjang, Python tidak pernah dapat mencapai tahap semasa PHP.
Kenapa ni?
Dari sudut pandangan peribadi, saya rasa Python lebih menyusahkan untuk digunakan berbanding PHP. Masalah ini telah bertambah baik dalam Python 3, tetapi sejak 15 tahun lalu, Python tidak mempunyai "ciri mewah" (fungsi) yang keluar dari kotak dalam PHP. Banyak ciri mesti dipasang secara manual, jika tidak, ia akan menjadi sia-sia.
Dan satu lagi masalah lama yang telah melanda bahasa Python untuk masa yang lama ialah sintaks selang. Saya sangat benci sintaks ini di mana bilangan ruang antara kod menentukan pemisahan. Saya suka memisahkan kod saya walau bagaimanapun saya suka, dan tidak tahan memikirkan bahasa pengaturcaraan itu sendiri perlu melakukan apa-apa di sini. Semua orang bebas untuk mengkritik tabiat saya ini, tetapi ini adalah kod saya sendiri dan ditulis oleh saya Adakah salah untuk mengikut gaya saya sendiri. Jika anda tidak diberikan hak ini, saya akan mengutuk troll yang memerhatikan diri sendiri yang memeriksa pepijat setiap hari.
Python terus menggembar-gemburkan bahawa sintaks jarak ini "mudah dibaca", yang jelas memasarkan omong kosong. Saya akan membiarkannya begitu sahaja - sintaks yang digunakan oleh Python boleh dipanggil sintaks yang paling benar dan paling teruk dalam dunia bahasa pengaturcaraan.
Sikap mementingkan diri sendiri yang tidak dapat difahami inilah yang menyebabkan pengaturcara menderita pada hari-hari awal pengaturcaraan, apabila tiada IDE untuk membantu kami membetulkan kesilapan tatabahasa, tidak ramai pengaturcara yang bersedia untuk Melihat lebih dekat pada Python; . Bagaimanapun, saya tidak mahu. Untuk menjadi lebih tepat, ini juga merupakan sebab utama mengapa bahasa Python tidak dapat memperoleh bahagian pasaran yang ketara dalam sepuluh tahun pertama kewujudannya. Ya, reka bentuk ini tidak mesra pengguna sama sekali.
Selain itu, kehadiran bahasa Python tidak kuat. Ia dibenamkan ke dalam pengedaran Linux sebagai bahasa skrip, yang merupakan tujuan utamanya. Tiada siapa yang akan bersorak "Ya, Python ada di sini, kita boleh menggunakannya untuk membina laman web
Sudah tentu, Python juga boleh digunakan untuk membina laman web, tetapi jurutera yang cemerlang dapat merasakan ciri-cirinya tidak sesuai dengan Web!" senario pembangunan. Diketepikan keutamaan peringkat sintaks peribadi, saya mengakui bahawa Python adalah bahasa yang sangat berkuasa, terutamanya sesuai untuk mengendalikan sains data atau tugas lain yang menumpukan pada operasi matematik ketepatan tinggi.
Semua orang boleh bermula dengan PHP
Dalam 15 tahun yang lalu, Python sememangnya telah menerima kemas kini radikal, jadi ia telah mengatasi PHP pada banyak peringkat. Tetapi Python masih mempunyai dua bagasi berat yang belum dibuang: Pertama, kebanyakan kemas kini muncul terlambat sepuluh tahun.
Python 3 telah dikeluarkan pada tahun 2008, memecahkan keserasian ke belakang. Kod Python 2 tidak akan berjalan dengan Python 3 tanpa pengubahsuaian tambahan. Tetapi dalam persekitaran perusahaan, selalunya terdapat berpuluh-puluh atau berjuta-juta versi lama kod Siapa yang sanggup menghadapi masalah ini?
Untuk bersikap adil, PHP 7 dan 8 juga telah memecahkan beberapa kod PHP 5 (tiada versi PHP 6 sedemikian). Saya adalah sebahagian daripada komuniti ZendFramework, yang telah membantu mengemas kini rangka kerja untuk menyokong berjalan pada PHP 7 dan 8 untuk kod yang lebih lama. Berita baiknya ialah kod warisan kami hampir tidak terjejas semasa menaik taraf ZendFramework kepada PHP 7 dan 8. Oleh itu, kebanyakan kod PHP 5.6 mempunyai keserasian ke belakang yang baik.
Mungkin acara tadahan air yang benar-benar menjadikan PHP sebagai pokok malar hijau dalam industri ialah penubuhan senyap-senyap sebuah syarikat permulaan kecil bernama Automattic pada tahun 2005.
Jika WordPress ditulis dalam Python, saya jamin PHP tidak akan berbangga seperti hari ini. Tetapi saya juga berani untuk mengatakan bahawa Python akan menghalang atau bahkan membunuh kemungkinan WordPress menjadi berjaya secara meluas seperti hari ini.
Untuk bahasa atau aplikasi untuk terus bertahan dalam pasaran sumber terbuka, penggunaan dan pengembangan penyumbang adalah penting. Dan sesiapa yang lebih mudah untuk bermula akan dapat menarik lebih banyak sokongan daripada penyumbang dalam industri.
Sebagai jurutera perisian dengan latihan profesional, saya boleh cuba memahami semua penghinaan yang ditujukan kepada PHP, tetapi saya ingin mengingatkan semua orang - bukan hanya jurutera dengan diploma formal yang menggunakan PHP, tetapi juga sebahagian- pekerja masa , suri rumah, pereka grafik, pengurus syarikat, usahawan dan juga pelajar sekolah rendah. Betul, beribu-ribu pelajar sekolah rendah sedang menulis halaman web dalam PHP pada komputer pertama mereka.
Boleh juga dikatakan PHP adalah bahasa ASAS dalam era maklumat.
Sebagai jurutera perisian, ramai pengkritik telah terbiasa dengan cara pemikiran jurutera, tetapi mereka lupa bahawa terdapat banyak pengguna PHP di dunia yang hanya ingin membina laman web untuk sebuah syarikat kecil dan mempunyai masa yang terhad dan sumber.
WordPress dan PHP mengalu-alukan mereka. Ya, WordPress itu sendiri memang mudah digunakan, tetapi ia tidak cukup komprehensif. Apa yang menambah kekurangan ini ialah seni bina pemalam WordPress (perkataan "seni bina" mungkin tidak tepat di sini, tetapi semua orang boleh memahaminya), yang membolehkan orang biasa menulis sekeping kecil kod dalam PHP untuk melaksanakan perubahan yang sepadan. Tidak perlu menulis semula keseluruhan kelas, dan tidak perlu mengambil sebarang pensijilan jurutera perisian Ia hanya memerlukan sekeping kod kecil.
Dengan cara ini, berjuta-juta pengaturcara amatur memulakan laluan pengaturcaraan mereka sendiri dan berkongsi pengalaman mereka dengan orang lain di Internet, akhirnya mewujudkan komuniti teknologi PHP yang besar.
PHP yang mudah difahami membolehkan orang biasa menulis kod dengan berkesan. Ia ringkas, tidak mudah marah, ditaip longgar, tidak melibatkan kompilasi dan boleh dikatakan mudah untuk digunakan.
PHP menguasai seluruh World Wide Web
Maju pantas hingga 15 tahun kemudian, dan hari ini PHP menguasai 78% sistem web. WordPress sahaja menyumbang hampir 40% daripada semua tapak web dan memiliki hampir dua pertiga daripada saham CMS! Lebih-lebih lagi, Python "berprestij" hanya menyumbang 10% daripada pai! Walaupun kebencian Python diehards untuk PHP, Python menguasai kurang daripada 1.5% daripada web.
Adakah anda marah? Tiada apa yang perlu dimarah.
Ya, sepatutnya begitu.
Saya telah dihubungi oleh seorang perekrut daripada pelanggan korporat yang mengatakan mereka merancang untuk mengalih keluar semua kod web Python dan menggantikannya dengan PHP. Ini kedengaran menakjubkan, tetapi ia sebenarnya berlaku sepanjang masa. kenapa? Kerana ada pepatah mengatakan Python tidak begitu sesuai untuk aplikasi web. Pembangun yang biasa dengan Python selalunya pakar dalam sains data dan bidang lain, dan bakat yang berpengalaman mendapat permintaan tinggi. Agak tidak perlu untuk membiarkan mereka terlibat dalam pembangunan web.
Perniagaan mahu menjadi lebih fleksibel di Web. Apabila mereka perlu mengembangkan atau mengurangkan saiz pasukan mereka, mereka tidak mahu menghabiskan beberapa minggu atau bulan perlahan-lahan mencari bakat yang biasa dengan Python. Jurutera jenis ini sangat mahal, dan syarikat tidak mampu membelinya.
Walau bagaimanapun, pengaturcara PHP yang boleh disesuaikan dengan saiz perniagaan yang berbeza mempunyai kualiti dan kuantiti yang tinggi dalam pasaran buruh, malah boleh dilatih dengan cepat mengikut keperluan. Lebih penting lagi, walaupun anda ingin mencari arkitek senior PHP berpengalaman dengan pengalaman berdekad-dekad, ia adalah jauh lebih sukar daripada mencari seseorang yang mempunyai tahap yang sama dalam bidang Python.
Dan pihak pengurusan syarikat juga akan mengajar peminat Python cara berkelakuan. Adakah anda mahu menulis web atau middleware dalam Python tanpa alasan yang sukar dan pantas? Orang ramai tidak mempunyai belanjawan sebanyak itu, dan mereka memerlukan penggantian mudah dengan alat lain pada bila-bila masa Ini adalah perkara yang Python tidak mahir.
Untuk menjadi arkitek aplikasi yang berkelayakan, perkara pertama ialah belajar menggunakan teknologi yang paling berkesan untuk menyediakan sokongan "skala yang sesuai" untuk perniagaan atau perusahaan: keutamaan peribadi kami tidak penting, dan teknologi itu tidak yang penting, yang paling penting adalah lebih, lebih cepat, lebih baik dan lebih menjimatkan.
Jadi saya mendapati bahawa terdapat sangat sedikit aplikasi SaaS yang sesuai untuk menulis sepenuhnya dalam Python. Memandangkan bahagian pasaran yang menyedihkan Python di web, nampaknya kebanyakan arkitek aplikasi berkongsi pendapat saya. Mereka menggunakan Python hanya di tempat yang paling sesuai, dan PHP di tempat yang lebih sesuai.
Ringkasan
Sebagai jurutera, kita semua suka menggunakan perkara yang kita biasa, dan kita juga biasa memperkecilkan perkara yang kita tidak faham. Jangan takut untuk mengakuinya, kami pengaturcara mempunyai masalah ini.
Kolej telah cuba meletakkan Python sebagai bahasa perniagaan tujuan umum - tetapi tidak. Python lebih sesuai sebagai bahasa canggih, khusus untuk menjalankan pelayan, sains data, mengendalikan data kompleks berskala besar, atau bahkan mengendalikan perlombongan mata wang kripto. Ini adalah keistimewaannya.
PHP ialah bahasa yang popular dan telah menjadi standard objektif di World Wide Web.
Jadi kalau nak, boleh terus badmouth PHP, tak apa. Tetapi pada penghujung hari, ia masih merupakan bahasa yang paling banyak digunakan di web, dan apabila WordPress terus berkembang dan PHP 7 dan 8 terus ditingkatkan, kepimpinan itu tidak akan goyah dalam masa terdekat.
Mengenai pengarang:
Beau Beauchamp ialah arkitek aplikasi web tindanan penuh UI/UX peringkat perusahaan dan pembangun kanan dengan lebih 20 tahun pengalaman dalam membangunkan aplikasi boleh skala.
Pautan asal:
https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284