341
350
+ 1
286

What is Crystal?

Crystal is a programming language that resembles Ruby but compiles to native code and tries to be much more efficient, at the cost of disallowing certain dynamic aspects of Ruby.
Crystal is a tool in the Languages category of a tech stack.
Crystal is an open source tool with 19.5K GitHub stars and 1.6K GitHub forks. Here’s a link to Crystal's open source repository on GitHub

Who uses Crystal?

Companies
21 companies reportedly use Crystal in their tech stacks, including WeTransfer, s21g, and DevDungeon.com.

Developers
271 developers on StackShare have stated that they use Crystal.

Crystal Integrations

Strapi, Airbrake, Fly, Starship (Shell Prompt), and Azk are some of the popular tools that integrate with Crystal. Here's a list of all 8 tools that integrate with Crystal.
Pros of Crystal
38
Compiles to efficient native code
36
Ruby inspired syntax
32
Performance oriented - C-like speeds
23
Gem-like packages, called Shards
20
Can call C code using Crystal bindings
18
Super Fast
18
Typed Ruby <3
17
Open Source
14
Minimal Runtime
11
Cute
9
Clean code
9
Concurrent
9
Productive
4
Great community
2
Powerful
2
Program compiled into a single binary
2
Simplicity
2
Meta-Programming (via Macros)
2
Feels like duck types, safe like static types
2
Null Safety
2
Type inference
1
Has builtin LLVM support library
1
Statically linked binaries that are simple to deploy
1
Fun to write
1
High-performance
1
Simple, minimal syntax
1
Compile time statically safe macros
1
Concise
1
Statically Safe Monkey Patching
1
Fibers
1
Spawn
1
Meta-programming
1
Productivity
1
Elegant
1
Cross-platform
Decisions about Crystal

Here are some stack decisions, common use cases and reviews by companies and developers who chose Crystal in their tech stack.

Needs advice
on
CrystalCrystal
and
JavaScriptJavaScript

I’m trying to find the best programming language for programming a video game. Should I use Crystal or JavaScript to create the game?

See more

Crystal's Features

  • Ruby-inspired syntax.
  • Statically type-checked but without having to specify the type of variables or method arguments.
  • Be able to call C code by writing bindings to it in Crystal.
  • Have compile-time evaluation and generation of code, to avoid boilerplate code.
  • Compile to efficient native code.

Crystal Alternatives & Comparisons

What are some alternatives to Crystal?
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
HTML5
HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
See all alternatives

Crystal's Followers
350 developers follow Crystal to keep up with related blogs and decisions.