티스토리 뷰

Visual Basic 6.0

프로그래밍 언어

결실 2009. 5. 17. 13:13
프로그램이란?

컴퓨터를 사용하다 보면, '프로그램' 이란 말을 자주하게 되죠. 그러면프로그램이란 무엇일까요? 개인용 컴퓨터에서 보면, 프로그램이란 확장자가 'exe' 인 실행 파일을 의미 합니다. 이러한프로그램은 사용 목적에 따라 게임용, 사무용, 그래픽용 등으로 나눌 수 있습니다. 결론적으로 말하면, 프로그램은 컴퓨터가 어떤작업을 하도록 일련의 명령어들을 모아 놓은 것이라고 보면 됩니다.

프로그램은 어떻게 동작 할까요?

컴퓨터에서 실제적인 연산을 하고 각 장치를 제어하는 것은 중앙 처리장치인 CPU 입니다. 그런데 이 CPU는 1과 0으로 구성된 2진수의 기계어만 인식합니다. 그래서 우리가 CPU에 어떤 명령을내리려면, 기계어를 사용해야 하는 것이죠.

하지만 1과 0으로 구성된 2진수의 기계어로 프로그램에게 어떤 명령을내린다는 것은 쉬운일이 아닙니다. 그래서 기계어보다 인간에게 좀더 친숙한 언어로 프로그램에 명령을 내리기 위해 여러 종류의프로그래밍 언어가 개발되고 있는 것이죠.

앞으로도 컴퓨터 프로그래밍 언어는 더욱 다양한 방향으로 더 많이 발전할것입니다. 하지만 언어가 아무리 발전해도 결국에는 컴퓨터가 이해할 수 있는 기계어로 변경해야 실제로 CPU에서 이해하고 실행할수 있다는 근본적인 원리는 변하지 않습니다. 그런데 왜자꾸 새로운 언어가 생겨나고 업그레이드되어 버전이 높아지는 것일까요?이것은 사용자가 좀더 사용하기 쉽고, 모든 컴퓨터 환경에서 잘 작동할 수 있는 이식 성이 높은 언어를 개발하려는 인간의노력이라고 할 수 있습니다.

프로그래밍 언어의 분류

프로그래밍 언어는 크게 인간이 쉽게 이해할 수 있는 '고급 언어' 와 컴퓨터(CPU)가 쉽게 이해할 수 있는 '저급 언어'로 나눌 수 있습니다. 고급 언어는 반드시 컴퓨터가 이해할 수 있는 기계어로 번역되는 과정을 거쳐야 해당 프로그램을 실행할 수 있습니다. 반면 저급언어는 기계어 코드를 대신하는 기호를 사용하여 기계어와 일 대 일로 대응할 수 있는데, 대표적인 저급 언어에는 어셈블리어가 있습니다. 저급 언어는 기계에 의존적이며, 실행 속도가 빠르다는 장점이 있습니다.

컴파일과 인터 프리터의 기능

고급 언어로 작성된 프로그램의 소스코드(source code, 원시코드) 파일은 단순한 텍스트 파일로, 윈도우의 메모장과 같은 텍스트 편집기로 내용을 작성하거나 조회할 수 있습니다. 그러나 이 소스 코드는 기계어가 아니므로 그 상태로는 실행할 수 없습니다. 따라서 기계어 형태인 목적코드로 번역해야 하는 것이죠. 어떻게 고급 언어로 작성된 소스 코드 파일을 기계어로 번역하는 방법에는 '컴파일 기법' 과 '인터프리터 기법' 이 있습니다.

컴파일(compile) 기법
컴파일 기법은 고급 언어로 작성된 소스 코드 파일을 기계어로 번역한 후 별도의 파일로 출력하는 방법입니다. 이 과정에서 생긴 목적 코드 파일은 다시 링커를 통해 확장자가 'exe' 인 실행 파일로 만들어집니다.
이때 실행 파일은 기계어로 구성되어 있습니다. 예를들어, C 언어로 작성한 소스파일의 경우 먼저 C 컴파일러를 통해 목적 코드로 이루어진 파일로 만든후 다시 링커를통해 확장자가 'exe' 인 실행 파일로 만들어야 합니다. 컴파일 기법은 대부분의 언어에 사용하는 번역 기법으로, 코볼, C, 자바 등이 대표적인 컴파일 언어입니다.

인터프리터(interpreter) 기법
인터프리터 기법은 소스 코드 파일을 한 문장씩 읽어들이면서 번역 및 실행하는 기법입니다. 컴파일 기법과는 달리 목적 코드 파일과 실행 파일을 만들지 않기 때문에 사용한 프로그래밍 언어에 대한 인터프리터가 설치된 컴퓨터에서만 실행할 수 있습니다. 컴파일 기법에 비해 메모리를 적게 사용하지 만, 실행할때마다 번역 과정을 거쳐야 하므로 속도가 느리다는 단점이 있습니다. 베이직, LISP 등이 대표적인 인터프리터 언어입니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함