컴파일러와 인터프리터의 차이점은 무엇인가요? 고수준 프로그래밍 언어를 저수준 기계어로 번역하기 위해 각각 어떻게 작동하는지 설명하세요. 다양한 유형의 프로그램과 애플리케이션에 컴파일러 또는 인터프리터를 사용할 때의 장점과 단점을 설명하세요. 컴파일러와 인터프리터를 사용하는 프로그래밍 언어의 예와 그 구현 방법을 제시하되, 컴파일러를 선택할 때 어떤 조건을 고려해야 하는지 명시하세요.