proc helloWorld*(name = "World"): string = "Hello, " & name & "!" let greeting = helloWorld("Exercism") echo greeting
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Compute Pascal's triangle up to a given number of rows.
Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
Given a word, compute the Scrabble score for that word.
Modern static type system with type inference, tuples, generics, and sum types.
Compiles to C/C++/ObjC with no runtime or virtual machine, for blazing fast results.
Friendly syntax, macro system and generics allow for expressive DSLs and code reusability.
Runs on (and cross-compiles to) all major desktop OSs and embedded devices.
Deterministic memory management, with destructors and move semantics (inspired by C++ and Rust).
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
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
The best part, it’s 100% free for everyone.