Абстракція є ключовою концепцією комп’ютерного програмування, а рамки допомагають програмістам досягти цього. Це гарна річ. Сумніваюсь, багато хто з нас хотів би розробити складні системи мовою складання! Проблема виникає, я думаю, коли програмісти мало уявляють, що маскує шар абстракції. Іншими словами, вам потрібно мати деяке уявлення про те, що відбувається під капотом, навіть якщо ви безпосередньо не взаємодієте з ним та не взаємодієте з ним.
Я пам’ятаю, що розробляв деякі перші динамічні веб-сайти ще в середині 90-х, використовуючи C та CGI (у той час, коли більшість веб-сайтів ще були статичним HTML). Насправді не існувало жодної зрілої мови скриптування на стороні сервера (наприклад, PHP чи ASP) і дуже мало бібліотек, тому вам довелося виписувати весь потік відповідей HTTP на сервер з кожної сторінки. Розбір параметрів GET та POST вимагає написання власної бібліотеки. Це було виснажливим, повільним, працьовитим і дуже схильним до помилок. Я цього не пропускаю ні одного!
Однак я також відчуваю такі рамки, як веб-форми ASP.NET абстрагують всю суть без громадянства до такої точки, коли багато нових веб-розробників мають мало поняття, що насправді відбувається під кришкою. Це призводить до неефективного, роздутого коду, який працює погано, оскільки розробник проводить водопровідні компоненти разом, використовуючи методологію "drag'n'drop", не усвідомлюючи, що відбувається на рівні HTTP.
Отже, я вважаю, що рамки мають важливе значення для розробки програмного забезпечення високого рівня, але вони не позбавляють розробників розуміння того, що потрібно абстрагувати. Так, рамки можуть зробити вас німими, але тільки якщо ви не можете їх зрозуміти.