Nim Programming by S. Salewski

June 23, 2023 by Stefan Salewski 5 minutes

The Electronic Version of the Book is Now Available for Purchase

The electronic version of our Nim book, originally offered as a free HTML preprint with the default Asciidoctor CSS layout, has been available for quite some time now. Since then, we have created additional HTML themes and are now offering PDF files furnished with Sans and Serif fonts, and diverse source code styles.

Even though Nim 2.0 has not yet been finalized, we regard the book as nearly complete. We may continue to implement minor corrections and adjustments aligned with Nim 2.0, and possibly enhance the readability and grammatical quality of the content. These improvements would be inspired by feedback from our readers or suggestions from tools like GPT-4. However, we do not foresee any significant changes to this current edition in the near future.

When we initiated this book project in 2020, we aimed to engage professional editors and proofreaders prior to its official publication. But it’s important to acknowledge that the Nim community is still relatively small, and nowadays, only a handful of people can find the time and motivation to read a medium-sized book about a programming language. Consequently, the cost for hiring external editors and proofreaders would significantly exceed our estimated sales revenue.

Nonetheless, by considering reader comments and utilizing tools like Langtool, Quillbot, and Grammarly, we have already achieved a commendable quality level for the book content. Over the coming months, we may incorporate further suggestions from our readers and GPT-4 to enhance the text quality. But these are likely to be minor fixes that most readers wouldn’t even notice.

In reality, a book about a programming language can never truly be considered finished, especially as long as the language is in use and continues to develop. For instance, Nim 2.0 was announced in early 2023 but has not yet been launched. While our book covers most of the new features of Nim 2.0, minor amendments may still be required. This is also true for other parts of the language, which are still under development and may take years to finalize.

New developments are consistently emerging in the field. For instance, a new thread pool implementation called Malebogia was recently released, and an official package manager named Atlas has been announced. Concurrently, new third-party packages may appear, which could enhance or replace modules of Nim’s standard library.

Backend development is another rapidly changing domain. The support for C++ is constantly being improved, and the LLVM backend might also mature. At the same time, important new support modules, for instance for GUI, web, and gaming applications, could emerge.

While some readers have inquired about PDF versions and printed copies, we generally recommend sticking with the default HTML version. For offline reading, most web browsers, such as Firefox, offer a “save page” function. This allows all required content to be stored locally, negating the need for an Internet connection when reading the book. Furthermore, browsers like Firefox provide useful plugins, such as those to alter displayed colors or highlight important sections of the content.

The additional HTML themes we offer are based on a set provided by https://github.com/darshandsoni/asciidoctor-skins, though these may have some issues. For the PDF version, we’ve utilized Asciidoctor’s default theme with both Sans and Serif font options, and we offer an array of color schemes from the Rouge source code highlighter. Although the PDF versions are visually appealing, they do present a limitation in that the fixed page sizes do not always fit well with the actual screen.

We’ve also created monochrome EPUB and MOBI versions of the book. If you possess a compatible book reader, you might find these formats useful. However, please note that these are unsupported bonus offerings.

Over the past few years, some have also asked about printed versions of the book. We believe that printed versions of books with relatively straightforward content are not particularly necessary in this digital age. Such books are typically read quickly and only once, and the electronic version provides many advantages: the ability to copy code, highlight text permanently, and perform full-text searches.

Printed books may still have their place when you’re studying highly complex topics such as quantum mechanics or blockchain technology, where you might need hours to comprehend the content of a single page. The most serious concern with printed books, particularly for a programming language like Nim, is that the language itself is continuously evolving.

Our intention is to make a printed version available once Nim 2.0 is officially released, stabilized, and provided there is a demand from at least a few dozen people for such a version. If you’re interested in a printed copy, please notify us via email, or alternatively, you can use the GitHub issue tracker.

As was our intention from the start, we do not restrict the content of the book behind a paywall. Users can freely access it in HTML or PDF form. However, those who find value in it and read significant portions are highly encouraged to purchase a copy. The price for the electronic version is currently set at 49 euros. Regrettably, due to European laws and the German “Buchpreisbindung”, we’re unable to offer discounts to children under 18, seniors aged 60 and above, or individuals from other countries. Our only available option is to provide the black-and-white PDF version at a reduced price of 29 euros for those who find the initial price steep.

To order the book, simply send us a brief email and we’ll reply with our bank account details. In addition to bank transfers, we also accept payments via PayPal using our email address. We kindly ask you to test the HTML and PDF versions before ordering the book, as refunds can be complicated in case of technical issues. We also recommend keeping a local copy of the PDF version. We intend to keep offering the book online, but having a local copy is a good contingency plan in case of technical difficulties.

The printed book will cost at least 69 euros and will be distributed via Amazon or another publishing company. We aim to provide a reliable colored print, as previous on-demand prints have faced issues, and it’s disheartening when a book falls apart prematurely.

Purchasers of the book will also gain access to a restricted section of the website, where they might find additional styles, themes, and bonus materials. However, please note that this section is currently empty.

[Reformulated by GPT-4]