추상화는 프로그래머가이를 달성하는 데 도움이되는 컴퓨터 프로그래밍 및 프레임 워크의 핵심 개념입니다. 이것은 좋은 일입니다. 많은 사람들이 어셈블리 언어로 복잡한 시스템을 개발하고 싶다고 생각합니다! 프로그래머가 추상화 레이어가 마스킹하는 것에 대해 거의 알지 못하는 경우 문제가 발생합니다. 다시 말해, 직접 상호 작용하거나 인터페이스하지 않더라도 후드에서 어떤 일이 벌어지고 있는지에 대한 아이디어가 필요합니다.
C와 CGI를 사용하여 90 년대 중반에 최초의 동적 웹 사이트를 개발 한 것을 기억 합니다 (대부분의 웹 사이트는 여전히 정적 HTML 임). PHP 나 ASP와 같은 성숙한 서버 측 스크립팅 언어와 라이브러리는 거의 없었으므로 모든 페이지와 함께 서버에 전체 HTTP 응답 스트림을 작성해야했습니다. GET 및 POST 매개 변수를 구문 분석하려면 자체 라이브러리를 작성해야합니다. 지루하고 느리고 열심히 일했으며 오류가 발생하기 쉽습니다. 나는 그것을 조금 놓치지 마세요!
그러나 ASP.NET 웹 양식과 같은 프레임 워크는 많은 새로운 웹 개발자가 실제로 무슨 일이 일어나고 있는지 전혀 알지 못하는 시점까지 웹의 상태 비 저장 특성을 추상화합니다. 이는 개발자가 HTTP 수준에서 무슨 일이 일어나고 있는지 알지 못하고 "드래그 앤 드롭"방식을 사용하여 구성 요소를 함께 연결하기 때문에 성능이 저하되고 부풀어 오른 코드로 이어집니다.
따라서 프레임 워크는 고급 소프트웨어를 개발하는 데 필수적이라고 생각하지만 추상화되는 내용을 이해하는 개발자를 배제하지는 않습니다. 예, 프레임 워크를 사용하면 바보가 될 수 있지만 이해하지 못하는 경우에만 가능합니다.