Short description: Programming language
Bosque |
| Paradigm | Multi-paradigm: functional, typed language |
|---|
| Designed by | Mark Marron |
|---|
| Developer | Microsoft |
|---|
| First appeared | March 3, 2019; 5 years ago (2019-03-03)[1] |
|---|
| License | MIT License |
|---|
| Filename extensions | .bsq[2] |
|---|
| Website | www.microsoft.com/en-us/research/project/bosque-programming-language/ |
|---|
| 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]
Overview
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]
Examples
Add two numbers
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
See also
- Dafny
- F* (programming language)
- Free software movement
References
- ↑ "BosqueLanguage". Microsoft. March 3, 2019. https://github.com/Microsoft/BosqueLanguage.
- ↑ Using Bosque - Bosque Programming Language[|permanent dead link|dead link}}]
- ↑ 3.0 3.1 Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript
- ↑ Bosque is Microsoft's new open source, TypeScript-inspired programming language
- ↑ Microsoft aims for simplicity with Bosque programming language
- ↑ Microsoft’s New Programming Language ‘Bosque’ Keeps Your Code Simple
- ↑ Microsoft’s Bosque Language Wants to Change Programming Forever
- ↑ Microsoft Introduces Bosque, a Programming Language for Writing Easy-to-Reason-about Code
- ↑ "Bosque Programming Language". May 7, 2022. https://github.com/Microsoft/BosqueLanguage.
Further reading
- Mark Marron (2019). "Regularized Programming with the BOSQUE Language". Microsoft Research. https://www.microsoft.com/en-us/research/uploads/prod/2019/04/beyond_structured_report_v2.pdf.
- Learn Bosque Programming: Discover the world's first regularized programming language.. Packt Publishing. 2021. ISBN 978-1839211973.
External links
- Bosque Programming Language - Microsoft Research
- GitHub - microsoft/BosqueLanguage: The Bosque programming language is an experiment in regularized design for a machine assisted rapid and reliable software development lifecycle.
Programming languages |
|---|
- Comparison
- Timeline
- History
|
- APL
- Assembly
- BASIC
- C
- C++
- C#
- COBOL
- Elixir
- Fortran
- Go
- Groovy
- Haskell
- Java
- JavaScript (JS)
- Julia
- Kotlin
- Lisp
- Lua
- MATLAB
- Objective-C
- OCaml
- Pascal
- Perl
- PHP
- Python
- R
- Ruby
- Rust
- Scala
- Shell
- Smalltalk
- Swift
- TypeScript
- Visual Basic .NET (VB.NET)
- more...
|
Category
Lists
- Alphabetical
- Categorical
- Generational
- Non-English-based
|
Microsoft free and open-source software (FOSS) |
|---|
| Overview |
- Microsoft and open source
- Shared Source Initiative
|
|---|
| Software | | Applications |
- Atom
- Conference XP
- File Manager
- Open Live Writer
- PowerToys for Windows 10
- Windows Calculator
- Windows Console
- Windows Terminal
- WorldWide Telescope
- XML Notepad
|
|---|
| Video games | |
|---|
| Programming languages |
- Bosque
- C#
- Dafny
- F#
- F*
- IronPython
- IronRuby
- P
- PowerShell
- Q#
- R Open
- Small Basic
- TypeScript
- Visual Basic .NET
|
|---|
Frameworks and development tools |
- .NET Bio
- .NET Core
- .NET Framework
- .NET Micro Framework
- AirSim
- ASP.NET
- ASP.NET AJAX
- ASP.NET Core
- ASP.NET MVC
- ASP.NET Razor
- ASP.NET Web Forms
- Blazor
- C++/WinRT
- ChakraCore
- CLR Profiler
- DiskSpd
- Dryad
- Electron
- Entity Framework
- Managed Extensibility Framework
- Microsoft Automatic Graph Layout
- Microsoft Cognitive Toolkit
- Microsoft Detours
- ML.NET
- Mono
- MonoDevelop
- MSBuild
- NuGet
- Open Management Infrastructure
- Orleans
- ProcDump
- R Tools for Visual Studio
- Roslyn
- Sandcastle
- SignalR
- StyleCop
- SVNBridge
- T2 Temporal Prover
- Text Template Transformation Toolkit
- vcpkg
- Virtual File System for Git
- Visual Studio Code
- Windows Communication Foundation
- Windows Driver Frameworks
- Windows Forms
- Windows Presentation Foundation
- Windows Template Library
- WinJS
- WiX
- Z3 Theorem Prover
|
|---|
| Operating systems | |
|---|
|
|---|
| Licenses |
- Microsoft Public License
- Microsoft Reciprocal License
|
|---|
| Related |
- .NET Foundation
- F Sharp Software Foundation
- Microsoft Open Specification Promise
- Outercurve Foundation
|
|---|
 Category |
Microsoft development tools |
|---|
Development environments | | Visual Studio |
- Code
- Azure DevOps
- Express
- Team System Profiler
- Test Professional
- Tools for Applications
- Tools for Office
|
|---|
| Others |
- .NET Compiler Platform
- App Studio
- Blend
- Expression Web
- GW-BASIC
- Microsoft Pascal
- MSBuild
- Robotics Developer Studio
- SharePoint Designer
- PowerShell ISE
- QuickBASIC
- QuickC
- Small Basic
- WebMatrix
- Windows SDK
- CLR Profiler
- ILAsm
- Native Image Generator
- XAMLPad
|
|---|
|
|---|
| Languages |
- Microsoft Basic
- Visual Basic
- Visual Basic .NET
- Visual C++
- C++/CX
- C++/CLI
- Managed C++
- C#
- Dafny
- F#
- F*
- J#
- J++
- Visual FoxPro
- IronPython
- IronRuby
- JScript
- PowerShell
- Q#
- Small Basic
- TypeScript
- VBA
- VBScript
- XAML
|
|---|
Major APIs and frameworks (see all) |
- Windows API
- Silverlight
- XNA
- DirectX
- Xbox Development Kit
- Windows Installer
| | .NET Framework |
- ASP.NET
- Core
- AJAX
- Dynamic Data
- MVC
- Razor
- Web Forms
- ADO.NET
- CardSpace
- Communication Foundation
- Identity Foundation
- LINQ
- Presentation Foundation
- Workflow Foundation
|
|---|
| Device drivers | |
|---|
|
|---|
| Database | | SQL Server |
- Express
- Compact
- Management Studio
- Business Intelligence Development Studio
- MSDE
|
|---|
| SQL services |
- Analysis
- Reporting
- Integration
- Notification
|
|---|
| Other |
- Visual FoxPro
- Microsoft Access
- Jet Engine
- Extensible Storage Engine
|
|---|
|
|---|
| Source control |
- Visual SourceSafe
- Team Foundation Version Control
|
|---|
| Delivery |
- Active Setup
- ClickOnce
- NuGet
- vcpkg
- Web Platform
- Windows Installer
- Microsoft Store
|
|---|
Microsoft Research (MSR) |
|---|
Main projects | | Languages and compilers |
- Polyphonic C#
- Cω
- Spec#
- Sing#
- Bartok
- F*
- Phoenix
|
|---|
| Distributed/grid computing |
- Bigtop
- Gridline
- BitVault
- Orleans
|
|---|
| Internet and networking |
- AjaxView
- Avalanche
- Conference XP
- Gazelle
- HoneyMonkey
- Penny Black
- Wallop
|
|---|
| Other projects |
- Cognitive Toolkit
- IllumiRoom
- Image Composite Editor
- MyLifeBits
- LiveStation
- SLAM
- Terminator
- WorldWide Telescope
- PhotoDNA
- Z3 Theorem Prover
|
|---|
| Operating systems |
- Barrelfish
- HomeOS
- Midori
- Singularity
- Verve
|
|---|
| APIs |
- Joins
- Accelerator
- Dryad
- SXM
|
|---|
| Launched as products |
- C#
- Comic Chat
- Detours
- F#
- Sideshow
- PixelSense (TouchLight)
- SenseCam
- ClearType
- Group Shot
- Allegiance
- TrueSkill
- Songsmith
- Xbox
|
|---|
|
|---|
MSR Labs applied research | | Live Labs | | Current | |
|---|
| Discontinued |
- Deepfish
- Listas
- Live Clipboard
- Photosynth
- Volta
|
|---|
|
|---|
| FUSE Labs |
- Bing Twitter
- Docs.com
- Kodu
|
|---|
| Other labs |
- Academic Search
- adCenter Labs
- Office Labs
|
|---|
|
|---|