How do I get into language-oriented programming? (And what is that, anyway?)



Racket’s more than just a batteries-included Lisp. It’s about solving problems by making languages. Language-oriented programming is the name of the game. The idea has an immediate intuitive appeal. Perhaps it’s what drove you to Racket in the first place. And if it wasn’t, chances are good, if you stick around the community for a while, that you’ll find yourself thinking about languages.

But what are we talking about when we talk about “language-oriented programming”?

The term has a variety of meanings

Looking around the Racket community & among its fellow travelers, one finds that “make your own language” has a variety of senses. Although some common ideas can be common, they get expressed in different ways. At times, one wonders: are we all talking about the same thing?

To help foster the growth of language-oriented programming in general—and Racket in particular as the best environment for solving problems in that way—it’s important that we understand the diversity of meanings of “language-oriented programming” and kindred expressions.

So who can say what it means?

A good place to help develop an understanding of language-oriented programming is the Racket community itself, and especially its principal drivers.

Language-oriented Programming with Racket: A Cultural Anthropology is an ebook that contains the result of a survey of 38 active Racket programmers about what “make your own language” means to them.

Who, exactly?

These 38 Racket programmers:

Foreword by Martin Ward, who coined the term "language-oriented programming" back in 1994 (!)