Ruby-like Crystal 1.0 makes its debut

Ruby-like Crystal 1.0 makes its debut

Production-ready release comes with a promise that no features will be changed or removed in any way that could stop existing code from compiling and working.

Credit: Greg Tockner

Version 1.0 of the Ruby-like Crystal language has arrived, with its creators promising language stability for all 1.x releases going forward. Users can expect all Crystal 1.x releases to be backward compatible, with no breaking changes.

With the Crystal 1.0 release, the language’s creators offer assurance to those who would like to use the language in production that it will not break from one version to the next. Users of future Crystal 1.x versions can expect their existing Crystal code will still compile and work without any significant incompatibility. Language and standard library features will not be removed or changed in a way that could stop existing code from compiling and working. The standard library will be improved with backward compatibility kept in mind.

Crystal syntax was inspired by Ruby, making the language easy to read and write while lowering the learning curve for experienced Ruby developers, according to Crystal’s creators. By being statically type-checked, errors are caught by the compiler rather than waiting for a fail at runtime.

Unveiled March 22, the Crystal 1.0 release can be found on GitHub, and installation instructions at Crystal’s builders plan maintenance releases, featuring bug fixes, while new features are reserved for subsequent minor releases. Some features in the Crystal 1.0 release are cited as “preliminary” and not yet officially supported, including Windows support, multithreading, and Arm support.

Features and highlights of Crystal 1.0:

  • Built-in type inference eliminates the need for most type annotations.
  • A dedicated syntax for calling native libraries eliminates the need to re-implement low-level tasks.
  • The compiler automatically checks for null references at compile time.
  • For concurrency, Crystal uses threads called fibers to communicate with each other without having to use shared memory or locks.
  • Libraries are packed as Shards and distributed via Git with no need for a central repository. Built-in commands allow dependencies to be specified through a YAML file and fetched from respective repositories.
  • A macro system, consisting of methods that receive AST nodes at compile time and produce code that is pasted into a program, serves as Crystal’s answer to metaprogramming.

Follow Us

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.


ARN Innovation Awards 2022

Innovation Awards is the market-leading awards program for celebrating ecosystem innovation and excellence across the technology sector in Australia.

EDGE 2022

EDGE is the leading technology conference for business leaders in Australia and New Zealand, built on the foundations of collaboration, education and advancement.

Show Comments