J'ai été chargé au travail d'écrire un plan d'ingénierie détaillé pour une application logistique que nous codons pour la proposer à un client. On m'a dit qu'il s'agissait d'une application axée sur les données. Qu'est-ce que cela signifie pour une application d'être "pilotée par les données" ? Quel est le contraire ? Je n'arrive pas à trouver de réponse claire à cette question, bien qu'en faisant des recherches sur le Web, j'ai vu de nombreuses personnes poster leurs propres exemples. Toute aide serait grandement appréciée.
La partie programmation consiste à écrire/définir la "forme générique du flux ou des changements d'état", n'est-ce pas ? Mais je peux écrire une telle "machine" dans n'importe quel langage, et il n'y a rien d'inhabituel à cela, donc je ne comprends rien à votre réponse. Peut-être que la programmation pilotée par les données est le cas lorsque le langage lui-même ou une bibliothèque encourage ou rend très facile l'écriture de telles machines. Ou peut-être que la définition est que le langage/la bibliothèque permet de définir les machines d'une manière déclarative, c'est-à-dire non procédurale.
2 votes
La plupart des programmes du monde réel sont basés sur des données.
18 votes
Le classique L'art de la programmation Unix propose une bonne discussion sur ce sujet : homepage.cs.uri.edu/~thenry/resources/unix_art/ch09s01.html . Citation clé : "Dans la programmation pilotée par les données, les données ne sont pas seulement l'état d'un objet, mais en fait définit le flux de contrôle du programme . Alors que la préoccupation principale de l'OO est l'encapsulation, la préoccupation principale de la programmation orientée données est la suivante écrire aussi peu de code fixe que possible ."
3 votes
La réponse de FMc est pour moi l'explication la plus convaincante, et devrait être une réponse, mais élaborée.