Microsoft has launched a new open-source programming language, Bosque, which is designed to eliminate as much complexity as possible. However, given the early stage of the project, Microsoft isn’t recommending Bosque for any production work.
According to Bosque’s GitHub repository, there is “limited support for compilation/development and no support for packaging, deployment, lifecycle management, etc.”
But if you want to experiment with a language billed as a way “to avoid accidental complexity in the development and coding process,” Bosque may prove worth your time. On a “pure code’ level, there’s a focus on eliminating any unintentional side effects and under-specified behaviors, which includes no ‘do while,’ ‘while,’ or ‘for’ loops. You can read the paper breaking down the language’s parameters in exhaustive detail on Microsoft’s website (PDF).
Mark Marron, the principal research software development engineer (RSDE) at Microsoft Research who created the language (and wrote the paper), hopes that Bosque will lead to the rise of what he calls a “regularized programming model.” This “regularized” model, in the words of the paper, “eliminates major sources of errors, simplifies code understanding and modification, and converts many automated reasoning tasks over code into trivial propositions.” In other words, Bosque dangles the tantalizing prospect of less complexity and uncertainty in programming.
It’s far too soon to tell, of course, if “regularized” programming has any hope of eclipsing “structured” programming, the paradigm that’s governed software development for the past several decades. “Structured” programming focuses on code clarity, quality, and speed of development, paired with a heavy emphasis on constructs such as ‘if,’ ‘then,’ ‘else,’ and repetition (hello, ‘while’ and ‘for’!). Although “regularized” programming has the same ultimate goal, its approach puts it at odds with “structured” programming’s focus on repetition and (in the constructs context) recursion.
Bosque (and “regularized” programming as a whole) might also represent an attempt to preemptively corral artificial intelligence (A.I.) and machine learning (ML). A programming paradigm that eliminates ambiguity, errors, and systems spinning out of control is ideal for building ML platforms that remain safely “within the guardrails.” If you restrict things like iteration, there’s less of a chance that your fancy new chatbot will riff on a dataset until it begins spewing either nonsense or something actively harmful (Hi, Tay!).
There’s also every chance that Bosque could evolve into a more conventional programming language. As Dice editor Nate Swanner joked about a potential headline five years from now: “Bosque 7.2 Release Adds Loops.”