What is engine? - Definition from WhatIs.com
Part of the Programming glossary:

In computer programming, an engine is a program that performs a core or essential function for other programs. Engines are used in operating systems, subsystems or application programs to coordinate the overall operation of other programs.

The term engine is also used to describe a special-purpose program that uses deep learning algorithms to query data. The best known usage is perhaps a search engine, which uses an algorithm to query an index of topics given a search argument. A search engine is designed so that its approach to searching the index can be changed to reflect new rules for finding and prioritizing matches in the index. In artificial intelligence, the program that uses rules of logic to derive output from a knowledge base is called an inference engine.

Other types of engines include:

Recommendation engines - analyzes available data to make suggestions for shoppers and website visitors

Correlation engines -  aggregates, normalizes and analyzes event log data, using predictive analytics and fuzzy logic to alert the systems administrator when there is a problem. 

Business rules engine - separates execution code for business rules from the rest of the business process management system so end users can change business rules without having to ask a programmer for help.

Policy engine - enforces rules about how network resources and the organization's data can be accessed.

The choice of the word engine to describe this type of programming is meant to correlate with mechanical engines. In the 1800s, Charles Babbage's Difference Engine, which is generally acknowledged as the first supercomputer, was 11ft long, 7ft wide and made up of 8,000 parts. When the engine was cranked with a handle, it automatically calculated and tabulated mathematical equations.

This was last updated in September 2005
Posted by: Margaret Rouse

Related Terms

Definitions

  • hypervisor

    - A hypervisor is a function which abstracts -- isolates -- operating systems and applications from the underlying computer hardware. (SearchServerVirtualization.com)

  • data type

    - A data type, in programming, is a classification that specifies which type of value a variable has and what type of mathematical, relational or logical operations can be applied to it without causi... (SearchSOA.com)

  • Taco Bell programming

    - Taco Bell programming is an approach to software development that is based on the concept that most problems can be solved by reconfigurations of commonly-used Unix programs. (WhatIs.com)

Glossaries

  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.