A 5-minute tour through Nim.
For programming beginners. Covers all the basic topics, enough to make your first programming steps.
Compile and run Nim snippets in your browser.
A guide about basic and advanced built-in types, statements, control flow, and procedures.
How to use Object Oriented Programming in Nim, exceptions, generics, and templates.
Learn about meta-programming and macros.
This is a guide for people with experience in C or a similar language. The guide assumes some intermediate knowledge, for instance of how stacks and heaps works.
Nim is much more than "compiled Python", and this tutorial will give you an overview of similarities and differences between the two languages.
Want to use Nim for your frontend needs? Start here.
Provides a listing and description of all the modules in the standard library.
The Nim programming language specification.
Description of some tools that come with the standard distribution.
All Nim documents and modules in one place. Use Ctrl/Cmd+F.
Search for available Nimble packages.
Write an interpreter for the BrainF#@% programming language in Nim.
A series of short examples covering the most common topics.
Building mini applications with Nim.
OOP in Nim, Arduino and Nim, and more.
NES emulator in Nim, SDL2 platformer, writing small binaries, etc.
Options, File handling, stack vs heap (ref) objects, etc.
Outlines the commands and command line flags the Nim compiler supports. Explains how the Nim compiler can be configured and describes how to cross-compile, generate DLLs, and more.
The stylistic conventions that Nim's official projects adhere to.
Explains configuration and usage of Nimble package manager, including creating and publishing your own packages.
Describes the subset of Nim used for configuring Nim and specifying Nimble packages.
The internal documentation describes how the compiler is implemented. Read this if you want to hack the compiler.
Describes the various backends supported by Nim, including C, C++, Obj C, and JS. It also explains how to interface with libraries written in those languages.