컴파일 언어 VS 스크립트 언어
1. 컴파일 언어
- 사람이 작성하는 코드는 사람이 이해하기 쉽게 만들어진 고급 언어(high-level language)이다. 이를 컴파일을 통해서 컴퓨터가 이해 할 수 있는 저수준 언어로 바꾸게 된다. 즉, 컴파일 언어란, 사람이 작성한 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸기 위해서 컴파일이라는 과정이 필요한 언어를 말합니다. 이와 같은 언어의 종류에는 C, C++, Java가 있습니다. 소스코드 -> 컴파일 -> 머신코드(기계어)
- 장점 소스 코드를 작성하는 과정에서는 변환 과정이 작동하지 않기 때문에 빠르게 소스코드를 작성할 수 있다는 장점이 있습니다.
- 단점 프로그램을 실행시킨 뒤 bug가 발생하게 되면, application 실행을 종료하고 source 코드를 수정 한뒤 다시 application을 실행시켜 수정 된 부분을 확인해야 하는 번거로움이 있습니다.
2. 스크립트 언어
- 스크립트 언어는 Compiler가 없으며, 이와 같은 과정도 불필요 합니다. 소스코드에 의존적인 언어 입니다. 변수타입을 선언하지 않습니다. Perl, PHP, Python, Ruby와 같은 언어들이 스크립트 언어 입니다.
- 장점 bug 수정에 있어서 application을 restart하는 것이 아니라 reload를 통해서 확인이 가능하다는 장점이 있습니다.
- 단점 실시간으로 interpreter를 통해서 기계어로 번역되는 과정을 거치기 때문에 시스템이 느려지게 됩니다. 스크립팅 언어의 속도를 높이기 위한 방법이 있습니다. code caching과 persistent interpreter가 있습니다.