2013-05-23 2 views
1

일반적인 용어 질문이 있습니다. 코드 또는 툴킷이 '엔진'으로 간주되는시기는 언제입니까?코드가 '엔진'으로 간주되는시기는 언제입니까?

예를 들어, Google의 자바 스크립트 인터프리터를 'V8 엔진'이라고 부르거나, 언리얼의 렌더러를 '언리얼 엔진'이라고합니다. 프레임 워크 또는 일련의 알고리즘이 공식적으로 엔진으로 간주되는 특정 지점 (크기, 복잡성, 목적 또는 기타)이 있습니까?

+3

은 아마도 프로그래머에게 더 적합 할 것입니다. – Woot4Moo

+0

이것은 공식 정의가 아니라 관례입니다. 개인적으로, 나는 클라이언트가 자신의 클래스를 서브 클래스로 만들거나 다른 목적으로 동일한 언어로 전문화하려는 소스 코드 구조에 대해 이야기 할 때 "프레임 워크"를 사용하려고했습니다. 회색이 많습니다. 잠시 동안 프로그래밍하면 일반적인 패턴을 보게 될 것입니다. 그것은 전적으로 임의적이지 않습니다. – Mordachai

답변

2

엔진은 비유입니다. 소프트웨어 엔진은 일반적으로 또 다른 코드 계층을 실행합니다.

소프트웨어 엔진의 특징 중 하나는 독자적으로서는 것이 아닙니다. 그것은 모터를 공급하지만 완성 된 차를 만들기 위해 당신에게 남겨 둡니다.

2

아니요. 제작자가 엔진이라고 부르는 경우 엔진이라고합니다.

1

완전한 작업 (예 : 자바 스크립트 해석 또는 3D 그래픽 렌더링)을위한 API를 만들면 엔진이라고 부를 수 있습니다. 그러나 정확한 정의는 없습니다. 그것은 당신이 만든 것에 대한 적절한 단어를 찾는 더 많은 방법입니다. 프레임 워크에서도 마찬가지입니다.

1

다소 임의적이지만, 내가 보았던 모든 소프트웨어 엔진의 공통점은 임의의 코드를 실행할 수 있다는 것입니다. V8 (자바 스크립트), 언리얼 엔진 (언리얼 스크립트)에서도 마찬가지입니다. JVM과 같은 추상 시스템을 정의하지 않는다는 점에서 VM과 다릅니다. 통역사가 청구서에 맞지 않는 경우가 종종 있습니다. V8 JIT는 어떤 내용도 해석하지 않고 컴파일하므로 언리얼은 언리얼 스크립트를 해석하는 것 이상을 수행합니다.