PHP bukan bahasa yang buruk (atau setidaknya tidak seburuk yang disarankan beberapa orang). Saya memiliki guru yang bahkan tidak tahu PHP berorientasi objek sampai saya memberi tahu mereka. Saya punya klien yang segera tidak mempercayai kami ketika kami mengatakan bahwa kami adalah pengembang PHP dan menanyai kami karena tidak menggunakan bahasa dan kerangka kerja yang bagus seperti Django atau RoR, atau bahasa "perusahaan dan padat" seperti Java dan ASP.NET.
Facebook dibangun di atas PHP. Ada banyak proyek solid yang memberi daya pada web seperti Joomla dan Drupal yang digunakan dalam perusahaan dan pemerintah. Ada kerangka kerja dan perpustakaan yang memiliki beberapa arsitektur terbaik yang pernah saya lihat di semua bahasa (Symfony 2, Doctrine). PHP memiliki dokumentasi terbaik yang pernah saya lihat dan komunitas profesional yang besar.
PHP memiliki fitur-fitur OO canggih seperti refleksi, antarmuka, apalagi PHP sekarang mendukung penggunaan ulang horizontal secara asli dan bersih melalui ciri - ciri .
Ada programmer dan kiddies skrip yang buruk yang memberikan reputasi buruk pada PHP, tetapi memberi daya pada komunitas PHP pada saat yang sama, dan karena begitu mudahnya menyelesaikan sesuatu, Anda sering dapat melakukan hal-hal dengan cara yang salah, memang, tetapi mengapa menyalahkan bahasa?.
Sekarang, untuk membahas pertanyaan aktual yang dapat dijawab: apa yang akan menjadi argumen yang bagus dan solid dan singkat dan manis untuk menghindari disukai dan berhenti berprasangka dalam satu gerakan dan mempertahankan kehormatan Anda ketika Anda mengatakan Anda adalah pengembang PHP? .
(kue gratis dengan krim kocok untuk mereka yang memiliki bukti empiris meyakinkan seseorang — klien atau lainnya — di tempat)
PS: Kami menggunakan Symfony , dan kode berakhir dengan indah dan dapat dipelihara
PPS: Facebook adalah ditulis dalam PHP, dikompilasi untuk C ++ melalui HipHop dan digunakan pada Hadoop. Di sini: http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/
sumber
Jawaban:
Satu-satunya jawaban yang saya miliki adalah ini: semuanya menyebalkan.
Anda dapat menemukan berargumen melawan OOP yang bermanfaat (pencarian cepat akan mengungkapkannya) versus pemrograman fungsional atau prosedural. Anda sepertinya mengindikasikan bahwa dukungan OO PHP membelanya.
Google kosong menyebalkan dan Anda akan menemukan hasil untuk apa pun. Python menyebalkan . Ruby payah . Rails menyebalkan . PHP payah . Jawa menyebalkan .
Anda ingin tahu apa yang sebenarnya menyebalkan? Programmer. Programmer payah. Setiap pengembang yang baik harus dapat membuat aplikasi yang luar biasa, ujung depan dan ujung belakang, terlepas dari bahasa - bahkan jika mereka tidak terbiasa dengan bahasa! (Artinya, seorang programmer yang baik harus dapat belajar dan bekerja dengan bahasa apa pun secara efektif).
Perhatikan juga bahwa keberhasilan suatu aplikasi tidak ada hubungannya dengan kodenya. Saya pernah mendengar bahwa kode Facebook itu buruk, tetapi demi Tuhan itu efektif. Hal yang sama mungkin berlaku untuk Wikimedia (Wikipedia dibangun di atas PHP dan juga situs web yang sangat populer). Yang penting adalah hasil!
PHP adalah bahasa yang paling saya kenal secara pribadi. Saya akan mempertahankannya sampai mati. Saya telah bekerja dengan kerangka kerja PHP, kode PHP langsung, dan PHP, python, dan ruby (dan bahkan Java) semua untuk pengembangan web. Saya tidak bisa mengatakan bahwa yang satu lebih baik dari yang lain. Yang lebih penting adalah pengembang dan algoritma. Saya telah melihat kode yang sangat bagus dan benar-benar mengerikan dalam banyak bahasa (terutama PHP karena saya memiliki begitu banyak pemaparan).
Sekarang untuk pertanyaan Anda: itu tergantung pada siapa yang Anda hadapi
Pengusaha
Mereka sangat peduli dengan hasil dan efektivitas biaya. Fakta bahwa Facebook, Wikipedia, dan Wordpress yang sangat sukses menggunakan PHP harus lebih dari cukup untuk meyakinkan mereka bahwa itu adalah bahasa yang efektif untuk membangun aplikasi yang sukses.
Programmer
Biarkan kode Anda berbicara sendiri. Jika pengembang mengatakan bahwa PHP lebih rendah dalam beberapa hal, tunjukkan pada mereka beberapa kode PHP yang Anda yakini efektif. Bukti puding ada pada saat makan.
sumber
success of an application has nothing to do with its code
<- Benar. Tetapi ketika orang mengatakan bahwa "PHP adalah bahasa yang buruk", mereka tidak berarti "aplikasi yang ditulis dalam PHP buruk", tetapi, mereka berarti "aplikasi yang ditulis dalam PHP sering tidak menyenangkan untuk dikerjakan karena kode spaghetti". Ada banyak aplikasi hebat yang ditulis dalam PHP, pastinya. Tetapi saya tidak berpikir jawaban ini membahas apa yang dimaksud pemrogram ketika mereka menyebut PHP "buruk".PHP memiliki sejarah yang kotor. Jauh lebih baik sekarang bahkan beberapa waktu yang lalu, tetapi ada waktu, waktu yang sangat lama, di mana banyak praktik dan pola yang buruk didorong dan sulit untuk dihindari. Ada seluruh generasi kode PHP yang mengerikan di luar sana yang masih berkeliaran, dan sejauh programmer baru belajar dengan membaca kode lama, mereka belajar perilaku buruk. PHP mungkin sekarang tidak pantas mendapatkan reputasi hitamnya, tetapi tentu saja membuatnya diterima.
Taruhan terbaik Anda untuk mempertahankan PHP adalah dengan hati-hati menjauhkan dan membedakan keadaan terkini dari sejarah yang sudah dikenal semua orang. Anda dapat mengatakan bahwa PHP bukan bahasa yang buruk, tetapi jika Anda berbicara dengan seseorang yang telah berkecimpung di industri ini selama beberapa tahun, ingatan mereka mengatakan sebaliknya.
Tunjukkan pada mereka bagaimana tim PHP telah belajar dari kesalahan mereka dan mengubah bahasa menjadi lebih baik. Lewatlah sudah hari-hari kutipan sihir dan mendaftar global. Hilang adalah paradigma global-segalanya, dan safe-mode, dan mysql_escape_string. Jelaskan kepada mereka bahwa pemrogram PHP nyata selalu menggunakan ruang nama dan kueri parameter, mereka menghindari fungsi yang sudah usang dan selalu meletakkan kode pustaka mereka di luar root dokumen.
PHP telah berubah, dan programmer PHP telah berubah. Itulah sebabnya PHP adalah platform yang luar biasa seperti saat ini. Juga, itu satu-satunya platform yang Anda tahu pelanggan Anda akan telah diinstal sebelumnya. Itu sangat besar.
Sebagai catatan, saya akan merekomendasikan untuk tidak mengutip mesin dan kerangka kerja CMS yang ada sebagai kemenangan besar untuk PHP. Anda menjalankan risiko mereka menunjukkan hal-hal seperti studi keamanan Websense dari 4 hari yang lalu menunjukkan bahwa 94% dari infeksi situs web baru-baru ini terhadap situs web PHP yang menjalankan perangkat lunak seperti Joomla dan Wordpress. Itu bukan jenis perusahaan yang ingin Anda temui. Alih-alih menunjukkan bahwa kode Anda akan jauh lebih aman daripada semua hal lain.
sumber
PHP adalah COBOL web. Kedua bahasa tidak dihormati, namun banyak orang membuat bangunan hidup dan memelihara sistem yang tertulis di dalamnya, dan mereka hadir dalam volume di hampir setiap sistem komputer utama untuk dunia asli mereka ( yaitu , masing-masing bisnis web dan komersial). Kedua bahasa dipandang rendah oleh para praktisi dari bahasa lain yang lebih populer, berdasarkan pada kebiasaan lama dan usang yang dipraktikkan oleh para programmer yang sejak itu belajar lebih baik dan meningkatkan perangkat mereka.
PHP seharusnya sangat beruntung, sehingga bisa hidup COBOL. COBOL telah ada lebih lama daripada FORTRAN, dan itu tidak akan hilang dalam waktu dekat. Ada banyak program COBOL dalam penggunaan sehari-hari yang lebih tua daripada orang yang memeliharanya. Ini mungkin bukan "kesegaran baru", tetapi akan selalu ada uang yang didapat dari bekerja di sana dan bersamanya.
sumber
Saya pikir mungkin juga berguna untuk memahami sisi lain dari koin, dan mengenali kekurangan PHP. Sementara PHP telah banyak maju dari menjadi bahasa templat, masih ada banyak hal yang dapat ditingkatkan. Ada beberapa titik di mana PHP masih kurang: Unicode, fitur fungsional, organisasi perpustakaan standar,
array
dan sebagainya.Apa yang saya sarankan adalah - untuk membuat diskusi yang konstruktif tentang kekuatan dan kelemahan PHP - mungkin baik untuk mengakui semua ini. "Ya, saya tahu bahwa perpustakaan standar PHP tidak sangat terorganisir. Tetapi jika ditulis hari ini, itu dapat menggunakan namespaces dan API berorientasi objek". "Ya, saya tahu bahwa array default membuat sedikit berantakan dengan mencampur struktur kamus dan array. Tetapi jika seseorang menginginkan beberapa koleksi yang lebih baik, seseorang dapat menggunakan SPL".
Pandangan Anda akan menghasilkan lebih kuat jika Anda menunjukkan bahwa Anda tahu bahwa argumen orang lain punya alasan.
sumber
Mengapa?
Siapa pun yang membuat Anda merasa harus membela diri (apakah itu karier, pasangan, kebiasaan belanja, dll.) Membuang-buang waktu mereka sendiri. Anda meluangkan waktu untuk membela diri hanyalah menghina orang-orang yang salah - sekarang Anda menyia-nyiakan waktu Anda sendiri, juga waktu mereka.
Potong orang-orang ini dari hidup Anda - Anda lebih baik tanpa mereka.
sumber
Tidak ada one-liner pendek dan manis yang bisa Anda coba untuk meyakinkan orang-orang tentang kelayakan PHP dan pengembangnya, tetapi Anda menulis argumen yang sangat meyakinkan tepat sebelum Anda mengajukan pertanyaan.
sumber
Untuk mengatasi "PHP adalah bahasa yang buruk", Anda harus mencari tahu mengapa orang tersebut menganggap itu bahasa yang buruk. Mungkin dia bekerja pada proyek buruk yang ditulis dalam PHP. Mungkin dia hanya tidak suka mengawali variabel mereka dengan
$
. Mungkin mereka sendiri telah mencoba menggunakan bahasa itu dan menulis kekacauan yang tidak dapat dipertahankan. Banyak programmer yang datang dari bahasa pemrograman lain melihat PHP dan melihat kekacauan, karena apa yang masuk akal dalam PHP tidak benar-benar masuk akal dalam bahasa lain atau pada platform lain. Sebagai contoh, dalam PHP, array adalah "lakban alam semesta", dan digunakan untuk mencapai hampir semua hal, sedangkan dalam bahasa pemrograman lain hal seperti itu tidak masuk akal.Saya akan menyarankan kombinasi jawaban di sini.
create_function
. Lewatlah sudah hutan panggilaninclude
secara manual di mana-mana.free
, dan semuanya "OO-ish", tetapi runtime besar dan OO dapat membatasi. C ++? Memungkinkan Anda membuat tipe yang berperilaku persis seperti tipe primitif (mis. Int) dalam bahasa tersebut, tetapi itu disertai dengan kerumitan dalam jumlah besar. PHP? Membuatnya sangat mudah untuk memulai tanpa banyak pengetahuan pemrograman, tetapi sebagai hasilnya memiliki banyak dan banyak kode sampah yang diposting di internet.Ada tempat untuk setiap bahasa. Pilih bahasa yang sesuai dengan masalah yang dihadapi, jangan mencoba untuk memilih bahasa yang disukai di tempat-tempat yang bukan tempatnya.
sumber