Bilmek istediğin her şeye ulaş

PHP'nin en büyük eksiklikleri nelerdir?

Enterprise seviyede uygulama geliştimek isterseniz aşağıdaki konulara dikkat etmeniz gerekmektedir.

PHP'de navite özellikler ile multi-thread uygulama geliştirilemiyor.
(Bunun için eklentiler v.s. olsa da bildiğimiz yapıda olmuyor)

Değişken tiplerinin güvenliği interpreter'a bırakılmış.
(Değişkenler öncesinde tip belirtilmeden oluşturulduğundan, String XYZ değişkeni, programın farklı bir yerinde $XYZ = 15; gibi bir kod yorumlarsa integer'a dönüyor. Doğal olarak bu yapıda güvenli tür dönüşümündende söz edilemez. Tip güvenliği zayıf. Bir takım çözümleri mevuttur fakat %100 çözüm sağlamamaktadır.)

Sabit bir MVC-Framework üzerine entegre olamadı.
(Zend bir yandan, diğer framework ekipleri bir yandan geliştiriyorlar fakat ASP'deki .NET veya Java'da ki Struts gibi bir yönlendirme bulunmamaktadır. Bu nedenle geliştiricileri dağılmış durumdadır. Zend bilen CodeIgniter, CodeIgniter bilen Symfony bilemeyebiliyor.)

Nesnel yapısı farklılıklar gösterebiliyor.
(OOP standartlarında olan bazı özellikler, genelde bildiğimiz yapının dışında dil içerisinde yorumlanabiliyor.)

Release yapısı hala tam olarak güvenilir değil.
(Eğer ciddi uygulamar geliştiriyorsanız ve web kısmı için PHP'yi seçmişseniz, kullanacağınız sürümün minör versiyonu en az 5/6+ ve üstü olması gerekmektedir. Örneğin; PHP 5.4.0 riskli fakat PHP 5.4.11 kullanılabilir olarak görülmektedir. Daha önceki release'lerde PHP X.X.3/4'te bile bug'lar oluştuğundan, geliştiricilerde genel bir paranoya etkisi yarattı.)

Karar kontrol mekanizmalarında, genel riske açık bir yapı mevcut.
(Bildiğiniz üzere karar kontrol mekanizmalarının çoğu default bool controller üzerine işlem yapmaktadır. Yani; IF için True, 1, 2 v.s. hepsi ilk kod bloguna yönlendirir. Mimari tasarımında eğer bir method'un return paramteresi integer pozitif bir tam sayı dönerse ve method'u bir karar kontrol mekanizması içerisinde kullanırsanız, otomatik olarak TRUE olarak algıyacaktır. Bu da olmaması gereken işlemleri tetikleyebilir veya güvenlik riski oluşturabilir.)

Tabii bunlar demek değildir, PHP kullanılmaması gereken bir dil. Küçük, Orta seviye uygulamalar rahatlıkla geliştirilebilir ve bazı modifiyeler ile uzman geliştiriciler yardımıyla da bir takım enterprise uygulamalarda geliştirilebilir.

Benim tercihim enterpise uygulamalarda %99 Java'dır. Size'de tavsiye ederim. Eğer şimdiki aklım 10 sene önce olsaydı, şimdi 10 yıllık Java deneyimim olmuştu. :)

Java propagandamı yaptığıma göre artık bitirebilirim. :)

4ever Java! (Maybe sometimes C/C++ ) :D
  • Paylaş

Bu konuda "gerçekten" uzman olan yazılımcı sayısının Türkiye'deki azlığı :)

  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

764 Görüntülenme7 Takipçi2 Yanıt