[꼼꼼한 개발자] 꼼코더

[language] - 고급언어란? 저급언어란? 간단하고 쉽게 이해하기(고급언어 저급언어 차이점) 본문

간단하고 쉽게/JAVA

[language] - 고급언어란? 저급언어란? 간단하고 쉽게 이해하기(고급언어 저급언어 차이점)

꼼코더 2023. 8. 31. 12:38
반응형

💁🏻‍♂️ 소개

프로그래밍 언어를 크게 고급언어와 저급언어 2가지로 분류된다.

2가지의 차이점을 정말 간단하게 알아보자!

 

 

⚱️ 고급언어 (High-Level Language)

 

고급언어는 사람이 이해하기 쉬운 형태로 작성된 프로그래밍 언어이다.

예) C++, Java, Ruby 등

a = 12;
b = a;
c = a + b;

 

🥉 저급언어 (Low-Level Language)

저급언어는 컴퓨터가 이해하기 쉬운 형태의 언어이다.

 

예) 기계어나 어셈블리어

저급언어를 사용하면 하드웨어의 세부 사항을 직접 다룰 수 있어 최적화된 프로그램을 작성할 수 있다.

section .data
    a db 12   ; 변수 a를 12로 초기화

section .bss
    b resb 1  ; 변수 b를 1바이트 크기로 선언
    c resb 1  ; 변수 c를 1바이트 크기로 선언

section .text
    global _start

_start:
    ; 변수 a를 변수 b에 복사
    mov al, byte [a]
    mov [b], al

    ; 변수 a와 변수 b를 더해서 변수 c에 저장
    mov al, byte [a]
    add al, byte [b]
    mov [c], al

    ; 종료 시스템 콜
    mov eax, 1          ; 시스템 콜 번호 1은 sys_write를 의미
    mov ebx, 1          ; 파일 디스크립터 1은 표준 출력을 의미
    mov ecx, c          ; 출력할 데이터의 주소인 변수 c의 주소
    mov edx, 1          ; 출력할 데이터의 길이는 1바이트
    int 0x80            ; 인터럽트 0x80을 통해 시스템 콜 실행

    ; 프로그램 종료
    mov eax, 1          ; 시스템 콜 번호 1은 sys_exit를 의미
    xor ebx, ebx        ; 종료 코드 0
    int 0x80            ; 인터럽트 0x80을 통해 시스템 콜 실행

 

(저급 언어 보고만 있어도 머리 아프다..) 

🐶 마무리

그래서 자바를 예로 들면 hello.java 파일을 컴파일러를 통해 컴파일이라는 과정을 거치면

우리가 이해할 수 없는 (예를 들어 01010101) 언어로 변경된 hello.class 파일로 변환된다.!

Comments