프로그래밍언어론 3강 - 프로그래밍 패러다임과 다양한 계산 방식 프로그램을 바라보고 작성하는 전형적인 관점인 프로그래밍 패러다임을 학습한다. 패러다임이 변화한 배경과 하나의 언어가 여러 패러다임을 지원하는 이유를 살펴본 뒤, 같은 최대공약수 문제를 명령형·절차형·구조화·객체지향·함수형·논리 방식으로 표현하면서 각 계산 관점의 차이를 이해한다. 프로그래밍 패러다임의 의미와 변화 1. 패러다임이란 무엇인가 패러다임은 한 시대의 견해나 사고를 규정하는 양식, 규범, 체계를 통칭하는 말이다. 어떤 현상을 이해하는 기본 틀이므로 같은 대상을 보더라도 어떤 패러다임을 채택하느냐에 따라 중요한 질문과 해결 방법이 달라진다. 천동설에서 지동설로 설명 체계가 바뀐 일이나, 저축을 미덕으로 보던 관점에서 소비의 역할을 중시하는 관점으로 이동한 일을 패러다임 전환의 예로 들 수 있다. 토머스 쿤은 과학의 발전 과정에서 기존의 믿음과 체계가 계속 유지되기만 하는 것이 아니라, 기존 체계로 설명하기 어려운 문제가 쌓이면 새로운 체계가 이를 대체할 수 있다는 점에 주목했다. 따라서 패러다임 전환은 기존 방식에 작은 기능 하나를 덧붙이는 변화라기보다, 무엇을 문제로 보고 어떤 방식으로 설명할지에 관한 중심 관점이 달라지는 변화이다. 2. 프로그래밍 패러다임의 정의 프로그래밍 패러다임은 프로그램을 작성하는 전형적인 방식 이다. 더 구체적으로는 프로그래머가 계산을 무엇으로 보고, 프로그램을 어떤 단위로 구성하며, 문제 해결 과정을 어떤 표현으로 나타낼지 정하는 스타일이다. 명령의 순서를 강조할 수도 있고, 함수를 적용해 값을 구하는 과정에 집중할 수도 있으며, 객체 사이의 요청과 반응 또는 논리식의 증명을 중심에 둘 수도 있다. 프로그래밍 패러다임은 특정 언어 하나에 종속된 개념이 아니다. 언어는 패러다임을 표현할 문법과 기능을 제공하지만, 패러다임 자체는 프로그래머가 추구하는 ...