본문 바로가기

TEAM STUDY/한 권으로 읽는 컴퓨터 구조와 프로그래밍

저수준 언어와 고수준 언어

728x90
반응형

오늘은 스터디 와중에 JW 선배가 저수준 언어와 고수준 언어에 대해 질문을 했는데,

들어보기는 했어도 자세히 다뤄본적이 없어서 대답하지 못했다. 

 

이 기회에 저수준 언어와 고수준 언어에 대해 알아봐야겠다.


컴퓨터는 사용자가 제공한 지침에 따라 작동한다.

특정 작업을 수행하기 위해 작성된 일련의 지침은 컴퓨터 프로그램이라 하고

컴퓨터 프로그램의 모음을 소프트웨어하고 한다.

 

컴퓨터 프로그램 또는 소프트웨어는 컴퓨터 프로그래밍언어를 사용해서 작성된다.

 

프로그래밍언어는 크게 두가지로 나뉜다.

  • High Level Programing Language ( 고수준 언어 )
  • Low Level Programing Language ( 저수준 언어 )

 

고수준 언어란 (고수준 언어) ?

 

고수준 언어 EX

  • Java
  • C
  • C #
  • Python

 

 고수준 언어 특징

  • 고급 언어는 사람이나 프로그래머에게 가깝다.
  • 인간이 이해하기 쉽고 다양한 작업을 수행하는 프로그램을 개발할 수 있다.
  • 각 프로그래밍 언어에는 프로그램 작성을위한 고유 한 키워드 및 구문 세트가 있다.
  • 기계 독립적이고 휴대 가능하다.
  • 영어와 유사한 구문이 있으므로 컴파일러 또는 인터프리터를 사용하여 사람이 읽을 수있는 프로그램을 컴퓨터가 읽을 수있는 기계어 코드로 변환한다.
  • 하드웨어와 직접 상호 작용하지 않는다.
  • 실행하는 데 시간이 걸립니다.
  • 메모리 활용이 효율적이지 않습니다.
  • 특정 런타임 환경이 필요할 수 있다.

 

 고수준 언어 이점

  • 프로그래머는 언어를 쉽게 이해할 수 있습니다.
  • 프로그래머 친화적이고 디버그 및 유지 관리가 쉽습니다.
  • 전반적으로 고급 언어는 다양한 애플리케이션을 구축하는 데 유용하다.

 


 

저수준 언어란 ?

 

 저수준 언어 EX

  • 기계어
    • 기계어는 하드웨어에 가장 가까운 언어이다.
    • 기계어는 0과 1로 구선된다.
  • 어셈블리 언어
    • 어셈블리 언어는 기계어보다 한 단계 앞서 있다.
    • 프로그래머는 어셈블리 언어를 사용하여 프로그래밍하려면 컴퓨터 아키텍처와 CPU를 잘 이해해야 한다.
    • 어셈블리 언어 프로그램은 어셈블러를 사용하여 기계어로 변환된다.
    • 어셈블리 언어에는 저수준 지침 인 니모닉이 있다.
    • 어셈블리 언어의 일부 명령은 MOV 및 ADD 이다.

 

 저수준 언어 특징

  • 저수준 언어는 기계 친화적인 언어이다.
  • 레지스터 및 메모리와 직접 상호 작용할 수 있습니다.
  • 전반적으로 저수준 언어는 빠르게 실행되는 응용 프로그램을 빌드하는 데 사용됩니다.
  • 또한 장치 드라이버 및 운영 체제와 같은 하드웨어 관련 응용 프로그램을 개발하는 데 사용할 수도 있습니다.
  • 저수준 프로그래밍 언어를 배우는 것은 어렵습니다.
  • 컴퓨터 아키텍처에 대한 좋은 지식이 필요합니다.

 

 저수준 언어 이점

  • 저수준 언어는 프로그램을 기계어 코드로 변환하는데 컴파일러나 인터프리터가 필요하지 않으므로 저수준 언어는 고수준 언어보다 빠릅니다.

보통 고수준 / 저수준 언어에 대해 이렇게 알고 있는게 대부분이지만

고수준 / 저수준 언어는 서로 상대적일 수 있다.

 

주체가 어떤 언어인가에 따라서 달라질 수 있다.

예를들어 운영체제, JAVA, A1, A2 가 있을 때 ( 언어는 생각 안나서 대충 씀 내일 고칠 것 )

 

========= 스파크
========= ========= 스칼라
========= ========= ========= JAVA
========= ========= ========= ========= 운영체제

 

운영체제 을 기반으로 JAVA 가 만들어지고 

JAVA 를 기반으로 스칼라가 만들어지고

스칼라를 기반으로 스파크가 만들어졌다.

 

그러므로 JAVA 는 운영체제에 비해 고수준 언어지만 스칼라에 비해서 저수준 언어일 수 있다.

다시말해, 스칼라는 JAVA 기반으로는 고수준 언어지만 스파크에 비해서는 저수준 언어일 수 있다.


 

 

728x90
반응형