Nowadays, Bosque (programming language) is a relevant topic that has captured the attention of many people around the world. Whether due to its impact on society, its relevance in the economic sphere or its implications in everyday life, Bosque (programming language) has proven to be a topic worthy of analysis and reflection. As time progresses, Bosque (programming language) continues to generate debate and controversy, leading us to explore its many facets and delve deeper into its meaning and repercussions. In this article, we are going to take a closer look at Bosque (programming language) and understand its importance in today's world.
![]() | |
Paradigm | Multi-paradigm: functional, typed language |
---|---|
Designed by | Mark Marron |
Developer | Microsoft |
First appeared | March 3, 2019[1] |
License | MIT License |
Filename extensions | .bsq[2] |
Website | www |
Influenced by | |
JavaScript, TypeScript, ML |
Bosque is a free and open-source programming language designed & developed by Microsoft that was inspired by the syntax and types of TypeScript and the semantics of ML and Node/JavaScript.[3][4] Design goals for the language include better software quality and improved developer productivity.[5][6]
Bosque was designed by Microsoft Research computer scientist Mark Marron,[7] who describes the language as an effort to move beyond the structured programming model that became popular in the 1970s.[3][8]
The structured programming paradigm, in which flow control is managed with loops, conditionals, and subroutines, became popular after a 1968 paper titled "Go To Statement Considered Harmful" by computer scientist Edsger Dijkstra. Marron believes we can do better by getting rid of sources of complexity like loops, mutable state, and reference equality. The result is Bosque, which represents a programming paradigm that Marron, in a paper he wrote, calls "regularized programming."
The Bosque specification, parser, type checker, reference interpreter, and IDE support are licensed under MIT License and available on GitHub.[9]
function add2(x: Int, y: Int): Int { return x + y; } add2(2, 3) // 5 add2(x=2, y=3) // 5 add2(y=2, 5) // 7