Drew Angerer/Getty Images
show image

GlobalData Technology

Providing actionable insight into the technology industry

What does Microsoft’s new programming language mean for the future of coding?

Microsoft’s new Bosque programming language may never rival top tier options like Python or JavaScript. It might even fail miserably as an active language. But if that failure improves the state of software development, Bosque will have succeeded admirably.

Microsoft has introduced a brand new programming language with grand ambitions. Released as an open-source project under the MIT license, Microsoft Bosque intends to overthrow a number of long-held development paradigms with the aim of improving developer productivity and setting the stage for what the vendor calls a “second golden age” of software development.

Heavily influenced by the omnipresent JavaScript language, Microsoft’s own creation, TypeScript, and even emerging development ideas surround machine learning (ML), Bosque emphasises productivity and quality by streamlining core development ideas. Most notably, the language does away with the idea of loops, which are famous for their ability to define useful recursive ideas such as “do something so long as something else persists”.

The problem with looping structures like this, however, is that they can introduce a great deal of complexity for both those who maintain a piece of code and the compiler responsible for turning that code into an executable application, particularly when multiple loops are nested within one another.

Inter-dependencies between nested loops can, for example, make it particularly difficult for developers to root out the cause of an error when that error spans multiple “for” loops in the code.

Enter Bosque, which completely does away with ideas like loops in order to eradicate what Bosque’s creator, Mark Marron, calls “accidental complexity”. The idea is straightforward: break down the requirement that software code reflects the needs of the underlying hardware and replace those notions with something that more closely matches the intent of the developer.

For Marron, this notion of intent is vitally important as it elevates what the software does over what it runs on, thereby evolving beyond the constraints of structured programming that have dominated software for the past four decades. For Marron, Bosque doesn’t simply do away with structured programming; rather, it functions as structured programming version 2.0, preserving what works well in languages like C++, Java, JavaScript and Python among others. while doing away with sources of complexity like looping codes structures.

And yet, Bosque remains just one more programming language in a growing sea of languages. Worse, it’s not really a true language at this time. Borrowing heavily from JavaScript and implemented on top of Microsoft’s own TypeScript, Bosque is nothing more than a core language design at this point. That is, it’s meant to drive conversation, not keyboards.

For that reason, and because there are still a number of unanswered questions surrounding the value of Bosque’s more severe ideals (e.g. doing away with looping structures), it is highly unlikely that it will on its own meet the author’s stated objective of enabling “a second golden age of developments in compilers and developer tooling” now or in the near future.

Nevertheless, Bosque is critically important because it opens up a dialogue, a conversation surrounding the need for programmers to build software according to intent, not in accordance with outdated notions invented back when software and hardware were not very far removed from one another.

If Bosque does nothing but influence current and future languages by calling into question what are quite simply blindly held beliefs, replacing those with something unproven but potentially compelling, then it will have succeeded. It will have moved the needle in the direction of improvement of innovation.

This feature initially appeared on Verdict, which is part of the same group as NS Tech and GlobalData