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

Bosque applications

As we know, we can try to build a house with Lego, but this could be a much more difficult task than doing so with bricks, iron, and mortar. Although we can do something with different tools, some are more appropriate than others. That is why the following question always arises when we explore a new programming language: What are the applications where this language would be more appropriate over others that I already know about? We will try to answer this question by cover a few scenarios, although this does not imply that these are the only things we can do with Bosque.

Cloud-first development

One of the main challenges of new, trending technologies such as serverless applications, microservices architecture, and IoT is reaching interoperability with a minimum computational cost. Nowadays, we must deal with serializing and deserializing messages or the slow response times of cold services starting up.

Bosque includes features such as API types to simplify the development of APIs. Its initialization design allows a zero-cost load for cold startups, in addition to characteristics such as immutability and its deterministic nature, which will enable us to build high-performance and resilient applications for cloud environments.

Automatic verification

One of the advantages of a programming language that allows you to implement models based on formal reasoning is that this can be analyzed by tools that allow us to identify and eliminate errors through verification and validation processes. This improves the reliability of the execution's results. Some of the application settings could be as follows:

  • Cryptographical protocols
  • Implementation of finite state machines
  • A network's mathematical models

Synthesis programming

The deterministic nature of Bosque makes it an ideal candidate for the application of AI for code synthesis from formal specifications. This has been an existing challenge since the first days of AI as a study branch, so this synergy could be fascinating.