# Crystal

> programming language

**Wikidata**: [Q21921428](https://www.wikidata.org/wiki/Q21921428)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Crystal_(programming_language))  
**Source**: https://4ort.xyz/entity/crystal

## Summary
Crystal is a programming language. It is classified as both a programming language and an object-based language, and it was created by Ary Borenzweig. Crystal is open-source under the Apache License 2.0 and is associated with the official website crystal-lang.org.

## Key Facts
- Crystal is a programming language (instance of: programming language).
- Crystal is also classified as an object-based language (instance of: object-based language).
- Crystal was created by Ary Borenzweig (developer/author).
- Crystal’s inception is recorded as 2014.
- Crystal is licensed under the Apache Software License 2.0.
- Crystal’s official website is https://crystal-lang.org/.
- Crystal source code repository is https://github.com/crystal-lang/crystal (GitHub username: crystal-lang; topics include “crystal” and “crystallang”).
- Crystal uses the file extension `.cr`.
- Crystal runs on multiple operating systems including macOS, Linux, FreeBSD, OpenBSD, and WebAssembly.
- Crystal has documented releases including v0.20.4 (2017-01-07), v0.20.5 (2017-01-22), v0.21.0 (2017-02-21), v0.21.1 (2017-03-07), v0.22.0 (2017-04-21), v0.23.0 (2017-06-29), v0.23.1 (2017-07-13), v0.24.1 (2017-12-24), v0.24.2 (2018-03-09), and v0.25.0 (2018-06-15).

## FAQs
### Q: What is Crystal used for?
A: Crystal is a programming language used to communicate instructions to a machine. It is categorized as a programming language and an object-based language.

### Q: Who created Crystal?
A: Crystal was created by Ary Borenzweig. Manas Technology Solutions is also listed as a developer.

### Q: What platforms and operating systems does Crystal run on?
A: Crystal is listed as running on macOS, Linux, FreeBSD, OpenBSD, and WebAssembly. It is also associated with platforms including IA-32, AArch64, and Web Assembly.

### Q: What license does Crystal use?
A: Crystal is licensed under the Apache Software License 2.0. The license is referenced from Crystal’s LICENSE file in its GitHub repository.

### Q: Where are Crystal’s official docs and community links?
A: Crystal’s user manual is at https://crystal-lang.org/docs/ and the official forum is https://forum.crystal-lang.org/. There is also an official blog at https://crystal-lang.org/blog/ and an official demo at https://play.crystal-lang.org.

## Why It Matters
Crystal matters as an open-source programming language with a defined ecosystem of official documentation, community channels, and packaging across multiple operating systems. It is explicitly classified as both a general “programming language” and an “object-based language,” placing it within established language categories used for communicating instructions to machines. Its availability across macOS, Linux, FreeBSD, OpenBSD, and WebAssembly indicates cross-platform relevance, and it is distributed through multiple packaging systems and ports (including FreeBSD ports and OpenBSD ports), which supports practical adoption in different environments.

Crystal’s public development model is reinforced by its GitHub source repository and Apache License 2.0 licensing, enabling reuse and modification under a widely used permissive license. The presence of an official website, documentation, blog, forum, and a browser-based demo environment provides a complete set of entry points for learning, evaluation, and community support. Recorded release versions with publication dates (e.g., 0.20.x through 0.25.0) provide concrete milestones for tracking the language’s evolution over time.

## Notable For
- Open-source licensing under the Apache Software License 2.0.
- Cross-platform operating system support including macOS, Linux, FreeBSD, OpenBSD, and WebAssembly.
- Official learning and evaluation resources, including documentation (crystal-lang.org/docs) and an online demo (play.crystal-lang.org).
- Public development and distribution via the crystal-lang GitHub organization and repository (github.com/crystal-lang/crystal).
- Standardized file extension `.cr` and an associated (unofficial) media type `text/x-crystal`.

## Body
### Classification and Identity
- Name: Crystal  
- Type: programming language
- Instance of:
  - programming language
  - object-based language
- Aliases:
  - Crystal Language
  - Crystal Lang
  - Кристал
  - crystal
- Different from: CRYSTAL

### Origins and Development
- Inception: 2014
- Created by: Ary Borenzweig
- Developers listed:
  - Ary Borenzweig
  - Manas Technology Solutions

### Licensing and Legal Status
- License: Apache Software License 2.0
- Copyright status: copyrighted

### Official Web Presence and Documentation
- Official website: https://crystal-lang.org/
- User manual: https://crystal-lang.org/docs/
- Official blog: https://crystal-lang.org/blog/ (feed: https://crystal-lang.org/feed.xml)
- Official forum: https://forum.crystal-lang.org/ (platform: Discourse)
- Official demo: https://play.crystal-lang.org
- IRC channel: ircs://irc.libera.chat/#crystal-lang

### Source Code and Repository Metadata
- Source code repository: https://github.com/crystal-lang/crystal
- GitHub username/organization: crystal-lang
- GitHub topics: crystal, crystallang

### File Format and MIME/Media Type
- File extension: `.cr`
- Media type: `text/x-crystal` (marked as unofficial)

### Operating Systems and Platforms
- Operating systems listed:
  - macOS
  - Linux
  - FreeBSD
  - OpenBSD
  - WebAssembly
- Platforms listed:
  - IA-32
  - AArch64
  - Web Assembly
  - (also listed: Q272629)

### Typing and Paradigms
- Typing discipline listed:
  - duck typing
  - static typing
  - inference typing
  - nominative typing
- Programming paradigms listed:
  - object-oriented programming
  - multi-paradigm programming
  - concurrent computing

### Releases (Examples with Dates)
Recorded versions with publication dates include:
- 0.20.4 — 2017-01-07
- 0.20.5 — 2017-01-22
- 0.21.0 — 2017-02-21
- 0.21.1 — 2017-03-07
- 0.22.0 — 2017-04-21
- 0.23.0 — 2017-06-29
- 0.23.1 — 2017-07-13
- 0.24.1 — 2017-12-24
- 0.24.2 — 2018-03-09
- 0.25.0 — 2018-06-15

### Packaging and Distribution (Selected)
- Arch Linux package: crystal
- Homebrew formula: crystal
- MacPorts port: crystal
- FreeBSD port: lang/crystal
- OpenBSD port: lang/crystal
- Gentoo package: dev-lang/crystal
- SlackBuilds package: development/crystal-lang
- AUR package: crystal-git
- Repology project name: crystal-lang

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Crystal",
  "description": "Crystal is a programming language.",
  "url": "https://crystal-lang.org/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Crystal_(programming_language)"
  ],
  "additionalType": "programming language"
}

## References

1. [Source](https://github.com/crystal-lang/crystal/blob/master/LICENSE)
2. [Release 0.24.1. 2017](https://github.com/crystal-lang/crystal/releases/tag/v0.24.1)
3. [Release 0.25.0. 2018](https://github.com/crystal-lang/crystal/releases/tag/0.25.0)
4. [Release 0.24.2. 2018](https://github.com/crystal-lang/crystal/releases/tag/0.24.2)
5. [Release 0.23.1. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.23.1)
6. [Release 0.23.0. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.23.0)
7. [Release 0.22.0. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.22.0)
8. [Release 0.21.1. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.21.1)
9. [Release 0.21.0. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.21.0)
10. [Release 0.20.5. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.20.5)
11. [Release 0.20.4. 2017](https://github.com/crystal-lang/crystal/releases/tag/0.20.4)
12. [Release 0.20.3. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.20.3)
13. [Release 0.20.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.20.1)
14. [Release 0.20.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.20.0)
15. [Release 0.19.4. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.19.4)
16. [Release 0.19.3. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.19.3)
17. [Release 0.19.2. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.19.2)
18. [Release 0.19.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.19.1)
19. [Release 0.19.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.19.0)
20. [Release 0.18.7. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.18.7)
21. [Release 0.18.6. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.18.6)
22. [Release 0.18.4. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.18.4)
23. [Release 0.18.2. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.18.2)
24. [Release 0.18.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.18.0)
25. [Release 0.17.4. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.17.4)
26. [Release 0.17.3. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.17.3)
27. [Release 0.17.2. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.17.2)
28. [Release 0.17.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.17.1)
29. [Release 0.17.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.17.0)
30. [Release 0.16.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.16.0)
31. [Release 0.15.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.15.0)
32. [Release 0.14.2. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.14.2)
33. [Release 0.14.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.14.1)
34. [Release 0.14.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.14.0)
35. [Release 0.13.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.13.0)
36. [Release 0.12.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.12.0)
37. [Release 0.11.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.11.1)
38. [Release 0.11.0. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.11.0)
39. [Release 0.10.2. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.10.2)
40. [Release 0.10.1. 2016](https://github.com/crystal-lang/crystal/releases/tag/0.10.1)
41. [Release 0.10.0. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.10.0)
42. [Release 0.9.1. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.9.1)
43. [Release 0.9.0. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.9.0)
44. [Release 0.8.0. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.8.0)
45. [Release 0.7.7. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.7)
46. [Release 0.7.6. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.6)
47. [Release 0.7.5. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.5)
48. [Release 0.7.4. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.4)
49. [Release 0.7.3. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.3)
50. [Release 0.7.2. 2015](https://github.com/crystal-lang/crystal/releases/tag/0.7.2)