La seconde moitié du XX
e
siècle restera comme l’ère de l’invention puis de la prolifération des circuits intégrés et des systèmes électroniques fabriqués avec eux. Les calculateurs existaient avant, mais ils étaient mécaniques. Au XXI
e
siècle, ces calculateurs devenus microprocesseurs ne seront plus qu’un composant d’un « système sur une puce ». Sur cette puce, on verra s’opérer d’autres mutations : optiques, micromécaniques (déjà maîtrisées), moléculaires, voire biologiques.
En fait, tous ces aspects ne sont que l’habillage de machines mathématiques. Ceci est toujours resté perceptible dans le domaine du logiciel où langages de haut niveau ou langage machine sont des variations plus ou moins rigoureuses, mais immatérielles, des notions de fonctions d’automates, d’algorithmes ou de processus.
Mais une machine, même mathématique, a besoin d’un support physique, de même que l’information a besoin du support de la masse et de l’énergie. Ce support, c’est le matériel électronique, circuits intégrés et périphériques, toute la quincaillerie électronique, en anglais le « hardware ».
L’invention des langages de conception des circuits (
« Hardware Description Language » : HDL
) – qui n’étaient pas encore intégrés – date du début des années 1960 aussi bien aux États-Unis qu’en Europe. Elle a été motivée par le désir de rester, pendant le processus de conception, aussi longtemps que possible à un niveau abstrait, et de repousser le passage à la réalisation physique jusqu’au moment où plus aucune décision ne peut être prise indépendamment de la technologie. Elle a aussi été une réponse à la croissance continue et exponentielle de la complexité des systèmes électroniques à concevoir, un problème commun au matériel et au logiciel, ce qui peut expliquer que la syntaxe des langages HDL a suivi avec un décalage raisonnable d’une dizaine d’années l’évolution des langages de programmation. À la fin des années 1960, elle était de type « Algol », une décennie plus tard de type « Pascal », puis dans les années 1980 de type « C » ou « ADA ». Ces langages HDL ont aussi intégré les concepts les plus avancés des langages de spécification de programmes. Au niveau de la spécification d’un système complet (circuits numériques, circuits analogiques, capteurs, logiciels) intégré sur une seule puce, il ne restera plus de différence. Quoique les langages HDL puissent décrire certaines des contraintes imposées par une technologie (temporelles, topologiques, fonctions de résolution...), celles-ci peuvent être traitées comme des paramètres externes. Le domaine du langage est celui d’objets abstraits, susceptibles théoriquement d’être réalisés...