프로그래밍 방법론과 언어의 종류

객체지향, 함수형 같은 갈래는 어떻게 생겼을까?

짜는 방식의 변화

짜는 방식이 바뀌면 언어도 바뀝니다

프로그램을 짜는 방식이 프로그래밍 방법론입니다. 방식이 바뀔 때마다 언어에 필요한 것도 달라졌습니다.

구조적 프로그래밍은 큰 문제를 작은 단계로 나눠 짜는 방식입니다. 제어 구조는 실행 순서를 정하는 구문입니다.

1980년대 중반

객체지향은 셋을 합친 것입니다

1970년대 후반의 데이터 추상화에 상속과 다형성을 더한 것이 객체지향 프로그래밍(object-oriented programming)입니다.

10강과 11강에서 자세히 다룹니다.

갈래 ① 명령형

변수의 값을 바꿔 가며 계산합니다

6편에서 본 명령형 언어입니다. 변수, 대입문, 반복이 중심이고, 객체지향 언어와 스크립팅 언어도 이 갈래에 듭니다.

코드는 예시입니다. Visual BASIC .NET도 명령형입니다.

갈래 ② 함수형

함수에 값을 넣어 결과를 받습니다

함수형 언어(functional language)는 함수를 인자(함수에 넣는 값)에 적용해 계산합니다. 변수의 값을 바꿔 가는 대신, 함수의 결과를 다른 함수에 넘깁니다.

예시입니다. Scheme에서는 괄호 안 맨 앞이 함수이고 나머지가 인자입니다. 14강에서 다룹니다.

갈래 ③ 논리형

규칙을 적으면 답을 찾아 줍니다

논리형 언어(logic language)는 계산 순서를 적지 않습니다. 사실과 규칙을 순서 없이 적어 두고 물으면, 언어가 규칙을 맞춰 보고 답합니다.

예시입니다. Prolog의 :- 는 '오른쪽이 참이면 왼쪽도 참'이라는 뜻입니다. 15강에서 다룹니다.

갈래 정리

언어의 종류는 넷입니다

넷째는 마크업 언어에 프로그래밍 기능 일부를 더한 것입니다. 가장 널리 쓰이는 갈래는 명령형입니다. 6편에서 본 대로 컴퓨터의 구조를 그대로 본떴기 때문입니다.

마크업 언어는 HTML처럼 문서의 구조를 표시하는 언어입니다. JSTL과 XSLT는 거기에 프로그래밍 기능을 더한 언어의 이름입니다.

다음 편

어느 갈래든, 컴퓨터가 알아듣게 바꿔 줘야 실행됩니다

8편컴퓨터는 내 코드를 어떻게 알아들을까? 1강 목록