Le développement des codes de calcul a évolué de pair avec le matériel informatique. Au départ, les programmes de calcul étaient écrits pour résoudre des problèmes donnés et fonctionnaient généralement en boîte noire.
Trois programmes constituant le noyau du système CAST3M ont été développés au CEA/DMT : il s'agissait d'un programme de maillage, d'un programme de calcul et d'un programme de visualisation des résultats. La multiplicité des problèmes a ensuite conduit à développer des programmes de calcul distincts capables de communiquer entre eux le cas échéant.
Les progrès du matériel informatique a alors permis de développer de nombreuses fonctions qui réduisaient les temps de préparation des jeux de données. Ainsi, il fallait remettre à niveau tous les codes en répercutant dans chacun les améliorations et corrections effectuées dans l'un d'entre eux. De plus, les jeux de données devenaient de plus en plus compliqués et le post-traitement devait être capable de relire des fichiers différents selon les codes de calcul utilisés. A ces problèmes se sont ajoutés de nouveaux besoins tels que des structures plus complexes mettant en jeu des phénomènes variés et couplés (couplage mécanique-thermique) ou bien intégration des fonctions de maillage dans le processus de calcul (optimisation de forme).
Toutes ces considérations ont conduit à repenser à la base le problème du calcul numérique de manière à développer un code de calcul de nouvelle génération : CAST3M.
Contrairement aux anciens codes de calcul, écrits pour résoudre des problèmes donnés et auxquels l'utilisateur doit se plier, CAST3M peut s'adapter aux besoins de l'utilisateur pour résoudre ses problèmes. De plus, CAST3M donne à l'utilisateur la connaissance du problème effectivement posé et des méthodes employées.