Want to learn and master Nim?

Join Exercism’s Nim Track for access to 67 exercises with automatic analysis of your code and personal mentoring, all 100% free.

Explore exercises

About Nim

proc helloWorld*(name = "World"): string =
  "Hello, " & name & "!"

let greeting = helloWorld("Exercism")
echo greeting

67 coding exercises for Nim on Exercism. From Pascal's Triangle to Scrabble Score.


Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.

See all Nim exercises on Exercism

Key Features of Nim


Nim

Strong static typing

Modern static type system with type inference, tuples, generics, and sum types.

Fast

Compiles to C/C++/ObjC with no runtime or virtual machine, for blazing fast results.

Expressive

Friendly syntax, macro system and generics allow for expressive DSLs and code reusability.

Interoperable

Easy FFI with the target languages (C/C++/ObjC/JavaScript) for excellent interop.

Cross-platform

Runs on (and cross-compiles to) all major desktop OSs and embedded devices.

Custom memory management

Deterministic memory management, with destructors and move semantics (inspired by C++ and Rust).

Get mentored the Nim way

Every language has its own way of doing things. Nim is no different. Our mentors will help you learn to think like a Nim developer and how to write idiomatic code in Nim. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Nim - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Nim exercises

The Nim track on Exercism has 67 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Nim exercises
Nim

Get started with the Nim track

The best part, it’s 100% free for everyone.