You may often hear programmers claim that once you’ve mastered your first programming language, learning additional languages is easy. Once you have the basic concepts mastered, it’s just a matter of learning different syntaxes.
While this may be true, when you are juggling between all these different languages, it can sometimes be difficult to keep track of all of the different syntaxes. The Crystal language aims to solve this problem.
Crystal is a programming language that was inspired by Ruby, providing a language that is easy to read and write. Because of the similarity, it has a low learning curve for Ruby developers. Crystal markets itself as “Fast as C, slick as Ruby.”
It features static type checking, which means that errors can be caught by the compiler instead of just failing at runtime. The compiler also checks for null references, which helps prevent costly mistakes.
Crystal also contains a powerful macro system, “ranging from basic templating and AST inspection, to types inspection and running arbitrary external programs.”
A new version has just been released. Version 0.24.1 adds many new features and bug fixes. To try out the latest version and look at the full set of features, visit Crystal’s GitHub page.
The company had wished to have Crystal 1.0 out by the end of 2017, but did not reach that goal. They have outlined a plan to make this happen in 2018.
“As we have said many times, we are committed to steward Crystal to its success and we will continue to invest everything that’s possible from our end to reach 1.0 and beyond,” Nicolás di Tada, founder of Manas.Tech, wrote in a post.
- Haven: An Android application that protects personal assets without compromising privacy.
- GitHub profile summary: Tools that allow you to visualize GitHub profiles and view repos for language, stars per language, commits per language, etc. etc.
- Yew: A modern Rust framework based off Elm and ReactJs.
- SecLists: A collection of lists for security testers used during security assessments.
- React content loader: A React component that users SVG to create a collection of loaders.