Je suis sur le point de démarrer un projet de simulation / modélisation. Je sais déjà que la POO est utilisée pour ce genre de projets. Cependant, l'étude de Haskell m'a fait envisager d'utiliser le paradigme FP pour modéliser un système de composants. Permettez-moi d'expliquer:
Disons que j'ai un composant de type A, caractérisé par un ensemble de données (un paramètre comme la température ou la pression, une PDE et certaines conditions aux limites, etc.) et un composant de type B, caractérisé par un ensemble de données différent (différent ou même paramètre, PDE et conditions aux limites différentes). Supposons également que les fonctions / méthodes qui vont être appliquées sur chaque composant soient les mêmes (une méthode Galerkin par exemple). L'état mutable de l'objet serait utilisé pour les paramètres non constants.
Si je devais utiliser une approche POO, je créerais deux objets qui encapsuleraient les données de chaque type, les méthodes pour résoudre le PDE (l'héritage serait utilisé ici pour la réutilisation du code) et la solution au PDE.
D'un autre côté, si je devais utiliser une approche FP, chaque composant serait décomposé en parties de données et les fonctions qui agiraient sur les données afin d'obtenir la solution pour le PDE. Les paramètres non constants seraient passés en fonction d'autre chose (le temps par exemple) ou exprimés par une sorte de mutabilité (émulation de mutabilité, etc.). Cette approche me semble plus simple en supposant que les opérations linéaires sur les données seraient triviales.
Pour conclure, la mise en œuvre de l'approche FP serait-elle réellement plus simple et plus facile à gérer (ajouter un type de composant différent ou une nouvelle méthode pour résoudre le pde) par rapport à la POO?
Je viens d'un milieu C ++ / Fortran, et je ne suis pas un programmeur professionnel, alors corrigez-moi sur tout ce que je me trompe.