This language is designed to improve developer productivity and software quality with a range of new compilers and tool experiences
The main purpose behind Bosque is to build a functional programming language which will help the programmers to move beyond the paradigm of the structured programming.
“The Bosque programming language is designed for writing code that is simple, obvious, and easy to reason about for both humans and machines,” said computer scientist Mark Marron, the developer of Bosque.
“The key design features of the language provide ways to avoid accidental complexity in the development and coding process. The goal is improved developer productivity, increased software quality, and enabling a range of new compilers and developer tooling experiences,” he added.
Some important features of Bosque
- Functional programming is combined with block scopes and braces by allowing multiple assignments to updatable variables.
- Lambda constructors merge code definition for the body with a variable copy semantics for closure captured variables on lambda creation.
- Functions are first-class values and types.
- All values are immutable. This makes the understanding of the effect of statement or block of code is simplified when it is side-effect free.
- Typed strings provide a way to lift known structure about the contents of a string into a meaningful type.
- You can thread the parameters through passing ref argument. This will simplify the situations where a variable is passed to a method that may use and update it.
- Algebraic operations are available for data types, tuples, records, and nominal types and also for operations that include projection, multi-update and merge. Bulk algebraic data operations begin with bulk reads and data values updates in Bosque.
- Bosque comes with first-class support for expressing a range of invariants, diagnostic assertions, and sanity checks.
Bosque is in the development stage and experts don’t recommend using it for any kind of production work. However, it is open for experiment.
(With inputs from Technotification)