0

나는 C 언어 책을 읽고 있습니다. 이언어 통역사에 관한 질문

약간 높은 레버 언어가 컴파일 을 아니지만 해석했다.

기본 및 Java는 프로그래밍이 로 해석되고 컴파일되지 않는 두 가지 프로그래밍 언어입니다. 다른 예제에는 Unix 시스템의 셸과 Python이 포함되어 있습니다.

어째서 C# 및 Perl은 어떻습니까?

C#을 항상 컴파일해야하고 Perl이 항상 컴파일되지 않아야한다고 생각했습니다.

맞습니까?

+0

물론 많은 BASIC 버전이 컴파일됩니다. 이것은 자신의 고통을 정당화하려고 시도하는 저급 언어 사용자가 흔히 범하는 오해입니다. 바이트 코드로 컴파일 되었기 때문에 Java로 상당히 회색 영역으로 실행되지만 현재 프로세서/환경의 원시 코드로 변환하는 가상 시스템 아래에서 실행됩니다. 여기를 참조하십시오 : http://stackoverflow.com/questions/2657268/whats-the-difference-between-compiled-and-interpreted-language –

+0

@Cody 그는 단순한 질문 이었기 때문에 그는 기본적으로 질문에 태그를 지정했습니다. –

+0

@Rafe : 저는 그 책에서 인용 한 책의 내용을 "Basic과 Java는 두 가지 프로그래밍 언어입니다."라고 말하지 않았습니다. –

답변

3

C#과 Java는 모두 컴파일되지만 원시 코드에는 컴파일되지 않습니다. 그것들은 각각의 VM에 의해 해석되는 바이트 코드 (각각 Common Language Runtime과 Java Virtual Machine 용)으로 컴파일됩니다.

Perl은 실제로 컴파일 할 수 있습니다. Perl에서 C 코드를 생성하고 컴파일하는 명령 행 옵션이 있기 때문입니다. 하지만 더 일반적으로 Perl은 해석됩니다.

Perl과 Python 모두 정상적으로 실행되면 바이트 코드로 컴파일되어 각각의 인터프리터에 의해 해석됩니다. Java 및 C#과 달리 실행하기 전에 컴파일이 필요하지 않습니다.

C 서적의 정의에 따라 언어는 런타임시 CPU에서 직접 실행되는 원시 코드 (예 : 어셈블리)로 컴파일되는 경우에만 컴파일됩니다.

+2

C#에 대한 참조 : http://www.dotnet247.com/247reference/msgs/15/75673.aspx –

+2

Perl에 대한 참조 : http://www.perlmonks.org/?node_id=170664 –

+0

@Andy 내 답변에 일부 소스를 추가해 주셔서 감사합니다. –