Language Oriented Programming.

Via Andres Aguiar I stumbled into one of the most insightful articles I've read in the last couple of months: Language Oriented Programming, The Next Programming Paradigm, written by Sergey Dmitriev of Jetbrains.

All I can say is: read it. Again and again and again. It brilliantly describes one of the biggest problems of today's software engineering: that there is no (or at most weak) connection between what we're intented to develop and what's actually developed; you need to reverse engineer the code written to understand which functionality it represents, while it should be that what you intended (i.e. the functional description of what you want to develop, the concept) is projected onto the programming language in such a way that it is as close to a 1:1 projection as possible, so you can find back implementations of pieces of functionality fast and easy and also that you can find back the theoretical base for a piece of code in the functional description fast and easy.

It will be a long road, but as long as enough developers be convinced of the fact that solving this problem is the only way to reach the ultimate goal: having 100% reliable, bugfree and maintainable software, large software vendors like Microsoft will perhaps begin developing the required tools to make this step forward.

1 Comment

  • Reading this article, I couldn't help but think of CodeSmith and other code generation utilities.



    Essentially, all you need is a mapper between a DSL and a generic language like C#. Isn't this what CodeSmith does already by allowing users to define a template to map a DSL (say a SQL Server database schema) into code?



    I'll have to read the second part too to make a better judgement. But from the first part, it doesn't seem like it's necessarily anything revolutionary.

Comments have been disabled for this content.