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.

Playgrounds

Official Nim Playground

Compile and run Nim snippets in your browser.

ide.judge0.com playground (unofficial)

Multi-language playground with lots of options.

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.

Documenting, profiling and debugging guide

Learn how to document your code using reST syntax, how to use Nimprof for profiling, and how to debug with GDB/LLDB.

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 the BrainF#@% 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 memory model

Tutorial explaining essentials of how Nim stores data in memory.

Nim for...

... C programmers

... Python programmers

... TypeScript/JavaScript 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.