절차 지향? (Procedural Programming)

0

개념정리

목록 보기
10/10
post-thumbnail

뭐야? 번역이 이상한가?

프로시저 지향 프로그래밍인데 왜 절차지향 프로그래밍이 된거지?
프로시저 뜻 링크 (검색에서 맨 위에 나오는 링크를 가져옴)

procedure를 번역하면 절차 라는 단어가 된다.
번역을 그 업계에 몸담고 있는 사람이 했다면 좋았겠지만, 아마도 그런 지식이 없는 번역가가 단어의 번역을 그대로 가져와서 '절차 지향' 으로 번역했을 것으로 생각된다.

그래서 혼란을 막고자 아래부터는 '절차 지향' 이라는 말 대신 '프로시저 지향' 이라고 쓰겠다.

위키백과에서 설명하는 프로시저 지향 프로그래밍

위키백과 절차적 프로그래밍 링크

절차적 프로그래밍(procedural programming)은 절차지향 프로그래밍 혹은 절차지향적 프로그래밍이라고도 불리는 프로그래밍 패러다임의 일종으로서, 때때로 명령형 프로그래밍과 동의어로 쓰이기도 하지만, 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임을 의미하기도 한다.

절차적 프로그래밍은 복잡도가 지나치지 않고 유지보수하기 쉽기 때문에 단순한 순차적 프로그래밍이나 비구조적 프로그래밍보다 여러 상황에서 장점이 많다.

순차적 프로그래밍 이라는 말이 나온다. 마치 완벽히 다른 의미라는 것 처럼 이야기해서 이 부분도 따로 찾아보았다.

순차적 프로그래밍? (Sequential programming)

Sequential programming 링크

It is clear that the final values of the variables in the example program depend on the order that statements are executed in.
예제 프로그램에서 변수의 최종 값은 명령문이 실행되는 순서에 따라 달라진다는 것이 분명합니다.

변수의 최종 값은 명령문이 실행되는 순서에 따라 달라진다

어떤 패러다임이라기보단 인간의 기본적인 본능에 의해 의식의 흐름에 따라 순서대로 작성한 코드를 뜻하는 것 같다.
아마도 프로그래밍의 탄생과 함께 나타나지 않았을까?

사실 '지향' 이란 말을 붙이기도 애매한게
기본적으로 코드는 위에서 부터 아래로 실행된다.

위에 굵은 글씨로 강조해둔 부분에 대해서는
사람에 따라 다르겠지만, 많은 사람들이 '불변성' 이나 '불변 객체' 에 대해 교육을 받거나 알게 되기 전 까지는 가변 객체나 가변 변수를 사용한다.

그래서 저런 말이 나온게 아닐까 싶다.

프로시저 지향은 의외로 좋은거 아니야?

나쁘지 않다.
하지만 시간이 지남에 따라 많은 패러다임이 나왔고,
그저 '절차 지향' 이 아니라 '프로시저 지향' 이었다 정도만 알아도 좋을 것 같다.

profile
지상 최강의 개발자 쥬니니

0개의 댓글