본문 바로가기
프로그래밍

프로그래밍 언어란? (어셈블러, 컴파일러, 인터프리터)

by HP_Factory 2023. 3. 11.

프로그래밍 언어와 컴파일 기능

프로그래밍 언어란 사람과 컴퓨터 사이에 존재하는 일종의 커뮤니케이션 수단이다.

 

저수준(Low-level) 언어

º 기계어(Machine Language)

자료 표현의 기본 단위인 비트의 값 0과 1로 그대로 표기하는 언어이다. 컴퓨터 CPU에서 명령을 수행하기 위해 반드시 필요하다. CPU의 종류에 따라 각기 고유한 명령어로 구성되어 있다. 컴퓨터 실행에는 효율적이지만, 사람이 작성하기에는 매우 불편하다.

 

어셈블리 언어(Assembly Language)

컴퓨터가 알아들을 수 있는 기계어와 1대 1로 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다. 컴퓨터는 0과 1만을 인식할 수 있는데, 이를 사람이 이해하기 쉽게 약간 변형하여 만든 언어가 어셈블리어이다. 기계어와 가장 가깝기 때문에 컴퓨터 구조를 이해하기 용이한 장점이 있지만, 길고 복잡하며 CPU마다 언어가 다르다는 단점이 있다.

* 어셈블리어로 작성한 프로그램은 어셈블러라는 프로그램에 의해서 기계어로 변환된다.

 

고수준(High-level) 언어

˙ 명령어가 일상적인 문장과 가까워 코딩이 훨씬 간단하다. (프로그램을 개발하기도 쉽고, 유지보수도 쉽다.)

˙ 절차적(Procedural) 언어 : FORTRAN, COBOL, C, Pascal, BASIC 등이 대표적이다.

˙ 최근에는 C++, Java 등의 객체지향 언어가 많이 사용된다.

* 어셈블리어는 컴퓨터가 사용하는 기계어에 좀 더 가까운 언어인 반면에, 고급 언어는 사람이 사용하는 자연어 쪽에 더 가까운 언어이다.

 


언어 번역기 프로그램

어셈블러(Assembler)

어셈블리어로 작성된 원시 프로그램을 기계어로 된 목적 프로그램으로 어셈블하는 언어 번역 프로그램

 

 

컴파일러(Compiler)

고급 언어로 작성된 프로그램을 번역해서 기계어로 된 프로그램을 만들어주는 일종의 번역기

˙ 모든 프로그램은 기계어로 번역되어야 프로그램이 실행 가능하다.

(소스프로그램을 기계어로 번역해 오브젝트 코드라 불리는 실행 가능한 프로그램으로 저장된다.)

˙ 오브젝트 코드 형태의 프로그램(*.exe 또는 *.com 파일)은 항상 컴퓨터에서 실행이 가능하다.

˙ 컴파일러 언어 : FORTRAN, COBOL, PASCAL, C, C++ 등

 

 

인터프리터(Interpreter)

소스프로그램을 한 줄씩 기계어로 해석하여 바로 실행을 하는 방식

˙ BASIC이 대표적이며, 웹페이지에 많이 사용되는 스크립트 언어가 있다.

˙ 장점으로는 개발이나 업데이트가 쉽다.

˙ 인터프리터 언어 :BASIC, SNOBOL, LISP, APL 등

 

번역기


절차지향 프로그래밍

절차지향(Procedural Programming)이란, 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법이다.

˙ 컴퓨터가 수행할 작업의 절차를 표현 (입력, 계산 작업, 데이터의 처리 및 저장, 작업의 반복, 출력 증)

˙ 구조적 프로그래밍 (프로그램의 체계적 구성을 의미. 순서, 반복 및 선택의 제어구조가 특징이다.)

˙ 대표적 언어 : C, Pascal, BASIC, PL/I, Ada 등

 

객체지향 프로그래밍

객체지향(Object-oriented Programming)이란, 인간이 이해하기 쉬운 사물이나 개념을 객체(Object)로 표현하는 프로그래밍 기법이다.

˙ 객체의 처리방식을 클래스에 정의하고 필요시(이벤트 발생 시) 호출. 해당 작업만을 수행.

 → 이벤트 기반 프로그래밍 기법

˙ 대표적 언어 : SmallTalk, C++, Java, C#

댓글