Abstraktion ist ein Schlüsselbegriff der Computerprogrammierung, und Frameworks helfen Programmierern, dies zu erreichen. Das ist eine gute Sache. Ich bezweifle, dass viele von uns komplexe Systeme in Assemblersprache entwickeln möchten! Das Problem kommt, denke ich, wenn Programmierer wenig Ahnung haben, was die Abstraktionsschicht maskiert. Mit anderen Worten, Sie müssen eine Vorstellung davon haben, was unter der Haube vor sich geht, auch wenn Sie nicht direkt mit ihr interagieren oder eine Schnittstelle herstellen.
Ich erinnere mich, dass ich Mitte der 90er Jahre einige der ersten dynamischen Websites mit C und CGI entwickelt habe (zu einer Zeit, als die meisten Websites noch statisches HTML waren). Es gab nicht wirklich ausgereifte serverseitige Skriptsprachen (wie PHP oder ASP) und nur sehr wenige Bibliotheken, sodass Sie den gesamten HTTP-Antwortstrom mit jeder Seite auf den Server schreiben mussten. Für das Parsen von GET- und POST-Parametern muss eine eigene Bibliothek erstellt werden. Es war mühsam, langsam, mühsam und sehr fehleranfällig. Ich vermisse es kein bisschen!
Ich habe jedoch auch das Gefühl, dass Frameworks wie ASP.NET-Webformulare die gesamte statusfreie Natur des Webs bis zu einem Punkt abstrahieren, an dem viele neue Webentwickler nur wenig Ahnung haben, was tatsächlich unter der Haube vor sich geht. Dies führt zu ineffizientem, aufgeblähtem Code, der eine schlechte Leistung erbringt, da der Entwickler Komponenten mithilfe einer "Drag'n'Drop" -Methode zusammenführt, ohne zu bemerken, was auf der HTTP-Ebene vor sich geht.
Aus diesem Grund glaube ich, dass Frameworks für die Entwicklung von High-Level-Software unerlässlich sind, aber sie entbinden Entwickler nicht davon, ein gewisses Verständnis dafür zu haben, was abstrahiert wird. Ja, Frameworks können Sie dumm machen, aber nur, wenn Sie sie nicht verstehen.