Language Oriented Programming

Via \[[Lambda the Ultimate - Programming Languages Weblog](http://lambda-the-ultimate.org/node/377)\] I found JetBrain’s Sergey Dimitriev’s **[very important]{style="FONT-WEIGHT: bold"}** whitepaper on "[Language Oriented Programming: The Next Programming Paradigm](http://www.onboard.jetbrains.com/articles/04/10/lop/)" This is the best brief explanation I’ve seen of the emerging consensus that the software development industry is finally poised to move beyond general-purpose languages. This echoes much of what Microsoft is saying about software factories and domain-specific languages (DSLs): in a recent discussion I had with Jack Greenfield of Microsoft I finally grokked that software factories don’t *reduce* to DSLs, but the rapid creation of DSLs by programming teams within vertical industries is absolutely key. Dimitriev lays out the practicalities of what he nicely labels Language Oriented Programming (LOP). (I’ve said that I would die happy if there were no more “-Oriented Programming”s, but it’s better than the current fad of “-Driven Programming.”) This paper and JetBrains’ “Meta-Programming System” (MPS) are echoing what happened with refactoring: there was an emerging theoretical and evangelical consensus, JetBrains (then IntelliJ) produced a product that, while perhaps having implementation warts, was half-a-decade ahead of the industry. I am fully convinced that this is the future of vertical-industry software development.