# Janet

> programming language

**Wikidata**: [Q116813879](https://www.wikidata.org/wiki/Q116813879)  
**Source**: https://4ort.xyz/entity/janet-q116813879

## Summary
Janet is a dynamically typed programming language with a bytecode virtual machine, designed for simplicity, performance, and embeddability. Released under the MIT License, it targets scripting, game development, and embedded systems with a C-based core for efficiency.

## Key Facts
- **First Release**: Version 0.1.0 launched on December 9, 2018.  
- **License**: MIT License (permissive open-source).  
- **Repository**: Hosted at https://github.com/janet-lang/janet.  
- **Official Website**: https://janet-lang.org/.  
- **Version Progression**: Reached 1.2.0 by August 9, 2019, with 11 documented releases.  
- **Embeddable Engine**: Implemented in C for lightweight integration.  
- **File Format**: Uses native ".janet" files (readable/writable).  
- **Package Management**: Available via MacPorts under the port "janet".  

## FAQs  
### Q: When was Janet first released?  
A: The initial release (0.1.0) occurred on December 9, 2018.  

### Q: What makes Janet unique among dynamic languages?  
A: It combines a bytecode VM for speed with functional programming features, all in a C-based core for embeddability.  

### Q: Is Janet suitable for game development?  
A: Yes, its lightweight design and bytecode compilation optimize for performance in game scripting.  

### Q: Can Janet be compiled for embedded systems?  
A: Yes, its embeddable C engine allows integration into low-memory environments.  

## Why It Matters  
Janet addresses the need for a lightweight, high-performance scripting language that bridges efficiency and simplicity. Its MIT license fosters community-driven development, while the C-based bytecode virtual machine enables portability across platforms. By emphasizing functional paradigms without sacrificing speed, it provides an alternative to heavier runtimes like Python or Lua, particularly in constrained environments like game engines or IoT devices.  

## Notable For  
- **Bytecode VM Execution**: Compile-time bytecode for optimized runtime performance.  
- **Minimal Core**: C-based implementation reduces resource overhead.  
- **Functional Design**: Built-in support for immutability and higher-order functions.  
- **Embeddability**: Engine integrates seamlessly into C/C++ projects.  
- **Active Releases**: Consistent updates within the first year (2018–2019).  

## Body  
### Development History  
- Created by the janet-lang project, with source code hosted on GitHub.  
- Initial release (0.1.0) published on December 9, 2018.  
- Reached version 1.2.0 by August 9, 2019, maintaining rapid iteration.  

### Technical Architecture  
- **License**: Fully open-source under MIT terms.  
- **Virtual Machine**: Executes compiled bytecode for cross-platform consistency.  
- **Language Paradigms**: Dynamically typed with functional capabilities.  
- **Interoperability**: Engine embeddable in C/C++ applications.  

### Distribution and Accessibility  
- **Official Platform**: Website at janet-lang.org.  
- **Repository**: GitHub (github.com/janet-lang/janet).  
- **Package Management**: Installable via MacPorts (`port install janet`).  
- **File Handling**: Native ".janet" files for both source and bytecode.

## References

1. [Release 0.1.0. 2018](https://github.com/janet-lang/janet/releases/tag/0.1.0)
2. [Release 0.2.0. 2018](https://github.com/janet-lang/janet/releases/tag/0.2.0)
3. [Release 0.3.0. 2019](https://github.com/janet-lang/janet/releases/tag/0.3.0)
4. [Release 0.4.0. 2019](https://github.com/janet-lang/janet/releases/tag/v0.4.0)
5. [Release 0.4.1. 2019](https://github.com/janet-lang/janet/releases/tag/v0.4.1)
6. [Release 0.5.0. 2019](https://github.com/janet-lang/janet/releases/tag/v0.5.0)
7. [Release 0.6.0. 2019](https://github.com/janet-lang/janet/releases/tag/v0.6.0)
8. [Release 1.0.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.0.0)
9. [Release 1.1.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.1.0)
10. [Release 1.2.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.2.0)
11. [Release 1.3.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.3.0)
12. [Release 1.3.1. 2019](https://github.com/janet-lang/janet/releases/tag/v1.3.1)
13. [Release 1.4.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.4.0)
14. [Release 1.5.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.5.0)
15. [Release 1.5.1. 2019](https://github.com/janet-lang/janet/releases/tag/v1.5.1)
16. [Release 1.6.0. 2019](https://github.com/janet-lang/janet/releases/tag/v1.6.0)
17. [Release 1.7.0. 2020](https://github.com/janet-lang/janet/releases/tag/v1.7.0)
18. [Release 1.8.0. 2020](https://github.com/janet-lang/janet/releases/tag/v1.8.0)
19. [Release 1.8.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.8.1)
20. [Release 1.9.0. 2020](https://github.com/janet-lang/janet/releases/tag/v1.9.0)
21. [Release 1.9.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.9.1)
22. [Release 1.10.0. 2020](https://github.com/janet-lang/janet/releases/tag/v1.10.0)
23. [Release 1.10.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.10.1)
24. [Release 1.11.0. 2020](https://github.com/janet-lang/janet/releases/tag/v1.11.0)
25. [Release 1.11.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.11.1)
26. [Release 1.11.3. 2020](https://github.com/janet-lang/janet/releases/tag/v1.11.3)
27. [Release 1.12.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.12.1)
28. [Release 1.12.2. 2020](https://github.com/janet-lang/janet/releases/tag/v1.12.2)
29. [Release 1.13.1. 2020](https://github.com/janet-lang/janet/releases/tag/v1.13.1)
30. [Release 1.14.1. 2021](https://github.com/janet-lang/janet/releases/tag/v1.14.1)
31. [Release 1.14.2. 2021](https://github.com/janet-lang/janet/releases/tag/v1.14.2)
32. [Release 1.15.0. 2021](https://github.com/janet-lang/janet/releases/tag/v1.15.0)
33. [Release 1.15.2. 2021](https://github.com/janet-lang/janet/releases/tag/v1.15.2)
34. [Release 1.15.3. 2021](https://github.com/janet-lang/janet/releases/tag/v1.15.3)
35. [Release 1.15.4. 2021](https://github.com/janet-lang/janet/releases/tag/v1.15.4)
36. [Release 1.15.5. 2021](https://github.com/janet-lang/janet/releases/tag/v1.15.5)
37. [Release 1.16.0. 2021](https://github.com/janet-lang/janet/releases/tag/v1.16.0)
38. [Release 1.16.1. 2021](https://github.com/janet-lang/janet/releases/tag/v1.16.1)
39. [Release 1.17.0. 2021](https://github.com/janet-lang/janet/releases/tag/v1.17.0)
40. [Release 1.17.1. 2021](https://github.com/janet-lang/janet/releases/tag/v1.17.1)
41. [Release 1.17.2. 2021](https://github.com/janet-lang/janet/releases/tag/v1.17.2)
42. [Release 1.18.0. 2021](https://github.com/janet-lang/janet/releases/tag/v1.18.0)
43. [Release 1.18.1. 2021](https://github.com/janet-lang/janet/releases/tag/v1.18.1)
44. [Release 1.19.0. 2021](https://github.com/janet-lang/janet/releases/tag/v1.19.0)
45. [Release 1.19.1. 2021](https://github.com/janet-lang/janet/releases/tag/v1.19.1)
46. [Release 1.19.2. 2021](https://github.com/janet-lang/janet/releases/tag/v1.19.2)
47. [Release 1.20.0. 2022](https://github.com/janet-lang/janet/releases/tag/v1.20.0)
48. [Release 1.21.0. 2022](https://github.com/janet-lang/janet/releases/tag/v1.21.0)
49. [Release 1.21.1. 2022](https://github.com/janet-lang/janet/releases/tag/v1.21.1)
50. [Release 1.21.2. 2022](https://github.com/janet-lang/janet/releases/tag/v1.21.2)