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

김원호·2022년 7월 31일
0

1950년대 말, 1960년대 초에 특정 프로세서 아키텍처에 독립적인 고수준 프로그래밍 언어(high-level programming language)가 개발됨

고수준 언어

  • 고수준 언어를 쓰면 사람이 표현하는 방식에 가까운 용어로 계산 과정을 작성할 수 있다
  • 고수준 언어로 작성된 코드는 번역기 프로그램을 통해 대상 프로세서의 어셈블리 언어로 된 명령어로 변환된다.
  • 변한 된 명령어는 어셈블러에 의해 비트로 변환되어 메모리에 로드되고 실행 된다.
  • 번역기 프로그램은 보통 컴파일러(compiler)라고 불린다.
  • 어셈블리언어: 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어
  • 어셈블러: 어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램
  • 컴파일러: 고급 언어로 작성된 프로그램을 번역해서 기계어로 된 프로그램을 만들어주는 변역기

고수준 언어 표현

Z = X + Y

  • 'X와 Y라는 메모리 위치에서 값을 가져와서, 두 값을 더하고, Z라는 메로리 위치에 결과를 저장하라'
  • 연산자 '='는 '같다'가 아니라 '대체하다', '저장하다'
  • 컴파일러에 따라 다른 명령어로 변환할 수도 있다.
  • 같은 입력 표현이 두 개의 다른 컴파일러와 각각의 어셈블러를 거치면서 서로 다른 두 가지 명령어와 비트 패턴으로 만들어지는 것

고수준 언어의 이점

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

Fortran

  • 초창기 언어 중 하나로, '수식 변환(Formula Translation)'에서 이름이 유래
  • IBM 팀에서 개발했으며, 과학과 공학 분야에서 계산을 표현하는데 성공적으로 사용됐다.
  • 포트란은 1958년 이래로 몇 번의 진화 단계를 거쳤지만, 같은 언어라고 쉽게 알아볼 수 있을 정도로 오늘날에도 건재함.

코볼

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

베이직

  • 프로그래밍 교육을 위한 쉬언 언어로 만들어졌다.
  • 베이직은 특히 간단하면서 컴퓨팅 자원을 적게 필요로 해서 개인용 컴퓨터에서 사용할 수 있는 첫 번째 고수준 언어였다.
  • 베이직의 주요한 변종인 마이크로소프트 비주얼 베이직(Visual Basic)이 오늘날에도 활발하게 지원되고 있다.
profile
당신은사랑받기위해태어난사람

0개의 댓글