PHP Dikategorikan
PHP hanya bahasa lem seperti BASH atau Perl. Itu bagus dalam hal itu, tetapi tidak bagus dalam hal lain, tinggalkan beberapa pekerjaan serius. Bahasa tidak dirancang. Itu hanya dikembangkan dengan meretas berbagai kode secara serampangan (code-and-fix).
Bahasa yang Dikompilasi
Berbeda dengan PHP, Java adalah bahasa yang dikompilasi yang telah direkayasa dengan baik. Ada JSR yang mendefinisikan bahasa, banyak kerangka kerja dan konsep tingkat perusahaan seperti EJB, JMS, ESB, Spring, Struts, Hibernate, dan lainnya.
Perangkat Lunak Perusahaan
Dalam hal sistem perusahaan, Java EE adalah solusi yang sesuai dengan tujuan (Edisi Enterprise) sedangkan PHP digunakan di perusahaan yang berusaha mengurangi biaya dengan mempekerjakan tenaga kerja murah dengan kualifikasi yang lebih rendah.
Telah ada upaya yang cukup besar untuk menyeret PHP ke segmen Enterprise menggunakan berbagai kerangka kerja. Terutama, Zend Framework 2 . Masalah mendasar di sini bukanlah orientasi objek PHP, tetapi kurangnya desain, tidak ada pengetikan yang kuat, solusi non-standar untuk masalah standar (jenis peretasan untuk semuanya), dan tidak adanya arsitektur yang ditentukan.
Desain Perangkat Lunak (Arsitektur Dibahas)
Dengan PHP, beban pembuatan perangkat lunak masih sepenuhnya tergantung pada pengembang yang telah melakukan pekerjaan yang sangat buruk yaitu sering tidak memiliki arsitektur sama sekali, hanya kode acak dan diperbaiki. Keamanan dan transaksi hilang dan harus disepelekan oleh pengembang. Di Jawa, satu solusi adalah EJB beranotasi. Juga pertimbangkan fakta bahwa, dalam PHP, tidak ada yang terjadi jika Anda menghilangkan pengecualian atau membuat berbagai kesalahan. Itu sampai run-time. Dengan Java, Anda akan mendapatkan peringatan dan kesalahan langsung pada waktu desain. Itu disebut ketahanan, tetapi dengan PHP Anda hanya bisa terus bermimpi.
Multithreading
PHP tidak mendukung multithreading. Kode selalu satu utas. Ini menghambat kinerjanya untuk masalah non-sepele di bawah beban yang lebih berat. Dengan Java EE, multithreading didukung sepenuhnya, misalnya melalui antarmuka Runnable.
Dukungan dan Standar
Juga pertimbangkan penyebaran, Layanan Web, dan standar lainnya. Sedangkan di Jawa, ada perusahaan besar seperti Oracle, IBM, RedHat, Apache, dan banyak lainnya, PHP hanya memiliki Zend.
Kesimpulan
Untuk menyimpulkan, PHP adalah bahasa berorientasi objek yang sangat buruk. Sebenarnya, itu bahkan tidak berorientasi objek, tetapi hibrida yang buruk dari versi> 5 karena OOP dicampur dengan pemrograman prosedural. Saya hanya akan merekomendasikan PHP sebagai lem seperti BASH, tetapi untuk pekerjaan serius saya akan menggunakan Java EE.
Pikiran Terkait
Kesepakatan utama dengan Zend Framework 2 terbaru adalah bahwa ia mencoba untuk menjadi seperti Java EE, tetapi sepenuhnya gagal memberikan setidaknya satu set paket, fitur, alat, otomatisasi, pengecekan kesalahan, arsitektur, desain, dan yang dapat dibandingkan dari jarak jauh. segala sesuatu.
Dalam pengalaman saya, lebih mahal menggunakan PHP untuk proyek-proyek kompleks daripada dengan Java.
Ada juga beberapa rumor seperti itu bahwa PHP adalah singkatan dari Pretty Horrible Programming . Saya dapat mengkonfirmasi ini.