패러다임(paradigm)이라는 말은 '모델(model)', '패턴(pattern)', 또는 '전형적인 예(example)'를 의미하는 그리스어인 '파라데이그마(paradeigma)'에서 유래했다. 과거에는 표준적인 모델을 따르거나 모방하는 상황을 가리키는 매우 제한적인 상황에서만 패러다임이라는 단어를 사용했다.
현대인들은 패러다임이라는 단어를 전혀 다른 의미로 사용한다. 우리가 사용하는 패러다임은 '한 시대의 사회 전체가 공유하는 이론이나 방법, 문제의식 등의 체계'를 의미한다.
1962년 쿤은 마침내 <과학혁명의 구조[kuh12]> 라고 이름 지어진 한 권의 책을 세상에 내놓는다. 쿤의 책이 출간되기 전까지 과학사에 대한 보편적인 시각은 발전의 누적 과정으로 바라보는 것이었다. 그러나 쿤은 과학의 발전이 진리를 향해 한 걸음씩 접근한다는 진보의 개념을 부정했다. 과학이 단순한 계단식 발전의 형태를 이루는 것이 아니라 새로운 발견이 기존의 과학적 견해를 붕괴시키는 혁명적인 과정을 거쳐 발전해왔다고 주장했다.
과학혁명이란 과거의 패러다임이 새로운 패러다임에 의해 대체됨으로써 정상과학의 방향과 성격이 변경하는 것을 의미한다. 이를 패러다임 전환(Paradigm Shift)라고 부른다.
이 책에서 이야기하는 패러다임 전환이란 절차형 패러다임에서 객체형 패러다임으로 변화를 가리킨다.
프로그래밍 패러다임은 특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결 방법 프로그래밍 스타일이라고 할 수 있다. 우리가 어떤 프로그래밍 패러다임을 사용하느냐에 따라 우리가 해결할 문제를 바라보는 방식과 프로그램을 작성하는 방법이 달라진다.
프로그래밍 패러다임은 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유할 수 있게 함으로써 불필요한 부분에 대한 의견 충돌을 방지한다.
쿤은 상이한 두 가지 패러다임이 있을 때 두 패러다임은 함께 존재할 수 없다고 주장했다. 하지만 프로그래밍 패러다임으로 오면 이야기가 달라진다. 절차형 패러다임에서 객체지향 패러다임으로 전환됐다고 해서 두 패러다임이 함께 존재할 수 없는 것은 아니다. 오히려 서로 다른 패러다임이 하나의 언어 안에서 공존함으로써 서로의 장단점을 보완하는 경향을 보인다.
간단히 말해 프로그래밍 패러다임은 형명적(revolutionary)이 아니라 발전적(evolutionary)이다.
따라서 객체지향이 적합하지 않은 상황에서는 언제라도 다른 패러다임을 적용할 수 있는 시야를 기르고 지식을 갈고 닦아야 한다.