컴퓨터 프로그래밍에서 엔진(engine)이란 특정 프로그램 내부에서 또는 다른 프로그램들을 위해 핵심적이고 본질적인 기능을 수행해주는 프로그램을 지칭하는 전문 용어이다.[1]
이 용어는 기계적인 엔진에 상당하다는것을 의미하고 있다. 1844년에 찰스 배비지가 자신이 개발한 프로그램 내장형 컴퓨터의 이름을 "해석 엔진"이라고 붙였었다.
인공지능에서는 추론엔진이라는 용어도 있다.