Official Resources

Tutorials

Tutorial, part 1

A guide about basic and advanced built-in types, statements, control flow, and procedures.

Tutorial, part 2

How to use Object Oriented Programming in Nim, exceptions, generics, and templates.

Macro tutorial

Learn about meta-programming and macros.

Books

Nim in Action

Learn Nim from one of the main developers of the language. A tour through the standard library, a guide on writing your own packages and applications, interfacing with C and JavaScript, and much more.

Playground

Nim Playground

Compile and run Nim snippets in your browser.

Documentation

Standard Library

Provides a listing and description of all the modules in the standard library.

Language Manual

The Nim programming language specification.

Searchable index

All Nim documents and modules in one place. Use Ctrl/Cmd+F.

Nim Style Guide

The stylistic conventions that Nim's official projects adhere to.

Nimble Package Directory

Search for available Nimble packages.

Community resources

Tutorials

Nim basics

For programming beginners. Covers all the basic topics, enough to make your first programming steps.

How I Start: Nim

Write an interpreter for Brainfuck programming language in Nim.

Nim by Example

A series of short examples covering the most common topics.

Nim Days

Building mini applications with Nim.

Learn Nim in Y minutes

A 5-minute tour through Nim.

Nim Notes

A collection of Nim snippets with brief notes.

Nim for...

... C programmers

... Python programmers

Blogs

Goran Krampe

OOP in Nim, Arduino and Nim, and more.

HookRace

NES emulator in Nim, SDL2 platformer, writing small binaries, etc.

Peter's DevLog

Options, File handling, stack vs heap (ref) objects, etc.

Nim Planet

Aggregated feed of Nim blogs.

Other

Exercism.io

Learn Nim by solving short challenges.

Rosetta Code

Rosetta Code tasks solved in Nim.