(1) 프로그래밍 언어의 구성 요소 중 서브프로그램, 모듈을 각각 10줄 이내로 설명하시오 (2) 인터프리터와 컴파일러의 차이점을 3줄 이상 10줄 이하로 설명하시오 (3) 프로그래밍 언어의 평가 기준 중 두 가지만 선택하여 설명하시오
I. 서론
II. 본론
1. 서브프로그램과 모듈
2. 인터프리터와 컴파일러
3. 프로그래밍 언어의 평가 기준
III. 결론
I. 서론
프로그래밍 언어라는 단어를 처음 접했을 때 나는 막연한 두려움을 느꼈다. 단순히 컴퓨터가 이해할 수 있는 기호와 규칙들의 집합이라고 알고 있었지만, 실제로 코드를 작성해보면 금세 오류 메시지가 쏟아졌고, 내가 한 줄 한 줄 입력한 글자가 무슨 의미를 가지는지조차 제대로 이해하지 못할 때가 많았다. 그러나 동시에 아주 간단한 프로그램 하나를 완성했을 때의 성취감은 크고도 짜릿했다. 그 경험이 있었기에 나는 프로그래밍 언어의 구조와 도구들을 하나씩 배워가면서 조금씩 자신감을 얻게 되었다.
그 과정에서 특히 인상 깊었던 것이 바로 서브프로그램과 모듈 같은 구성 요소였다. 처음에는 단순히 코드를 나누어 놓는 방법 정도로 생각했지만, 실제 프로젝트에서 코드가 길어지고 복잡해질수록 그것이 단순한 편의 기능이 아니라 반드시 필요한 구조라는 사실을 깨달았다. 더불어 언어를 실행하는 방식에서 인터프리터와 컴파일러의 차이도 자주 체감하게 되었다. 파이썬 같은 언어를 사용할 때는 빠르게 실행해볼 수 있다는 장점이 있었지만, C언어나 자바를 다룰 때는 컴파일 과정에서 오류가 잡히면서 미리 안정성을 확보할 수 있다는 차이를 경험했다.
또한 언어를 평가하는 기준 역시 단순히 이론적으로만 존재하는 것이 아니었다. 실제로 내가 어떤 언어를 선택할 때는 “얼마나 읽기 쉬운가”라는 가독성의 문제와 “얼마나 빠르게 동작하는가”라는 효율성의 문제가 항상 갈등을 일으켰다. 단순히 점수로 평가되는 것이 아니라, 실제로 코드를 작성하고 동료와 협업하며 프로젝트를 진행하는 과정에서 그 기준이 나의 선택과 고민을 직접적으로 좌우하였다.
따라서 이번 글에서는 프로그래밍 언어의 구성 요소인 서브프로그램과 모듈을 설명하고, 인터프리터와 컴파일러의 차이를 다룬 뒤, 프로그래밍 언어를 평가하는 여러 기준 중 가독성과 효율성을 중심으로 살펴보고자 한다. 단순히 개념을 나열하는 것이 아니라 내가 겪은 경험과 고민을 바탕으로 현실적인 시각에서 정리하고, 앞으로 내가 어떤 태도로 프로그래밍 언어를 바라봐야 할지 고민을 담아보고자 한다.
II. 본론
1. 서브프로그램과 모듈
서브프로그램은 프로그램 속에서 특정 기능을 수행하기 위해 독립적으로 작성된 코드 블록이다. 함수나 프로시저가 대표적인 형태이다. 처음에 코드를 작성할 때는 모든 로직을 한 파일에 쭉 이어서 쓰는 방식이 편하다고 생각했다. 하지만 코드가 길어질수록 수정하기 어려워지고, 한 부분의 작은 오류가 전체 프로그램을 망가뜨리는 경우를 여러 번 겪으면서 서브프로그램의 필요성을 체감했다. 예를 들어 간단한 계산기 프로그램을 만들 때도 덧셈, 뺄셈, 곱셈, 나눗셈을 각각 함수로 나누어 작성하면, 오류가 생겼을 때 해당 함수만 확인하면 되었고 재사용도 가능했다. 이 경험은 서브프로그램이 단순한 학문적 개념이 아니라 실제 프로그래밍에서 효율성을 높여주는 중요한 도구임을 깨닫게 해주었다.
모듈은 서브프로그램보다 한 단계 더 큰 단위로, 여러 함수와 변수를 묶어 독립적인 단위로 관리할 수 있게 한다. 파이썬에서 모듈을 import 하여 사용할 때의 편리함은 직접 경험해 본 사람만이 알 수 있다. 예를 들어, 수학 연산을 직접 구현하려면 상당한 시간이 소요되지만, math 모듈 하나만 불러오면 복잡한 연산을 간단히 처리할 수 있었다. 그 과정에서 “굳이 내가 모든 것을 처음부터 만들 필요가 없구나”라는 깨달음을 얻었다. 모듈화는 협업에서도 중요한 역할을 했다. 한 프로젝트에서 동료와 함께 기능을 나누어 맡을 때, 각자 모듈 단위로 작업을 나눌 수 있었고, 나중에 서로의 코드를 합치는 과정도 훨씬 수월했다. 이처럼 모듈은 단순히 코드를 묶어두는 도구가 아니라 협업과 재사용성을 가능하게 하는 중요한 개념이라고 할 수 있다.

분야