/ ETC

Interpretoer vs Compiler

머신 코드

** 0과 1로 된 바이너리 코드

소스 코드

고급 언어로 작성된 프로그램

컴파일러와 인터프리터

소스 코드 -> 기계어 코드 변환해줌

interpreter vs compiler

| interpreter | compiler | |——————————————————————————————————|——————————————————————————–| | line by line | 전체 프로그램을 스캔하여 기계어로 변환 | | 소스코드 하나를 실행하는데 소요되는 시간은 적지만 전반적인 실행 시간은 느림 | 소스코드를 분석하는데 시간이 많이 걸리지만 전반적인 실행 시간은 비교적 빠른 편 | | 객체 코드가 생성되지 않으므로 메모리 효육적 | 객체 코드 생성하므로 더 많은 메모리가 필요 | | 첫 번째 오류가 발생할 때 까지 프로그램을 계속 번역함. 오류가 발생하는 곳을 보면 되므로 디버깅이 쉬움 | 전체 프로그램을 스캔한 후에 오류 메시지를 생성. 디버깅이 비교적 어려움. | | python, ruby | c, c++ |

addition

compiler에서 오류 찾기 힘든게 무슨 말이냐 하면,

문법 다 맞게 작성하였는데 컴파일 할 때만 오류 메시지가 뜨는 경우가 있다. 이런 경우에 밑줄 표시가 안뜨기 때문에 오류를 찾기가 쉽지 않다…

답은 한 줄 한 줄 주석처리해서 찾아보는 수 밖에 없음.

그래서 알고보면 해당 메소드는 중복해서 사용할 수 없다는 등의 근본적 이유가 원인이다.