Mengapa pengembang menyukai dan membenci PHP

PHP, bahasa skrip sisi server yang terhormat, terkenal karena penggunaannya dalam pengembangan Web. Pertama kali dirilis pada tahun 1995 oleh Rasmus Lerdorf, ini telah dimanfaatkan oleh orang-orang seperti WordPress dan Facebook dan dilaporkan digunakan di 82 persen situs web yang bahasa pemrograman sisi servernya diketahui, menurut W3Techs. Bahasa ini sedikit di belakang Java dalam indeks Popularitas Bahasa Pemrograman PyPL, dan peringkat keenam dalam indeks Tiobe saingan. Peningkatan kinerja tinggi, PHP 7, akan dirilis pada tahun 2015.

Seperti teknologi apa pun, bagaimanapun, ia memiliki peminat dan pemukulnya. Inilah mengapa pendukung bersumpah dengan PHP dan mengapa beberapa pembangkang mungkin bersumpah untuk itu.

Bagus: Ini populer dan mudah dipelajari

"PHP sejauh ini merupakan bahasa pengembangan Web yang paling populer," kata Andi Gutmans, CEO vendor alat PHP Zend Technologies. Josh Lockhart, seorang pengembang Web di Kampanye Media baru, serta seorang penulis, menekankan kurva pembelajaran kecil PHP, kemudahan penerapan, dan iterasi pengembangan yang cepat. "PHP adalah salah satu bahasa pemrograman Web termudah dan paling mudah diakses yang tersedia," kata Lockhart. "Ini dipasang di sebagian besar server (termasuk sebagian besar paket hosting bersama). Ini relatif mudah dipelajari berkat dokumentasi online yang sangat baik dan sumber daya online terbaru."

Bagus: Pekerjaan tersedia untuk pengembang Web

"PHP akan membantu Anda menghasilkan uang dan mencari pekerjaan," di web sisi server, kata Gutmans. Pencarian cepat di situs pekerjaan teknologi Dice.com minggu lalu menemukan 3.366 pekerjaan yang terkait dengan PHP. Ini artinya jika dibandingkan dengan 17.418 pekerjaan Java dan perlintasan Perl (4.300 pekerjaan) dan Python (5,429 pekerjaan), tetapi lebih dari Ruby (2.973 pekerjaan) dan bahkan Objective-C (985 pekerjaan). Lockhart melihat PHP sebagai salah satu bahasa yang paling sering digunakan, meskipun sedikit kurang trendi dibandingkan bahasa seperti Ruby, Python, Go, dan Rust.

Bagus: Itu terus berkembang

Bahasa ini menawarkan kemampuan modern seperti closure dan namespace, serta kinerja dan kerangka kerja modern. Seperti yang dicatat Gutmans, "Beberapa orang yang ingin pindah belum tentu dididik tentang apa yang ditawarkan PHP." Pengembang, kata Lockhart, menyadari bahwa PHP kuat dengan fitur-fitur modern dan model pemrograman berorientasi objek yang tepat. Yang akan datang adalah versi 7, diatur untuk menawarkan peningkatan kinerja yang dramatis dalam aplikasi. Lockhart mencatat peningkatan Facebook untuk PHP, termasuk mesin virtual HHVM dan bahasa Hack.

Buruk: Keluhan tentang desain, kurang fokus

"Hampir setiap fitur di PHP entah bagaimana rusak," kata blogger Eevee dalam "PHP: Sebuah fraktal dengan desain yang buruk," sebuah dokumen tahun 2012 yang menentang bahasa tersebut. Eevee tidak hanya menyukai bahasanya, tetapi juga kerangka kerja dan ekosistemnya. Alih-alih dapat diprediksi dan konsisten, bahasa ini penuh dengan kejutan dan tidak konsisten, menurut blogger. Di antara kritik, PHP disebut buram, tanpa jejak tumpukan secara default, dan dibebani dengan pengetikan lemah yang kompleks "Tidak ada filosofi desain yang jelas. PHP awal terinspirasi oleh Perl; stdlib besar dengan parameter 'out' berasal dari C; OO bagian dirancang seperti C ++ dan Java. "

Lockhart mengakui khotbah anti-PHO Eevee sebagai "hiperbolik dengan inti kebenaran". Meskipun seorang pendukung PHP, Lockhart cukup ramah untuk membuat daftar kritik ketika ditanya:

  • Bahasanya tidak konsisten, khususnya nama fungsi dan urutan argumen. "Ini mudah dipelajari, jadi ini bukan masalah yang terlalu besar."
  • PHP masih memiliki banyak bagasi warisan, seperti global, kutipan ajaib, dll. "Praktik buruk ini perlahan-lahan dipangkas dari bahasa, tetapi sampai hilang, mereka membantu pengembang yang bodoh untuk terus melakukan praktik buruk."
  • PHP tidak terfokus seperti bahasa lain, yang oleh Lockhart dikaitkan dengan pengembangannya "sedikit demi sedikit dalam periode waktu yang lama, seringkali oleh komite."