Books

There are currently seven printed books for the Nim programming language:

Nim in Action 1st Edition 2017

by Dominik Picheta

“Nim in Action” by Dominik Picheta is a comprehensive guide to the Nim programming language, published by Manning Publications in 2017. Dominik Picheta is one of the core developers of Nim, so the book benefits from his deep understanding of the language.

The book is aimed at beginners and experienced programmers alike, offering a practical and example-driven approach to learning Nim. It covers a wide range of topics, including:

  • Introduction to Nim: This section provides an overview of Nim, its design principles, and the reasons to choose Nim for your projects.
  • Getting Started: This chapter teaches you how to install Nim, set up your development environment, and write your first Nim program.
  • Language Fundamentals: This part of the book covers the basics of Nim’s syntax, types, variables, and control structures.
  • Data Structures: The book discusses common data structures in Nim, such as arrays, sequences, and tables, and shows how to use them effectively.
  • Procedures and Error Handling: This section covers defining procedures, modules, and working with exceptions for error handling.
  • Iterators and Macros: The book introduces you to Nim’s powerful metaprogramming features, including iterators and macros, which allow you to write more expressive and reusable code.
  • Concurrency: Nim’s asynchronous and parallel programming features are explored, with examples demonstrating how to use them in your projects.
  • Creating Libraries and Packages: This part of the book teaches you how to create libraries and packages, as well as how to publish and distribute them using Nimble, the Nim package manager.
  • Web Development: The book covers web development with Nim, showing you how to build web applications, create RESTful APIs, and work with popular web frameworks.
  • Miscellaneous Topics: This section includes topics like testing, debugging, profiling, and optimizing Nim code.

The book also provides numerous examples and use cases to help you understand how Nim can be applied to various types of projects. By the end of the book, you should have a solid understanding of the Nim programming language and be well-equipped to start using it in your own projects.

Mastering Nim: A complete guide to the programming language 2022/2023

by Andreas Rumpf

The updated second release contains an additional chapter called “Mastering parallelism” with a detailed explanation of the new “Malebolgia” package. Malebolgia is a powerful library that simplifies the implementation of concurrent and parallel programming. It provides a straightforward approach to expressing parallelism using the spawn construct and ensures synchronization using barriers.

This textbook offers a comprehensive introduction to the Nim programming language. It begins by presenting basic concepts such as control flow and function calls through easy-to-understand examples of drawing lines on a canvas. The introductory section also delves into more advanced features, including iterators, generics, and templates.

The second and most extensive part of the book is derived from Nim’s online manual, but with significant enhancements. Numerous examples, considered representative of typical use cases, have been added. Sections have been restructured and rewritten, with personal advice integrated throughout. Although every effort has been made to perfect Nim, no programming language is flawless. The book addresses many of the discovered “gotchas” associated with certain features and provides solutions and workarounds.

The third and most engaging section is designed for seasoned Nim users, focusing on the effective utilization of macros. It explains how Abstract Syntax Tree (AST) introspection functions and clarifies the distinctions between typed and untyped trees. The different methods for constructing an AST are also demonstrated.

The book provides in-depth explanations of well-known macros such as sugar.collect, strformat.fmt, and the parser domain-specific language found in strscans. Furthermore, it sheds light on the inner workings of Karax’s HTML construction language, presenting a newly developed algorithm that is substantially easier to understand than the one currently implemented in Karax.

“Mastering Nim” is the result of extensive practical experience with the Nim programming language and serves as an invaluable resource for both beginners and experts alike.

Nim Programming: The Next Generation Programming Language For Software Development

by Jeffery Owens Jul 1, 2023 (might be created by AI tools like ChatGPT)

Paperback: 116 pages

ISBN-13: 979-8850657932

Available at Amazon.com

Nim Programming for Data Science: Harnessing the Power of Nim for Data Analysis

by Jeffery Owens July 20, 2023 (might be created by AI tools like ChatGPT)

Paperback: 163 pages

ISBN-13 ‏ : ‎ 979-8853028517

Available at Amazon.com

NIM Programming for Developers: The Ultimate Guide to Building Fast, Efficient, and Scalable Software

by Jesse Sprinter October 28, 2023 (might be created by AI tools like ChatGPT)

Paperback: 269 pages

ISBN-13 ‏ : ‎ 979-8865746348

Available at Amazon.com

Nim Programming for Networking: Building Reliable Applications From Beginner to Expert

by Goerge Anvil July 25, 2023 (might be created by AI tools like ChatGPT)

Paperback: 127 pages

ISBN-13: 979-8853591769

Available at Amazon.com

Practical Nim Programming: A Step-by-Step Guide to building Robust, Scalable Applications from beginners to expert

by Colton Stewart November 15, 2023 (might be created by AI tools like ChatGPT)

Paperback: 135 pages

ISBN-13: 979-8867825171

Available at Amazon.com

Other books

Computer Programming with the Nim Programming Language

A gentle Introduction

by Dr. Stefan Salewski 2023

This book is provided in both HTML and PDF formats, along with unofficial black and white EPUB and MOBI versions.

This textbook begins by introducing fundamental concepts in computer programming and proceeds to comprehensively elucidate the components of the Nim language and its applications. It includes numerous succinct examples, offers a selection of in-depth exercises, and covers advanced topics such as metaprogramming, parallel code execution, and asynchronous code execution. Notably, the book is up to date with Nim v2.0 released in summer 2023.

You can access the book here:

Nim Programming book

For reporting any issues, it is best to use its GitHub issue tracker:

GitHub

If you find the book engaging and plan to read most of it, you can purchase the electronic version for €49. The forthcoming printed version is projected to be priced at €69. The HTML version will continue to be freely available.