프로그래밍 언어 (저급언어, 고급언어)

OZA·2021년 2월 6일
0

etc.

목록 보기
7/9
post-thumbnail

프로그래밍 언어(Programming Language : PL)

  • 주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적인 언어를 말함

  • 프로그래밍 언어를 공부해야 하는 이유
    - 효율적인 알고리즘을 개발할 수 있는 능력의 향상시킴
    - 현재 사용하는 프로그래밍 언어의 능력을 향상시킴
    - 주어진 과제를 해결하는 최적의 언어를 선택할 수 있음


프로그래밍 언어의 특성

  • 간결성(simplicity) : 사람이 프로그램을 쉽게 이해하고, 읽을 수 있도록 간결하게 표현할 수 있는 특성임

  • 직교성(orthogonality) : 언어의 각 구성 요소가 상호 독립적이고 어떤 환경에서도 그 구성요소가 같은 의미로 사용됨

  • 가독성(readability) : 누구나 쉽게 프로그램을 읽을 수 있는 특성을 말함

  • 정확성(preciseness) : 엄밀하게 정의된 문법에 따라 작성된 프로그램은 정확성을 보장하며 예측 가능한 번역을 보장함

  • 기계 독립성(machine independence) : 서로 다른 컴퓨터 상에서도 운영이 가능해야 하고, 똑같은 결과를 도출해야 함


저급 언어와 고급 언어


저급 언어

  • 기계어와 어셈블리 언어를 의미함
  • 하드웨어에 관련된 직접제어가 가능함
  • 프로그램 작성시 상당한 지식과 노력이 필요함

고급 언어

  • 하드웨어에 관련된 지식 없이도 프로그램 작성 가능함, 프로그램을 생산하기 수월하다
  • 일상적인 언어, 기호 등을 그대로 이용함, 기계어보다 좀 더 인간의 언어에 가깝다
  • 기억장소를 임의의 기호(symbol)에 저장하여 사용함
  • 하나의 명령으로 다수의 동작을 지시할 수 있음
    (예: A = B + C * D)
  • 기계어로 변환하기 위해 인터프리터나 컴파일러가 필수적으로 요구된다



컴파일러 ?

고급언어를 기계어로 번역해주는 도구, 또는 논리적 장치
고급언어로 작성된 프로그램을 기계어(0,1)로 번역하는 것
즉 개발자가 고급언어로 프로그래밍한 코드를 CPU가 이해할 수 있게 변환해주는 것이 컴파일러 이다

컴파일과 빌드의 차이점

  • 컴파일은 단순히 소스코드를 기계어로 번역해주는 것
  • 빌드는 실행 가능한 파일로 만들어주는 것
    빌드 안에 컴파일이 포함된다고 생각하면 된다

profile
하하하 반갑습니다

0개의 댓글