Josh Fruhlinger
Contributing Writer

Polyglottism and its discontents

how-to
Sep 22, 20092 mins

With Google jumping on board the polyglottism bandwagon, surely this is an idea that’s arrived, right? The overlapping sets of ideas behind polyglottism — with multiple languages running on the JVM, or domain-specific languages, or even hybrids like Java-based frameworks for languages like PHP, suddenly seem to be everywhere, with a flowering of language creativity that promises new flexibility to developers.

Does this remind you of any particular historical moment? Computer programers tend to be young and to stare at you blankly when you say things like “historical moment”; therefore, you whippersnappers who don’t remember the dot-com boom of the late ’90s ought to read Sean Magrath’s musing on the subject, in which he compares the current flowering of DSLs to the mostly vapor promises made by proponents of XML at the turn of the century. I was there for all that, but he pushes even further back in history to LISP to show that there’s nothing new under the sun — and ask why things will turn out differently this time around.

Over at Javalobby, Alex Ruiz offers a somewhat more concrete critique of the practice, listing a number of potential polyglottism pitfalls. The ones that resonate most with me are the potential problems for maintainability — not only will linking chunks of disparate languages together make spaghetti code more likely, but will your replacement be able to maintain the obscure DSL with which you built your company’s core application?

What’s your experience with polyglottism? Is it a godsend, all hype, or a disaster lurking?