본문 바로가기
실버를 위한 코딩

[컴퓨터] 고급 언어와 저급 언어

by forSilver 2024. 5. 2.
반응형

고급 언어와 저급 언어

컴퓨터 프로그래밍 언어는 크게 고급 언어와 저급 언어로 나눌 수 있습니다. 이 두 종류의 언어는 개발자가 컴퓨터와 상호작용하는 방식과 추상화 수준에서 차이를 보입니다.

고급 언어 (High-Level Languages)

고급 언어는 인간이 이해하기 쉬운 언어에 가깝게 설계되어 있습니다. 이러한 언어는 복잡한 프로그래밍 개념을 간단하게 표현할 수 있도록 도와주며, 기계 코드로 변환하기 전에 컴파일러나 인터프리터를 통해 처리됩니다. 고급 언어의 주요 특징은 다음과 같습니다:

  • 추상화: 메모리 관리, 데이터 타입 추상화 등 복잡한 세부 사항을 숨깁니다.
  • 이식성: 다양한 하드웨어나 운영 체제에서 실행할 수 있습니다.
  • 생산성: 효율적인 코드 작성이 가능하여 개발 시간과 비용을 절감할 수 있습니다.
  • 예시: Python, Java, C++, JavaScript 등

저급 언어 (Low-Level Languages)

저급 언어는 컴퓨터 하드웨어에 더 가까우며, 매우 제한적인 추상화를 제공합니다. 이 언어들은 하드웨어에 직접적으로 작업을 지시하기 때문에, 성능 최적화와 직접적인 메모리 관리가 가능합니다. 저급 언어의 주요 특징은 다음과 같습니다:

  • 하드웨어 제어: 메모리 주소, 레지스터 등을 직접 제어할 수 있습니다.
  • 성능 최적화: 하드웨어와 직접적으로 상호작용하기 때문에 높은 성능을 달성할 수 있습니다.
  • 이식성 제한: 특정 하드웨어나 운영 체제에 종속적일 수 있습니다.
  • 예시: 어셈블리 언어, 기계어

두 언어 사이의 관계

고급 언어로 작성된 프로그램은 일반적으로 컴파일러를 통해 저급 언어인 기계어로 변환됩니다. 이 변환 과정을 통해 인간이 이해하기 쉬운 코드가 컴퓨터가 실행할 수 있는 명령어로 바뀌게 됩니다. 어떤 경우에는 고급 언어가 중간 단계인 어셈블리 언어를 거치기도 합니다.

고급 언어, 파이썬

정리

고급 언어와 저급 언어의 선택은 프로젝트의 요구 사항, 개발자의 선호도, 필요한 성능 수준, 개발 환경 등 다양한 요소에 따라 결정됩니다. 일반적으로 시스템 프로그래밍, 임베디드 시스템 개발, 운영 체제 개발 등과 같이 성능이 매우 중요하거나 하드웨어에 밀접한 접근이 필요한 경우에 저급 언어가 사용됩니다. 반면, 애플리케이션 개발, 웹 개발 등 빠른 개발 주기와 이식성이 중요한 경우에는 고급 언어가 널리 사용됩니다.