# BQN

> array-oriented programming language

**Wikidata**: [Q124804711](https://www.wikidata.org/wiki/Q124804711)  
**Source**: https://4ort.xyz/entity/bqn

## Summary
BQN is a cross-platform, array-oriented programming language created in 2020. Designed under the array programming paradigm, it is influenced by the languages APL and J. It is open-source software released under the ISC license.

## Key Facts
- **Inception:** 2020
- **Paradigm:** Array programming
- **Platform:** Cross-platform
- **License:** ISC license
- **File Extension:** .bqn
- **Influenced By:** APL, J
- **Copyright Status:** Copyrighted
- **Source Repository:** https://github.com/mlochbaum/BQN
- **Official Website:** https://mlochbaum.github.io/BQN/index.html

## FAQs
### Q: What type of programming language is BQN?
A: BQN is an array-oriented programming language, a paradigm that involves operations on organized sets of data.

### Q: Which programming languages influenced BQN?
A: BQN was influenced by APL and J, both of which are prominent languages in the array programming field.

### Q: Is BQN free to use?
A: Yes, BQN is released under the ISC license, which is a permissive open-source license.

### Q: Where can the source code for BQN be found?
A: The source code is hosted on GitHub at https://github.com/mlochbaum/BQN.

## Why It Matters
BQN serves as a modern evolution in the lineage of array programming languages, specifically drawing from the foundations laid by APL and J. While many programming languages focus on scalar operations (processing one piece of data at a time), BQN emphasizes array-oriented thinking, allowing developers to manipulate large datasets and complex mathematical structures concisely. Its creation in 2020 represents a contemporary effort to refine the syntax and capabilities of array paradigms, making these powerful computational techniques accessible on modern cross-platform systems. By utilizing the ISC license, it ensures that the tool remains open and modifiable for the developer community, fostering potential adoption in academic and hobbyist environments interested in functional and array-driven logic.

## Notable For
- **Modern Array Paradigm:** Being a distinct, modern entry (2020) in the niche field of array programming.
- **APL/J Lineage:** Explicitly citing APL and J as influences, grounding it in the history of mathematical notation in programming.
- **Cross-Platform Availability:** Functioning across different operating systems without restriction.
- **Permissive Licensing:** Utilizing the ISC license, known for its simplicity and minimal restrictions.

## Body
### Overview and Classification
BQN is classified as an array-oriented programming language. It was developed to facilitate the manipulation of arrays as primary data structures without the need for explicit loops, a hallmark of the array programming paradigm.

### History and Development
The language was inceptioned in 2020. It identifies itself as a distinct entity within the software landscape while acknowledging its roots. BQN is categorized as "copyrighted" software, though it is freely available for use and distribution under its specific licensing terms.

### Technical Specifications
BQN is designed to function on a cross-platform basis, ensuring compatibility across various operating systems. Technical identifiers include:
- **File Extension:** Source files utilize the extension `.bqn`.
- **Repository:** The source code and version history are maintained publicly on GitHub.

### Influences
The design philosophy and syntax of BQN are directly influenced by two specific predecessor languages:
1.  **APL:** A language famous for its concise syntax and use of special graphic characters.
2.  **J:** A high-level, general-purpose programming language that followed APL and continued the development of array programming concepts.

These influences are cited in the language's documentation and commentary regarding its creation.

## References

1. [Source](https://mlochbaum.github.io/BQN/commentary/why.html)