Ce nouveau paradigme est dans l'air du temps. Il prend différentes formes et différents noms : programmation intentionnelle, MDA (Model Driven Architecture), programmation générative… Sergey Dmitriev se propose de fédérer toutes ces approches sous l'appellation Programmation Orientée Langage (LOP, Language Oriented Programming). Dans un article qu'il a publié sur le site de sa société JetBrains, il présente son point de vue sur le concept et ses travaux sur le sujet.

La programmation traditionnelle montre ses limites. Alors que l'être humain pense en termes de mots, de notions, de concepts…, l'ordinateur ne comprend que des instructions. Alors qu'il a en tête la solution à son problème, le développeur doit donc faire un mapping entre le modèle conceptuel et le langage de programmation. Un mapping d'autant plus difficile que le langage de programmation utilisé a pour vocation d'être universel comme Java ou C++. D'où l'intérêt d'utiliser des langages dédiés, des Domain Specific Languages (DSL), qui réduisent cette phase de mapping. La Programmation Orientée Langage se focalise sur la création de ces langages dédiés. Pour illustrer ces concepts, Dmitriev s'appuie sur une implémentation qu'il est en train de développer autour d'IntelliJ, appelée Meta Programming System (MPS).
L'article de Sergey Dmitriev est une bonne introduction pour ceux qui n'ont jamais entendu parler de la programmation orientée langage. Il suscite déjà de nombreuses réactions sur OSNews et sur TheServerSide.COM. Certains voient dans cette approche une réminiscence de Lisp avec sa réflexivité. En tous cas, les Domain Specific Languages n'ont pas fini de faire parler d'eux. Une tendance que Microsoft a intégrée dans la future version de Visual Studio 2005.