DEV Community


Discussion on: We created the Crystal language, ask us anything!

asterite profile image
Ary Borenszweig

Excellent questions!

I don't think we want to beat other languages. We actually use other languages and love them all, like Ruby, Elixir and Go. With Crystal we try to provide an alternative that's fun to work with and performant when possible, but that of course depends on everyone's preferences (some like Ruby's syntax, others don't). We actually encourage others to combine Crystal with other languages.

It's hard to find other languages that are similar to Crystal. I'd say the syntax is very close to Ruby, the runtime maybe a mix of Ruby and Go (but just a bit), and since we have value types we are maybe similar to C#, D and Swift. And we have multiple dispatch, which Julia also has, so there's a similarity too. We use LLVM as a backend, which Rust and Julia do too. As you can see, we get inspiration from many, many languages.

I think the GC algorithm might be good enough for v1.0. Versions past 1.0 will be all about improving the performance and fixing potential bugs, while retaining backwards compatibility. For example Go improves their GC each time in every version, so maybe the one in 1.0 wasn't that good (if you compare it to the current one ;-)).

I'd personally love to see Crystal being used in other contexts than web apps. For example I'm a big fan of videogames, I play them every day, and I'm super happy when I see others creating games in Crystal (BlaXpirit is probably the one leading this effort).