Neden Django?

Sunucuyu kiralayalı hemen hemen bir ay olmak üzere bu süre zarfında çeşitli içerik yönetim sistemlerini deneme fırsatım oldu. Bunlardan kullanmayı kabul ettiğim sadece WordPress oldu diğerleriyse bana aşırı sorunlu geldi.

En büyük problem sistemlerin karmaşıklığı. PHP bilen birisi değilim, öğrenmek için zaman ayırmayıda düşünmüyorum ama kodu açtığında en azından ne yapmaya çalıştığını anlayabilirim. Sistem ne kadar güzel bir arayüze sahip olursa olsun eğer ki onun geliştirilme aşamalarına ya da çalışma mantığına vakit ayırmazsanız istediğiniz değişlikleri üzerinde yapmak için başkalarının yazdıkları eklentileri kullanmak zorunda kalırsınız. Peki hazırlanmış bir kodlar bütününü öğrenmeye ne kadar vakit gerekir?

Sistem karmaşıklaştıkça bu süreç çok uzuyor. Ve dökümasyon kısmı gerçekten sorunlu. Hani bende kodlama yaparken benden sonra koda bakacakları pek düşünmem ama başkalarıda benim yaptığım yanlışları yapmak zorunda değil. Ben en azından arada sırada yorum eklerim şekli şemalini düzgün yaparım… Birisi bir örnek veriyor ama verdiği örnekteki kod yanlış yazılmış. Yazdığı şeyi denememiş bile!

Böyle durumlarda eğer basit bir site üzerinde çalışacaksak WordPress yeterli oluyor ama iş hafifçe karmaşıklaştıkça ya da bir alanda profesyonelce bir site tasarlamak istediğinizde hazır içerik takip sistemleri bence bir çözüm değil. 20-30 satır kodla dinamik bir sisteme sahip olmak varken oturup başkalarının yazdığı kodları anlamaya çalışmak vakit kaybı.

Neden Django? Çünkü basit. Çünkü anlaması kolay. En basitinden modüler programlama mantığıyla çalışmış bir kişinin yazdığı uygulamaya baktığınızda ne yapmaya çalıştığını hemen anlıyorsunuz. Hepsinin temel mantığı aynı olduğu ve aynı sistemi kullandıkları için isterseniz başkasının yazdığı sistemi kullanırsınız. Ya da onu örnek alıp veya almadan kendi sisteminizi çok hızlı bir şekilde programlayabilirsiniz. Hem güvenli olur hem hızlı olur hem de size özel olur. İstediğiniz zaman istediğiniz şekilde modifiye edebilirsiniz. Üzerine bir şey ekleyeceğiniz zamanda dediğim gibi sistemi basit olduğu için başkalarının yazdıklarını inceleyip onaylamanızda daha az vakit alır.

Tüm bunları neden söylüyorum? Hazır sistemlerin hata kayıtlarını görüp düzeltmekten bıktığım için… Kendi yazdığım sistemde tertemiz bir error.log dosyası varken başkalarının hatalarıyla vakit kaybetmekten bıktım. Belki siteyi ilk açarken hazır şeyleri kullanmak kolay gözüyor ama ileride başınızı ağrıtabiliyor. Bunu anlamak çok şükür fazla vaktimi almadı, bundan böyle Django’dan vazgeçmem.