고수준 언어에서 프로그램 실행까지

김채운·2022년 6월 2일
0

CS

목록 보기
2/9

1950년대 말, 1960년대 초에 컴퓨터가 프로그래머를 대신해서 더 많은 일을 수행하게 되는 또 다른 움직임이 일어났는데, 바로 특정 프로세서에 독립적인 고수준 프로그래밍 언어의 개발이다.

고수준 언어

  • 고수준 언어를 쓰면 사람이 표현하는 방식에 가까운 용어로 계산과정을 작성할 수 있다.
  • 고수준 언어로 작성된 코드는 번역기 프로그램을 통해 대상 프로세서의 어셈블리 언어로 된 명령어로 변환된 다음, 어셈블러에 의해 비트로 변환되어 메모리에 로드되고 실행된다.
  • 여기서 번역기 프로그램은 보통 컴파일러라고 불린다.

컴파일러

고급 언어로 작성된 프로그램을 번역해서 기계어로 된 프로그램을 만들어주는 번역기이다.
ex) C언어로 작성된 코드를 컴파일 하면 어셈블리어로 변환되고 어셈블리어는 기계어로 변환해줌

어셈블리어

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

Z = X + Y

고수준 언어에서는 이 식을 'X와 Y라는 메모리 위치에서 값을 가져와 더한 다음 Z라는 메로리 위치에 결과를 저장하라'라는 뜻이다.
여기서 =는 같다라는 뜻이 아니라 '대체하다', '저장하다'라는 뜻으로 쓰인다.

어셈블러

  • 어셈블리어로 작성된 원시 프로그램을 기계어로 된 목적 프로그램으로 어셈블하는 언어 번역 프로그램.
  • 어셈블러는 각자의 어셈블리 언어 명령어를 실제 명렁어 비트 패턴으로 변환하는 일뿐만 아니라 변수 X,Y,Z를 저장할 메모리 위치를 확보하는 일을 담당한다.
  • 비트 패턴은 각각의 컴퓨터에 대해 거의 완전히 다르게 변환된다.

고수준 언어 사용의 장점

  • 고수준 언어는 사람들이 생각하는 방식에 더 가까워 배우고 사용하기 더 쉽다.
  • 고수준 언어에서는 프로그램을 효율적으로 짜기 위해 특정 프로세서의 명령어 레퍼토리를 알아야 할 필요가 없다. 따라서 더 많은 이들이 더 빨리 프로그래밍을 할 수 있게 해준다.
  • 또한 고수준 언어로 작성된 프로그램은 특정 아키텍처에 종속되지 않는다. 그래서 같은 프로그램이 여러 아키텍처상에서 실행될 수 있다. 코드를 변경할 일이 없으면, 그냥 다른 컴파일러로 컴파일 하기만 하면 된다.
  • 그래서 프로그램을 한 번만 작성하면 다양한 컴퓨터에서 실행이 가능하다.
  • 또한 고수준 언어에서 다른 어어로 컴파일 하는 단계에서는 몇 가지 명백한 에러를 미리 점검하게 해준다.

컴파일러 언어

FORTRAN

  • 초창기 언어 중 하나로, '수식변환(Formula Transition)'에서 이름이 유래됨.
  • 과학과 공학 분야에서 계산을 표현하는 데 매우 성공적으로 사용됨.
  • 빠르게 수치 연산을 하는 프로그램을 만들 때 사용함.
  • 포트란은 1958년 이래로 몇 번의 진화 단계를 거쳤지만, 같은 언어라고 쉽게 알아볼 수 있을 정도로 오늘날에도 건재함.

코볼(CO-BOL)

  • 사무 데이터 처리 목적으로 사용되었고, 재고 관리, 송장 작성, 급여 계산 등에 사용되는 자료 구조와 계산을 쉽게 표현할 수 있는 언어적 특징이 있다.
  • 코볼도 아직까지 사용되는 언어로 모습이 많이 바뀌었지만 아직 알아볼 만하다.

베이직

  • 프로그래밍 교육을 위한 쉬운 언어로 만들어졌다.
  • 베이직은 특히 간단하면서 컴퓨팅 자원을 적게 필요로 해서 개인용 컴퓨터에서 사용할 수 있는 첫 번째 고수준 언어였다.
  • 마이크로소프트 창업자인 빌게이츠와 폴앨런은 1975년에 알테어 마이크로컴퓨터용 베이직 컴파일러를 만들면서 사업을 시작했는데, 이게 마이크로소프트의 첫 번째 제품이었다.
  • 베이직의 주요한 변종인 마이크로소프트 비주얼 베이직이 오늘날에도 활발하게 지원되고 있다.

0개의 댓글