María Inti David

María Inti David

The story behind #CrystalLang

6 min
Apr 1 2016
6 min
Apr 1 2016

Crystal was born in June 2011 when Ary took the challenge to prove if it was possible to have a compiled Ruby-like language. The name back then was “Joy”, though three days later it was changed to Crystal. At first Crystal was just the result of the experiment.

It wasn’t until almost a year later when Ary told Juan, Brian and others about the idea that the project was moved to the manastech organization and started from scratch, except for the lexer and parser: the semantic analysis and codegen needed a redesign.

Why was Crystal created? In Ary’s own words:

At Manas we really like Ruby and use it a lot, but we feel a bit sad when it’s slow and we have to migrate our code to another language. We wished there was a language like Ruby, only faster and more type safe. We realized, due to Ruby’s dynamic nature, that it would be impossible to make Ruby work like that, so we started our own language.

As many of the things we do at Manas, Crystal was created to solve a problem. If it doesn’t exist, why not create it?

In the beginnings everything was done by Manas’ members, mostly Ary, Juan and Brian. They would meet some minutes or hours after work, or during work, to design and code some ideas. Creating a programming language from scratch and seeing it work well is sometimes addictive, so they would code some more from home, as a hobby.

Our role as a Company has been to support and accompany the team while Crystal grows. As Palla describes it:

At Manas we are proud to have a fantastic team, with great knowledge born from both a vast experience in the industry and from the academic scene; as such, it is of no surprise that many ideas are born just from discussions among coworkers. Manas served as the nest of Crystal, where Ary, Juan and Brian joined efforts to start this experiment in their own time.

It soon became clear that Crystal was growing to be much more than just a proof of concept on what we could build for a language. With Ary, Juan and Brian’s, Manas adopted Crystal as a project, so they wouldn’t have to use their personal time to keep working on it (even though they still do, it’s hard to keep them away from their keyboards even at night!).

Since Ary’s first commit on Crystal a lot has changed, and Crystal has reached important milestones:

So, what does the future hold for Crystal? We hope that the Crystal’s community continues to grow this year, attracting supporters from around the world. More and more events, meetups and hangouts are being held in many countries, and we will double our efforts this year to participate in more of them and organize official events in Argentina.

We’re currently focusing on consolidating the language design. Once the language is consolidated there will be no breaking changes.

We hope that will result in two main benefits. On one hand, it should help the language gain further adoption. On the other hand, it should give us solid foundations to base future work on without disrupting the community: things such as a compiler refactor to make it easier for contributors to jump into the compiler itself, and supporting true parallelism.

Make sure you check out our latest Hangout and Q&A session where the Crystal team answered many of the recurrent questions about Crystal future.