Book Image

Learn Bosque Programming

By : Sebastian Kaczmarek, Joel Ibaceta
Book Image

Learn Bosque Programming

By: Sebastian Kaczmarek, Joel Ibaceta

Overview of this book

Bosque is a new high-level programming language inspired by the impact of structured programming in the 1970s. It adopts the TypeScript syntax and ML semantics and is designed for writing code that is easy to reason about for humans and machines. With this book, you'll understand how Bosque supports high productivity and cloud-first development by removing sources of accidental complexity and introducing novel features. This short book covers all the language features that you need to know to work with Bosque programming. You'll learn about basic data types, variables, functions, operators, statements, and expressions in Bosque and become familiar with advanced features such as typed strings, bulk algebraic data operations, namespace declarations, and concept and entity declarations. This Bosque book provides a complete language reference for learning to program with Bosque and understanding the regularized programming paradigm. You'll also explore real-world examples that will help you to reinforce the knowledge you've acquired. Additionally, you'll discover more advanced topics such as the Bosque project structure and contributing to the project. By the end of this book, you'll have learned how to configure the Bosque environment and build better and reliable software with this exciting new open-source language.
Table of Contents (22 chapters)
1
Section 1: Introduction
5
Section 2: The Bosque Language Overview
10
Section 3: Practicing Bosque
15
Section 4: Exploring Advanced Features

How the experiment is going so far

Bosque was born from an investigation paper based on the idea of questioning the causes of accidental complexity and proposing a solution that tries to eliminate this from the design of a new language. This paper exposed an interesting setting about how we could improve productivity, have clearer, more legible code, and, in turn, have a smaller margin for committing errors during the development process – all of which can be done by eliminating the causes of complexity.

Later, the language was published as an open source project on GitHub, ready to receive support and community contributions. During this stage, Bosque ceased to be a prototype or experimental language for starting a roadmap to complete its development. It did this by implementing many of the basic characteristics, which turned it into a language for developing applications. However, at the time of writing this book, version 1.0 has not been released yet.

In this process, elements such as commentaries, core libraries, and tools were added that simplify the curve of its adoption by new developers. A series of characteristics were also added for its possible applications. If we're ready to sacrifice things that haven't been implemented yet to adopt regularized programming and to start to change our ways of thinking and solving problems, Bosque is a good choice.

What next?

According to the imminent implementations roadmap that should pop up in the next few months, the following will be coming next:

  • Memoization and singleton pragmas
  • Module/package support
  • Improvements to the core collection libraries
  • Earlier microframeworks, to simplify the development and adoption process
  • N-API native modules so that we can use Bosque via Node.js
  • Integration with the Morphir Project
  • Multiple file compilation

Let's look at some cases where regularized programming and the Bosque approach might be more suitable than other languages.