더북(TheBook)

프레임워크란

 

프로그래밍 언어는 컴퓨터와 의사소통하기 위한 약속이다. 그럼 프로그래밍 언어만 있으면 우리가 원하는 모든 것을 만들(프로그래밍할) 수 있을까? 결론부터 말하면, 프로그래밍 언어만으로는 어렵다. 정확히는 순수하게 프로그래밍 언어로 고도화된 시스템을 개발하는 것은 거의 불가능하다. 그래서 프레임워크framework가 필요하다.

프로그래밍을 한 번도 해 보지 않았다면 프레임워크의 개념이 어렵게 느껴질 수도 있으니, 예를 들어 설명해 보겠다. 장난감 블록으로 성castle과 해적선pirate ship을 만든다고 가정해 보자. 블록을 결합하는 기본 방법은 알고 있는 상태다. 이 상태에서 아무 기반 없이, 즉 크기, 모양, 구조에 대한 설명 없이 수천 개의 블록을 주었을 때 성이나 해적선을 만들 수 있을까? 결합 방법을 안다고 해도 장난감 블록을 처음 만들어 보는 사람은 완성품을 한 번에 만들기가 어렵다. 물론 만들 수야 있겠지만 굉장히 오래 걸리고 힘든 일이 될 것이다.

그래서 장난감 회사에서는 성과 해적선을 만드는 데 필요한 블록을 모아 조립 설명서와 묶어서 성 세트, 해적선 세트 등으로 판매한다. 세트를 구매하면 설명서를 보고 그대로 조립해 성이든 해적선이든 만들 수 있다. 세트가 없다면 선체, 갑판, 돛과 돛대 모양을 만들기 위해 이 블록 저 블록을 끼웠다 뺐다를 반복하며 맞는 블록을 찾아 조립하는 과정을 계속해야 한다. 맞는 블록을 찾아서 만들었다 하더라도 세트만큼 완성도 있게 모양이 나올지도 미지수다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.