ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컴파일 언어와 스크립트 언어 차이
    etc 2019. 8. 12. 16:25

    참고문헌

    • 컴퓨터 아나토미

    프래그래밍언어는 cpu에게 명령을 내리기 위해 사용한다

     

    cpu는 0과 1만 이해할 수 있고 0과 1로 이루어진 코드를  머신코드 혹은 기계어라고 한다

     

     

    저수준 언어 = 어셈블리언어 ( Low - level )

     

    어셈블리는 '부호'를 활용하여 프로그래밍한다

     

    ADD 1,1,20 와 같은 형태로 작업할 내용과 결과를 저장할 메모리 위치를 함께 표기한다

     

    어셈블러는 어셈블리언어로 작성된 코드를 머신코드로 바꿔준다

     

     

    고수준 언어 ( High - level )

     

    사람의 언어와 비슷한 프로그래밍 언어

     

    '만약 ~라면' 명령어를 내리기 위해선 if 와 같은 형태로 만든다

     

    고수준 언어를 머신 코드로 바꿔주는 변환기를 컴파일러와 인터프리터라고 한다

     

     

    컴파일 언어

     

    컴파일 언어는 컴파일러를 거쳐서 머신 코드로 변경되고 실행된다

     

    1.c++

    소스코드(.cpp) -> 컴파일러 -> 머신코드(.exe) ->실행

     

    2.java

    소스코드(.java) -> 자바 컴파일 -> 바이트코드(.class) -> JVM 의 JIT 컴파일러 -> 머신코드 -> 실행

     

    c# 에서는 JVM 역할을 .Net Framework 가 대신한다

     

    컴파일 언어는 실행하기 위해 중간 단계의 파일이 필요하다

     

     

    인터프리터 언어

     

    인터프리터 언어는 중간 컴파일 과정 없이, 실행할 수 있다

     

    소스코드(스크립트) -> 인터프리터 -> 실행

     

    코드를 작성하면 실행 준비가 완료되고 인터프리터에 의해 머신코드로 번역 되는 동시에 실행된다

     

     

    차이점

     

    컴파일 언어는 코드 작성을 위한 문법적 제약사항이 많다

     

    변수의 자료형을 명확하게 기술해야하고, 자료형에 따라 허용 범위도 엄격하다

     

    인터프리터 언어는 변수를 변수라고 선언하지도 않으며 해당 변수의 자료형은 소스 코드가 실행되는 순간이다

     

    컴파일 언어는 스크립트 언어에 비해 제약 사항이 많아서 초보자가 배우기 어렵다

     

    스크립트 언어는 코드가 실행되기 전까지 버그를 인지할 수 없기 때문에 컴파일 언어보다 오류 발견 시점이 늦고 문제 발생시 더욱 정교한 테스트 기법과 원인을 찾기 위한 디버깅이 까다롭다

     

    스크립트 언어는 컴파일 언어보다 실행 속도가 늦기 때문에 실행 속도에 민감한 프로그램에서는 사용하지 않는다

     

     

     

     

    'etc' 카테고리의 다른 글

    넷빈즈(Netbeans) 설치 방법  (0) 2019.08.10

    댓글

Designed by Tistory.