Nim: A Python-Like C/C++ Alternative Every Programmer Should Learn
A statically typed, but Python-like systems programming language that transpiles to C, C++, and JavaScript
Rust and Go are the most popular systems programming languages in the current software industry. Low-level software product developers chose Rust, and cloud infrastructure developers chose Go. However, programmers still use C and C++ and choose them over Rust and Go. Meanwhile, C/C++ programmers who dislike Go’s heaviness and Rust’s complexity started seeking true C/C++ alternatives. As a result, languages like Zig, C3, Odin, D, and V began to gain popularity.
I still write most code in C/C++, but started worrying after seeing the evolved syntactical, memory safety, and standard library features in Rust and Go. As a result, I started evaluating all available C/C++ alternatives, except hyped Rust and Go, to find a better programming language for the future. I evaluated Zig, D, C3, V, and Odin and compared them with C/C++, Rust, and Go in my previous articles. In this article, I’ll evaluate the statically typed, compiled Nim systems programming language that comes with impressive macro-based metaprogramming features.
Let’s learn Nim’s features, understand its core design philosophy, and experiment with it by…