SlaveCode LogoSlaveCode.
Academy
RoadmapProblemsSystem Design
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
SlaveCode LogoSlaveCode.

Standardize your coding journey. From basic academy courses and guided roadmaps to advanced system design, company interview prep, and real-time coding arenas. The all-in-one platform to master algorithms and prove your engineering excellence.

Learn & Practice

  • Academy
  • Problems
  • Roadmap
  • System Design

Compete & Tools

  • Arena
  • Contests
  • Compilers

Legal & Support

  • Report an Issue
  • Privacy Policy
  • Terms of Service
  • Contact Us

© 2026 SlaveCode. All rights reserved.

Crystal

Crystal

Crystal combines the elegant and expressive syntax of Ruby with the speed and type safety of a compiled language. Crystal supports advanced type inference, macros and makes writing concurrent code easy and safe.

Master Crystal with
Interactive Learning

Elevate your Crystal skills through 145 curated exercises across 24 core concepts. Master problem-solving with a structured learning path designed for modern developers.

Crystal

About Crystal

Crystal is a compiled, object-oriented programming language. These are some of the language's goals:

  • Ruby-inspired syntax.

  • 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.

Key Features of Crystal

Simple Syntax

Crystal's syntax is heavily inspired by Ruby, so it is natural to read and easy to write.

Static Type Checking

Crystal is statically type checked with built-in type inference, so type errors are caught early.

Null Reference Checks

All types are non-nilable in Crystal, so the compiler checks for null references at compile time.

Concurrency Model

Crystal has built in concurrency primitives, called fibers, to achieve concurrency.

C-Interopability

Crystal has dedicated syntax to easily call native libraries, increasing code re-use.

Macros

Crystal's answer to metaprogramming is a powerful macro system.

Track icon

Simple Syntax

Crystal's syntax is heavily inspired by Ruby, so it is natural to read and easy to write.

Static Type Checking

Crystal is statically type checked with built-in type inference, so type errors are caught early.

Null Reference Checks

All types are non-nilable in Crystal, so the compiler checks for null references at compile time.

Concurrency Model

Crystal has built in concurrency primitives, called fibers, to achieve concurrency.

C-Interopability

Crystal has dedicated syntax to easily call native libraries, increasing code re-use.

Macros

Crystal's answer to metaprogramming is a powerful macro system.

A taste of Crystal concepts you'll cover

Ba

Basics

Bo

Bools

Nu

Numbers

Nu

Number Types

Cl

Classes

St

Strings

Ge

Getters and Setters

St

String Methods

Bi

Binary, Octal, and Hexadecimal

Co

Conditionals

Bi

Bit Manipulation

Wh

While Loops

Re

Return

Ni

Nil

Ch

Char

Mo

Modules

Ra

Ranges

Un

Union Type

Ar

Array

Ca

Case

Ar

Array Methods

Er

Errors

Pr

Procs & Blocks

It

Iteration

Sy

Symbol

Tu

Tuple

Dive into Crystal practice challenges

Hello World
Hello World
Level 1

SlaveCode's classic introductory exercise. Just say "Hello, World!".

Acronym
Acronym
Level 1

Convert a long phrase to its acronym.

Anagram
Anagram
Level 1

Given a word and a list of possible anagrams, select the correct sublist.

Armstrong Numbers
Armstrong Numbers
Level 1

Determine if a number is an Armstrong number.

Atbash Cipher
Atbash Cipher
Level 1

Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.

Bob
Bob
Level 1

Bob is a lackadaisical teenager. In conversation, his responses are very limited.