Warmly welcome you to give Crystal language a try :)
Crystal is a programming language with the following goals:
- Have a syntax similar to Ruby (but compatibility with it is not a goal)
- 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.
Why?
- We love Ruby's efficiency for writing code.
- We love C's efficiency for running code.
- We want the best of both worlds.
- We want the compiler to understand what we mean without having to specify types everywhere.
- We want full OOP.
Oh, and we don't want to write C code to make the code run faster.