2013년 12월 5일 목요일
절차지향 프로그래밍 (Procedural Oriented Programming)
절차지향 프로그래밍(Procedural Oriented Programming) 언어는 초기에 많이 사용하던 언어로 대표적으로는 C, Pascal 등이 있다.
"절차지향"이라는 말은 프로그램을 작성하였을 때 순서대로만 처리한다는 뜻으로 프로시져(Procedure)/함수(Function)를 이용해 어느정도 구조적인(Structured) 프로그래밍이 가능하다.
그 중에서 C 언어는 기계어와 친해서(?) 하드웨어와 밀접한 프로그래밍에는 아직도 많이 쓰이고 있다. 속도는 무척빠르지만 서로 다른 플랫폼에 따른 호환성은 떨어지고 유지보수가 어렵다.
Java가 객체지향 프로그래밍(Object Oriented Programming) 언어이긴 하지만 내부에서는 절차를 따라 프로그래밍하는 부분이 반드시 있다.
입/출력 데이터 타입과 내용이 무엇인지만 알면(인터페이스, Interface) 내부를 몰라도 모듈화(Modulation)된 단위 프로그램(Procedure/Function)을 사용할 수 있다는 것이다. API (Application programming interface) 라고 하는 말도 비슷한 개념이다. 이런식으로 프로그램을 기능별(!)로 쪼개어 재사용한다면 어느 정도 생산성이 향상된다. 단위 프로그램을 조합해서 좀 더 큰 단위 프로그램으로 만들 수도 있다.
하지만 절차지향 프로그래밍에서 결정적인 문제가 있는데, 그것은 "데이터"중심으로 처리가 된다는 것이다.
그러니까 단위 프로그램 자체를 조합해서 사용하다보면 공유해야될 데이터(입력/출력)를 외부에 두어야 하는데 이러한 데이터 집합에 의지하여 만든 프로그램 자체는 재사용이 힘들기 때문에 거대하고 복잡한 프로그램을 만들려면 데이터를 관리하는데 한계가 따르게 된다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기