web-dev-qa-db-fra.com

Qu'est-ce qui fait un morceau de logiciel un moteur?

Le "moteur" descripteur est levé autour beaucoup: le moteur graphique, le moteur de regex, le moteur AI, etc. Mais ce qui fait en réalité un logiciel un moteur? Conception, entrée/sortie, but, taille?

39
Spacebob

Un moteur serait quelque chose qui est "sous le capot", pour ainsi dire. Ce n'est pas ou du moins très rarement, visible à l'utilisateur final. Un moteur graphique, par exemple, entraîne tous les calculs de rendu mais passe ces changements à l'environnement réel à modéliser. Entrée: maths. Sortie: jolies couleurs. Un moteur peut également avoir des variables de travail très différentes qu'une interface de niveau plus élevée. Par exemple, dans l'exemple précédent, il utilise des données numériques brutes pour manipuler des graphiques sans se soucier de savoir si quelque chose est une ombre ou une texture, tout cela est abstraité dans les équations et les opérations matricielles à effectuer par ce moteur. Pensez au moteur comme "noyau" d'un système donné alors que le reste ressemblerait davantage à la "coquille".

Pour utiliser un monde réel, l'analogie CS101, un moteur est comme un moteur de voiture. Il faut deux entrées, air et gaz. Il les transmet ensuite dans une chambre, où l'électricité est utilisée pour générer la plus petite utilisation du monde de soudage à l'arc. Stuff puis explose. Cela produit deux sorties, des gaz d'échappement et une onde de pression qui conduit un piston. Le reste est transféré en mouvement de roue par les différents arbres d'entraînement et tels. Donc, le moteur est le moteur et la voiture elle-même est la coquille. Vous pouvez utiliser un moteur de voiture dans un but différent, disons conduire un générateur d'électricité ou un moulin pour moudre le grain. Vous pouvez utiliser différentes entrées si le moteur dispose des revêtements et de gérer des objets comme l'éthanol ou le biodiesel.

Pour résumer, un moteur est un logiciel qui n'est généralement pas trouvé isolément. Il agit comme une force motrice pour cette pièce de logiciels mais interagit généralement très peu si du tout avec le monde extérieur. Plusieurs moteurs peuvent travailler ensemble pour produire des sorties complémentaires ou peuvent être pipelinés ensemble au besoin. Un moteur ne fait pas de choses liées à l'expérience utilisateur dans un sens esthétique directement, mais conduit également ces expériences non plus en motivant la Dataflow et suffisamment sensible pour permettre une bonne performance d'application.

33
World Engineer

Le définition du moteur est

nom/enj.n /
moteurs, pluriel

  1. Une machine avec des pièces mobiles qui convertit la puissance en mouvement

  2. Une chose qui est l'agent ou l'instrument d'un processus particulier

# 1 est l'équivalant sémantique de engine dans le sens logiciel qu'il provoque que quelque chose se passe. Le moteur graphique 3D prend des entrées et convertit cela en mouvement à l'écran. Un moteur de regex prend des entrées et les convertit à une sortie différente.

# 2 est comme en utilisant la phrase un moteur de changement . Cette sémantique peut également être appliquée aux logiciels.

Le logiciel engines sont plus que des cadres et des bibliothèques qui font des choses passives. Les moteurs logiciels agissent seuls sur les intrants, ils ne sont pas passifs et ont généralement leur propre run loop faire du traitement sur leur propre volition.

6
user7519

La réponse la plus proche jusqu'à présent, à mon avis, était celle qui a dit que c'est une chose marketing.

Essayons de penser où l'utilisation du mot dans ce contexte est venue.

Certainement, des moteurs de voiture ou de réaction ne sont pas appelés ainsi parce qu'ils apportent des entrées et produisent une certaine production. Si c'était le cas, alors pas seulement des fonctions, mais beaucoup de choses dans la vie seraient des moteurs.

Ce n'est pas par coïncidence, à mon avis, qu'une vache ne soit absolument pas un moteur, pas techniquement de parler, et pas de manière saine de parler.

Les moteurs utilisent différents types d'énergie et la transforment en mouvement (c'est-à-dire un type d'énergie spécialisé).

Pourquoi l'utilisons-nous dans des logiciels? Je dirais que la supposition la plus réaliste est parce qu'elle semble tout simplement cool. Pourquoi appelons-nous des architectes des programmeurs '? Même raison, si vous me demandez.

Une autre raison pourrait être que les programmeurs aiment généralement utiliser des métaphores pour décrire des parties de leur logiciel, elles pourraient donc être plus faciles à saisir (parce que naturellement le nettement pas).

Mon hunch est que c'est une mauvaise pratique d'abuser des métaphores de manière à ce que votre domaine d'application soit plein d'entre eux. Je pense que cela pourrait être utile lorsque vous parlez à des clients ou des personnes qui ne se connaissent pas ou ne se soucient pas de la programmation. Autre que cela, de simples organigrammes et des diagrammes font le travail pour moi.

3
Yam Marcovic

Le moteur est tout ce qui prend des entrées, processus d'entrée et fournit quelque chose en tant que sortie. Par cette définition, un moteur CMS est la pièce qui génère la réponse HTTP à la volée en fonction de l'entrée. Un moteur de base de données est ce qui prend la requête, dessine un plan d'exécution et la exécute le résultat.

Techniquement parler, même une vache est une sorte de moteur. Il faut de l'herbe, le traite et fournit du lait.

N'oubliez pas que le terme moteur est plus utilisé dans l'ingénierie mécanique, et cela fait exactement la même chose.

Un autre aspect d'un moteur est au cœur d'un système. Par exemple, le moteur de base de données est le noyau de tout RDMS. Cependant, les IDES doivent se connecter à ce moteur, tout en prenant des résultats d'entrée et de retour, n'est pas considéré comme un moteur.

1
Saeed Neamati

IMHO, un moteur n'est qu'un autre mot pour le sous-système, le module ou la bibliothèque. C'EST À DIRE. - un ou plusieurs composants conçus cohésifs pour un but spécifique.

1
Heath Lilley

Un moteur est essentiellement un logiciel qui peut être étendu pour créer quelque chose.

Par exemple, dans le jeu, vous entendrez beaucoup sur "quelque chose" Moteur de jeu. Cela signifie qu'un logiciel particulier a été modifié et étendu pour créer un jeu totalement unique.

0
mnsr