Yazı uzun oldu. Bu yüzden okumada sıkılanlar için aynı yazıyı bir de ses kaydı olarak oluşturdum. Sizler için yazmakla kalmadım okudum yani 🙂

Buradan dinleyebilir veya indirebilirsiniz..ASP mi PHP mi?
Çok soruldu çok tartışıldı fakat bildirgecin bilgili yazarları bir başlık altında bunu detaylıca tartışmadı. Konuyu açan olarak ben ilk yorumumu yazı içerisinde düşeceğim elbette. İki dili de kullanmış birisi olarak. (Asp: 1 yıllık öğrenim 2 yıl kullanım.) (Php: 1 yıllık öğrenim 3 yıllık kullanım)Bu soruyu tek bir açıdan cevaplandırmak diye bir şey yoktur. Öncelikle bunu göz önünde bulunduralım ve sadece bir açıdan bakılıp yapılan yorumlardan kaçınalım. Bu soruya bu tarz yorumlar her platformda düşüldü zaten. Artık karmakarışık, gelişigüzel ve iyice kafa karıştıran yorumlar yerine, tecrübeye dayanan ve akademik yorumlar yapalım. Eğer dikkat edersek kaynak niteliğinde bir interaktif yazı oluşturabiliriz.Bu soruya sadece bir konuya açıklık getirme manasında bakmayın. Bu yazımda, web piyasasındaki birçok inceliğe değinmeye çalışacağım. Piyasayı tahlilde işinize yarayacak bilgilere ulaşmanızı umarak tecrübelerimi paylaşacağım. Hem eğlenceli olacağını umuyorum.Ben en temel manada şu açılardan bu durumu inceledim: Maddiyat, tasarım-entegrasyon, kütüphaneler, kaynak zenginliği, güvenlik, kod verimliliği, yardımcı(imgesel) dillerle uyum(javascript,css,html).
Başlayalım…MADDİYAT:
Sizinde malumunuz bir projenin sağlanması gereken ilk etkeni maddiyattır. Projenin maddi yönünü oluşturan etkenler ise: Domain, sunucu-hosting, işletim sistemi, güvenlik harcamaları, reklam giderleri.Bunlardan bize lazım olanı yani kodlama dilimizi ilgilendiren etkenler: sunucu-hosting ve işletim sistemi seçimidir.Asp yi ele alalım. Asp destekli sunucular, Windows Server işletim sistemi kullanması gereken sunuculardır. Yani sunucunuzu hangi özellikte seçerseniz seçin, asp tabanlı sisteminizin < en iyi performansta >çalışabilmesi için işletim sisteminizin Windows server tabanlı olması gerekir. O yüzden de asp bu noktada, maddiyat noktasında ilk eksisini alıyor. Çünkü Windows server işletim sistemi ücretli bir işletim sistemidir.Php ise unix tabanlı işletim sistemi taleb eder. Hemen bu noktada “Hayır kardeşim Windows sunucuda da çalışıyor php” diye çıkışan arkadaşları duyabiliyorum. Biraz beklerseniz noktaya da geleceğim.Evet. unix tabanlı işletim sistemi dedik. Yani çoğunluğu açık kaynak kodlu işletim sistemleri. Bunlara open source sistemler denir ve GNU/GPL lisansı ile korunurlar. Binevi korunmazlar ve ücretsizlerdir. Yani sunucunuza ödediğiniz miktar yetmiyormuş gibi bir de işletim sistemine para vermek durumunda kalmazsınız.Evet. Windows sunucuda php sayfaların çalıştırılabilmesi hususuna gelince. Doğrudur çalışır. Ama performans açısından tam manasıyla yerlerde sürünür. Bunu Türkiye hosting piyasasının %8,5 iyle en büyük pazar payına sahip olan ve dünya piyasasında 0.067 % bir değerle bu büyük pastadan pay alan bir firmada dahi denedik ve denemeye devam ediyoruz. Özellikle Windows sunucularıyla otoriterliğini kabul ettiren bu firmada (Tek hosting tüm diller) parolasını kullanıyor. Fakat bu firmamızın müşterileri de fark ediyorlar ki php sistemler bu sunucularda performansının maksimum %60 ı ile çalışabiliyorlar. Bu seviye kendi denemelerimde %20 civarına dahi düşmüştür.Hele hele hazır cms sistemleri kesinlikle bu tür hostinglerde geliştiremezsiniz. Php seo uygulamalarıyla dost olmayan bu sunucularda, hazır cms sistemlerin (joomla,wordpress.vs.) en gerekli eklentileri dahi çoğunlukla çalışmıyor.Yani hiçbir profesyonel bu tür (Windows sunucuda php barındırma) bir girişimde bulunmaz.Maddiyat konusunda en genel ve önemli konu olarak bunu gördüm ve değindim. Zaten domain,ssl entegresi(güvenlik önlemleri) vb giderler hangi dili seçerseniz seçin aynı düzeyde olacaktır.TASARIM – ENTEGRASYON
Entegrasyondan ne anlıyoruz. Benim değineceğim nokta tasarım-kod entegrasyonu. Bu konuya değinmemin asıl nedeni yeni başlayacak olanların “Kodlarız ama sonra şablona uyduramazsak” endişesine binaen. Yoksa profesyonellerin bildiği üzere her iki dilde de entegrasyon için üst düzey kolaylık getiren kütüphaneler ve yardımcı yazılımlar geliştirildi.Evet. Kod-tasarım entegrasyonunuzu yaparken seçeceğiniz editörler çok önemliydi. Kodun bu noktada çok işlevselliği yok(tu) eskiden. Ama şimdi kolaylık manasında diller birbiriyle yarışmaya başladı. Bunu sağlayan framework uygulamalarıdır. Her iki dilde de framework uygulamalar aldı yürüdü. Fakat yine de bu konuda önde olan asp .Net uygulamaları. Bu noktada artımızı asp ye veriyor ve ilerliyoruz.KAYNAK ZENGİNLİĞİ
Yeni nesil kodır adaylarını en çok ilgilendiren kısımların başında geliyor bu konu.Kendi tecrübelerime dayanarak söylemem gerekir ki, benimde dil seçiminde en çok önem verdiğim konu budur. Çünkü bir dili tam manasıyla kavramanın ilk yolu, etkin kaynaklar ve sample (uygulama örnekleri) lardır.Bakınız. Profesyonel coder bloglarını incelediyseniz, özellikle otohorizıd (yetkili) developerlarınkini, Php nin daha rahat öğrenilebilen bir dil olduğundan dem vururlar.Bu nedendir? Çünkü gerçekten dilin anlaşılması kolay, rutinleri az ve Türkçe kaynakları daha boldur. Evet. Bir dili öğrenmeye ne kadar heves edilse de İngilizce eksikliği öğrenmenin önünü kapıyor. Çünkü kodları besleyen, öğreten kaynaklar çıkarmada ülkemiz alt sıralarda(ydı). Tabii günümüzde kendi kütüphanelerini oluşturma cesaretinde bulunan, güzel kitaplar yazan, kaynak eserler bırakan birçok girişimci mevcut. Fakat elbette İngilizce kaynaklarla yarışabilecek bir düzeyde kesinlikle değiliz.Fakat yinede bu konuda (kaynak zenginliği) hususunda php öne çıkıyor. En çok open source web yazılım ürünü üreten iki dilden birisi php. Bu yüzden rağbet görmüş ve kaynak çevirisi çoğalmış, nitelik düzeyi artmış ve kaynak çoğunluğu sağlanmış bir dil php.Asp ise bu konuda daha sönük kaldı ülkemizde. Elbette ki İngilizce kaynaklar göz önüne alındığında yadsınamaz bir kaynak bolluğu da asp ve özellikle .Net uygulamarında yaşanıyor. Ama İngilizce kaynakları çevirmede php de dahi çok geride olduğumuz hesapta olunca asp de kaynak yeterliliği oldukça düşük. Elbette bu durumu tetikleyen birçok etken var. Güvenlik ve maddiyat başta geliyor.Bu konuda artımızı php ye veriyor ve diğer çok önemli husus olan kütüphanelere geçiyoruz.KÜTÜPHANELER
Kütüphaneler deyince aklımıza ne geliyor. Bir dilin kütüphaneleri, dili kullanmakta kolaylık sağlayan, birçok satırda veya düzenekte yapacağımız işlemleri tek satırda yapmamızı sağlayan, bizim yerimize güvenliğimizi, entegrasyonumuzu, performansımızı yani aklınıza gelebilecek onlarca hususu, bizim yerimize düşünen ve bizim yerimize bunlara çözüm üreten yazılım parçalarıdır.Php nin kolay öğrenilebilir olması beraberinde bir kaynak zenginliği getirdi dedik. Elbette bu kaynakların en önemlileri de kütüphaneler oldu. Php birçok açıdan etkili kütüphaneler geliştirdi. Şuan kendi classlarını, hemde dünya çapında ses getiren class la yarışacak derecede ciddi projelere imza atan Türk kodırlarımız var. Çok sağlam kütüphaneler üreten bağımsız kod yazarlarının ürünleri şimdiden sayısız kişisel ve tüzel projede kullanılmaya başlandı.Asp de ise kütüphaneleri üreten genellikle microsoftun developer timleri olduğunu asp ile hemhal olduğum yıllarda gördüm. Bu durum son günlerde biraz daha halka kaysada yine de php ile yarışacak düzeyde değil. Şuan için “falanca Türk şu kütüphaneyi blogunda yayınlamıştı bende gördüm beğendim kullandım projelerimde” diyen birine rastlamadım kendi adıma. Ama şahsen tanıdığım ve kendi için güvenlik kütüphaneleri oluşturmuş ama bunları yayınlamamış ciddi kodırlar yok değil.Asp de kütüphaneleri ve kolay yazılım araçlarını Microsoft geliştiriyor dedik. Bunu çok iyi yapıyor. Genellikle orta düzey kodırlar bunları yeterli buluyorlar. Bunu da eklemek lazım.Fakat yinede bu konudada artımı php ye vererek devam ediyorum.GÜVENLİK
Güvenlik konusu tahmin edebileceğiniz üzere çok geniş bir konu. Çünkü sadece seçtiğiniz dilin güvenlik özellikleri, site güvenliğini sağlamak için asla yeterli olmuyor. Güvenlik; sunucu, işletim sistemi, yan güvenlik yazılımları, etkin log takibi ile doğrudan ilişkili olduğundan, bir dile güvenli deyip güvendesiniz artık dememiz mümkün değil. Yinede dildeki güvenlik değerlendirmemizi yapıyoruz:Her dilde güvenlik seviyesini sizin bilginiz belirler. Asp ye hakim olursanız asp ile güvenli yazılımlar oluşturursunuz. Php ye hakim olursanız bu dille güvendesinizdir. Bu yüzden bu konuyu “dillere sağlanan güvenlik imkanları” nı değerlendirebiliriz. Değerlendirelim…Asp için Windows işletim sistemleri gereklidir dedik. İşte bu konu güvenliğimizi etkiler. Zira dünya pc işletim sistemi kullanımında microsoftun payını söylememize bile gerek yok. Bu işletim sisteminin bu kadar yoğun kullanılması, ona dair bilgi düzeyini artırıyor. Bu yüzden bu işletim sistemini iyi bilen birisi sunucuyu tehdit edebiliyor. Elbette pc lerimizde kullandığımız işletim sistemini kullanmıyor bu sunucular…Fakat tabandan gelen benzerlikler dolayısıyla oluşan hacklenen siteler hiç az değildir.Bu yüzden asp yi seçen birisi ek olarak sunucu bakımıyla ilgili azami bilgileri de bilmek durumunda kalacaktır.Ayrıca bu ücretli işletim sisteminin güvenlik eklentileri de maddi yük olarak üstünüze binebilir.Php de ise açık kaynak kodlu işletim sistemleri kullanıldığından genel kanı yoktur sunucunuz hakkında. Ve eğer unix tabanlı işletim sistemi kullandıysanı, bir oyun hamuru gibi onu istediğiniz şekle sokarak daha güvenli bir sunucu oluşturabilir ve php sisteminizi koyuabilirsiniz. Bu noktada da oyumu php den yana kullanıyorum ve geçiyorum.KOD VERİMLİLİĞİ
Kodların verimli çalışmasındaki etkenlerin başında işletim sistemi gelir. Koddan tam performansı almanız için o kodun işletim sistemini kullanmanız esastır.Bunun yanında client(kullanıcı tabanlı) yazılım üretmek isteyen kodırlar asp yi seçmelidir görüşündeyim. Zira kullanıcıya sağlayacağınız hizmetler Windows ile paralel gitmelidir. Çünkü Windows en çok kullanılan pc işletim sistemidir. Ve sunucunuzunda yazılımınızında kullanıcının rahatça kullanabileceği ölçüde olması için asp tercih edilmesi mantıklı olacaktır.Kod verimliliğini artıran yardımcı yazılımlar php de oldukça fazladır. Fakat bunun kod verimliliğine katkısının yanında daha komplike ve kontrolü zor bir yapı oluşturduğuna dair testdrivelar (denemeler) mevcut.Bir diğer etken ise, dillerin bir dinamik sistemin olmazsa olmazı veritabanlarını etkin kullanabilme özelliğidir. Şuan en çok kullanılan, php-mysql düzeneğidir. Oldukça uyumlu olan bu yapıda kod verimliliği üst safhadadır.Asp de ise msql-aspx birlikteliği daha sağlam vtyslere imza atmakta hiç şüphesiz. Bunuda yine siz projenizin gidişatına göre belirleyebilirsiniz. Tabi bir proje değil onlarca proje çıkarmak isteyenlere yine en çok kullanılanı, kullanıcınında en çok aşina olduğu birlikteliği kullanmasını tavsiye ederiz.Bu aşamada artılı eksili bir değerlendirme yapmak doğru olmaz. Kod verimliliği büyük ölçüde dili kullanım yeterliliğine bağlıdır. İyi öğrendiğiniz hangi dil olursa olsun onu verimli bir şekilde kullanabilirsiniz.DİĞER DİLLERLE UYUM
Yardımcı diller gözüyle bakacağımız diğer dillerle uyumunu inceleyelim bu iki kahraman dilimizin. Hangi dili seçersek seçelim, bir imge dili olan HTML i bilmemiz şarttır. Çünkü asla kullanıcı sizin dinamik kodlarınızla muhatab olmaz. Kullanıcı HTML kodlarını görür ve kullanır. Bu yüzden her dilde html ile son derece uyumlu olmak zorundadır. Bu iki dilde böyledir. HTML i en iyi şekilde kullanırlar.Yine özellikle şu günlerde tasarımı ön plana çıkaran asıl etken olan javascript tüm dillerin gerekliliği olma yolunda ilerlemekte. Profesyoneller javascriptin, temel bir gereklilik olan html kadar temel bir gereklilik olduğunu söylemeye başladılar bile. Zira portable yapıda dinamik sistemler günümüzde çok rağbet görüyor.İki dilimizde bu yardımcı dillerle gayet uyumludur. Bu konuyu en sona bırakın ve hatta hiç düşünmeyin. Kod tasarımlarınızı bu dillerle zenginleştirmenin yollarını araştırın.—–Yazıma burada son veriyorum. Bu yazıyı sabırla okuyan veya dinleyen herkese teşekkür ediyorum.Umarım sizi sıkmamışımdır. Yapacağınız çalışmaların size ve insanlığa hayırlı olmasını isterim.Bir amerikan atasözünün dediği gibi: Good luck 🙂