Soyutlama, bilgisayar programlamanın temel bir konseptidir ve çerçeveler, programcıların bunu başarmasına yardımcı olur. Bu iyi birşey. Meclis dilinde karmaşık sistemler geliştirmek istediğimizden şüpheliyim! Problem gelir, bence programcılar soyutlama katmanının maskeleme hakkında ne olduğu hakkında çok az fikir sahibi olduklarında. Başka bir deyişle, doğrudan etkileşime girmese veya onunla etkileşime girmeseniz bile, kaputun altında neler olup bittiğine dair bir fikre sahip olmanız gerekir.
İlk dinamik web sitelerinden bazılarını 90'lı yılların ortalarında, C ve CGI kullanarak (web sitelerinin çoğunun hala statik HTML olduğu bir zamanda) geliştirdiğimi hatırlıyorum . Hiçbir olgun sunucu tarafı komut dosyası dili (PHP veya ASP gibi) ve çok az kitaplık yoktu, bu nedenle tüm HTTP yanıt akışını sunucuya her sayfada yazmanız gerekiyordu. Kendi kütüphanenizi yazarken GET ve POST parametrelerinin ayrıştırılması gerekiyor. Can sıkıcı, yavaş, çalışkan ve hataya açıktı. Biraz özlemiyorum!
Bununla birlikte, ASP.NET web formları gibi çerçevelerin de, web'in bütün vatansız yapısını, pek çok yeni web geliştiricisinin, başlığın altında neler olup bittiğinin çok az ipucu olduğu bir noktaya kadar soyutladığını hissediyorum. Bu, geliştiricinin HTTP düzeyinde olup bitenleri anlamadan bir "drag'n'drop" metodolojisi kullanarak bileşenleri bir araya getirdiği için düşük performans gösteren verimsiz, şişirilmiş bir kod oluşturur.
Bu yüzden, çerçevelerin üst seviye yazılımlar geliştirmek için gerekli olduğuna inanıyorum, ancak geliştiricilerin soyutlanmış olanın ne olduğu hakkında bir anlayışa sahip olmalarını şart koşmuyorlar. Evet, çerçeveler sizi aptallaştırabilir, ancak yalnızca onları anlayamazsanız.