프로그래밍 언어와 절차

컴퓨터/프로그래밍 기초

728x90
반응형

2021.04.27 - [컴퓨터/프로그래밍 공용 및 기초] - 프로그래밍의 개요 -Programming 

프로그래밍 언어

프로그래밍은 작업 지침서를 만드는 일이라고 했습니다. 그리고 프로그래밍을 하기 위에서는 인간들의 언어가 아닌 다른 특수한 언어가 사용된다고 했죠. 오늘날 프로그래밍 언어는 고급언어 와 저급 언어로 표현을 하여 사람이 이해하기 쉬울수록, 고급언어 컴퓨터가 이해하기 쉬울수록 저급 언어라고 부르고 있습니다. 수준이 높고 낮음이 아니라 인간이 얼마나 알아듣기 쉬우냐에 따라 구분을 하고 있습니다.

 

저급 언어 - Low Level Language

저급언어, 즉 기계어 어셈블리 어등으로 불리는 언어입니다 앞서 말씀드린 것과 같이 기계와 친숙한 언어입니다. 

0과 1로 이루어진 말 그대로 기계어와, 각 제조회사별의 언어라고 할 수 있는 어셈블리어가 있습니다. 실제 저급 언어를 이용하여 프로그래밍을 하는 것도 가능하긴 하지만 각각의 하드웨어에서 마다 다른 어셈블리어와 0과 1을 읽는 방식에 차이 등 여러 곳에서 범용적으로 쓸 수 있게 만드는 방법은 쉽지 않습니다. 정리하자면 다음과 같은 특징을 가지고 있습니다.

 

  • 각 하드웨어(또는 CPU)마다 사용하는 명령어가 다르다.
  • 각 하드웨어 내부 동작을 이해해야만 프로그래밍이 가능하다.
  • 하드웨어에 따른 각각의 프로그래밍이 필요하다.

물론 말 그대로 기계와 가까운 언어이기 때문에 잘 이해하고 사용을 한다면 특수한 영역에서는 고급언어로 프로그래밍을 하는 것보다 효율적일 수 있을 것 입니다. 당연히 하드웨어를 개발을 할 경우 필요한 영역이기도 합니다. 하지만 대부분의 프로그래머들은 다양한 하드웨어들 위에서 범용적인 소프트웨어를 만드는 것을 목적으로 하기 때문에 고급언어가 만들어지고 널리 사용되고 있습니다. 

 

고급언어 - High Level Language

고급언어는 인간의 언어를 특정한 규칙에 맞추어 프로그래밍을 한 후 컴퓨터에게 전달을 하는 것입니다.  이 과정에서 인간의 언어를 사용하였기 때문에 컴파일러라는 번역기가 필요하게 됩니다. 

컴파일러는 고급언어를 사용하여 특정한 규칙에 맞추어 작성한 프로그램 코드를 각각의 하드웨어에서 사용하는 명령어로 바꿔줄수 있는 만능 번역기라고 생각하시면 됩니다.

따라서 오늘날 고급언어라고 불리는 C,C++,C#,java,python등등 많은 언어들은 각각의 컴파일러를 가지고 있습니다. 그래서 이 언어들을 가지고 프로그래밍을 하고 컴파일러를 사용하면 다양한 환경에서 동작할 수 있는 프로그램을 만들 수 있는 것입니다. 정리하자면 다음과 같은 특징을 가지고 있습니다.

 

  • 각 하드웨어(또는 CPU)의 내부 동작을 자세히 몰라도 프로그래밍이 가능하다.
  • 각 고급언어의 특정한 규칙에 따라 작성해야 된다.
  • 하드웨어마다 별도의 프로그래밍이 불필요하다 ( 컴파일러 덕분에)
  • 컴파일러를 통한 기계어로의 번역과정이 완료되야만 프로그램으로서의 역할이 가능하다.

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :