What is Bosque, a new programming language from Microsoft?

The history of programming languages ​​can be presented as intersecting trends. One of them is the ever-increasing abstraction of data structures - so the programmer does not have to worry about, for example, how data is represented at the hardware level.

The second of these trends is, in turn, a growing possibility of representing business logic and modeling real phenomena. It is thanks to this second trend that we have, inter alia, object-oriented programming, but also ... machine learning .

Working for Microsoft, Marc Marron designed and proposed in his article Regularized Programming with the BOSQUE Language the next step in the development of programming languages. This is a reflection of both trends, which I mentioned: Marron decided to get rid of basic structures such as loops or iterations. Why? He believes that they are the cause of unexpected problems and the programmer's unpredictable behavior of written programs.

Marron designing Bosque (which is somewhat inspired by TypeScript), pointed to several other sources of problematicity, including mutability of objects (the ability to change their features without creating a new one), non-deterministic behavior and ... comparisons of reference types, something to which any programmer was used.

Bosque does not follow the typical conventions that most programming languages ​​represent. However, a look at the example code placed on GitHub shows that a programmer who is familiar with Lambda expressions, can deal with functors that have replaced ordinary loops, without any problem. This is the basis for the possible adoption of a new language: it must look like a programmer learning it will immediately understand the constructions created there.

How do you check out Bosque yourself?

Bosque does not exist only in theory. We also created an interpreter that we can install with the installed npm package manager. We find it after cloning the language repository from GitHub. It allows you to run simple programs written in this language from the command line. There is also an extension for the Visual Studio Code, synthesizing the syntax and calling the interpreter.

After cloning the repository, we go to the ref_impl directory and call:

npm install && npm run - script build && npm test

The interpreter should build and trigger a series of tests:

The src/test directory contains sample applications that can be run using the next script:

node bin/test/app_runner.js src/test/apps/tictactoe/main.bsq

And after a while, we can observe the result of the application written in Bosque:

What's next?

The implementation is not yet complete - some of the elements proposed in the Marron article are still missing. However, probably due to placing sources on GitHub, the language will grow and soon we will probably see additional tools that allow you to write some applications in that language. Of course, it is difficult to predict what the reaction from programmers will be - however, the practice teaches us that every language finds its supporters and its niche.



What is Bosque, a new programming language from Microsoft?

Comments

Popular posts from this blog

What is VoLTE and how can you activate it on your Xiaomi

So you can check the battery status of your Xiaomi smartphone and how many cycles you have performed

How to exit the FASTBOOT mode of your Xiaomi if you have entered accidentally

Does your Xiaomi charge slowly or intermittently? So you can fix it

Problems with Android Auto and your Xiaomi? So you can fix it

If your Xiaomi disconnects only from the WiFi it may be because of that MIUI setting

How to change the font in MIUI and thus further customize your Xiaomi: so you can change the type, color and size of the letters of MIUI

What is the Safe Mode of your Xiaomi, what is it for and how can you activate it

Improve and amplify the volume of your Xiaomi and / or headphones with these simple adjustments

How to activate the second space if your Xiaomi does not have this option