Nim
Full course · 21 lessonsNim is an efficient, statically typed systems programming language with Python-like syntax. It compiles to C via its compiler, offering C-level performance with high-level expressiveness and metaprogramming.
Getting Started with Nim
Install, compile, and run your first program.
Variables and Types
var, let, const, and built-in types.
Control Flow
if, case, and loops.
Sequences and Arrays
Dynamic sequences and fixed arrays.
Strings
String operations and formatting.
Procedures
Write typed procedures with defaults.
Objects and References
Define and use object types.
Enums and Case Objects
Enumerations and variant objects.
Generics
Type-parameterized code.
Exceptions and Error Handling
try/except and raise.
Tables and Sets
Hash tables and sets from stdlib.
File Input/Output
Read and write files.
Streams and stdin/stdout
Stream processing and user input.
Iterators
Custom iteration logic.
Concurrency with Threads
Threads, channels, and locks.
Macros and Metaprogramming
Compile-time code generation.
Templates
Inline code substitution.
Foreign Function Interface
Call C libraries from Nim.
NimScript and Build Tooling
Scripting, nimble, and configs.
Testing with unittest
Write and run unit tests.
Ecosystem and Next Steps
Libraries, web dev, and community.

