Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor update to the book for nims 2.0 release as of today (01.08.2023) #28

Open
PhilippMDoerner opened this issue Aug 2, 2023 · 8 comments

Comments

@PhilippMDoerner
Copy link

PhilippMDoerner commented Aug 2, 2023

This is honestly more of a notification than an actual issue.

I'm not sure if you're already aware that nim 2.0 was released today (https://nim-lang.org/blog/2023/08/01/nim-v20-released.html).

With that come some minor changes, but honestly it shouldn't be much given that I'm pretty impressed with how on top you've been with all developments. At least from what I can gather skimming through: https://ssalewski.de/nimprogramming.html. Seems to me like it'd mostly just be a slight wording change in the About this book section?

@StefanSalewski
Copy link
Owner

Note that the book has its own website since a few months: https://nimprogrammingbook.com/

You can buy the HTML and PDF versions already for 49 euro. Also, there seems to be a new tiny book from another author available, see https://nimprogramming.com/books/allbooks/

While after all the trouble with THEM (e.g. https://forum.nim-lang.org/t/10101#66729) I only rarely use Nim myself these days, I think the book is mostly up-to-date with Nim 2.0. Nim 2.0 features are used through the text, and explained in detail in the appendix. I noticed that official Nim 2.0 was released some days ago. But I think that incremental compilation and CPS support is still not available. I will try to find some motivation to look at the "new" 2.0 features. I just spent more than 100 hours for the final grammar fixes -- as you may know, initially I intended to hire a professional for that, but as the selling revenue can never compensate that costs, I had to do it myself, with comments from a few kind readers and various tools, see acknowledgement in the appendix. So I think I could already print it at Amazon or another on-demand printing service. I will see if people still requests a printed copy. Two did in the past, but they have not been seen again. I really intend to print it, now that the grammar is not too worse anymore, but of course it would be good if someone would read it carefully before printing. My feeling is that most people have not the motivation to read a full book about Nim in these days, so I may have to read it myself. Actually, I am still considering adding some more topics, like FFI, JS, games, GUI, debugging, pragmas and effects. But that could make the book too heavy for beginners, and my motivation is very low. Currently, I am skeptically if I will be able to sell at least a dozen pieces. For my own feeling, the book is not bad, maybe 3 of the 5 Amazon stars. And it generally appears in the top 3 when searching for "nim book" with Google. But of course, THEY have refused to mention it on their website from the beginning and always talked bad about it, which really does not help selling it. I do not intent to do advertising by Google Adds, but Amazon listing would help I guess.

@StefanSalewski
Copy link
Owner

I have just updated the page https://nimprogramming.com/. I think that update is more important than the book update. Release 2.0 date was updated, and I have added the last 3 Nim projects Malebolga, Atlas, and HappyX. For the last there have been rumors that it is from Russia, but I am not sure -- let me know if I should better remove that link again. And I have added some more video links, that "Nim in 100 secs" and a few more.

Book update will follow.

@StefanSalewski
Copy link
Owner

OK, I have updated the references to Nim 2.0 in the book, so that it is clear that Nim 2.0 has been already released. I think the explanations of the actual new features of Nim 2.0 were already good enough. I may proofread the whole book in winter, and apply a few more fixes before printing.

@ringabout
Copy link

ringabout commented Sep 2, 2023

Nim Programming: The Next Generation Programming Language For Software Development

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

These are GPT-generated low-quality books. You might read samples and find that they recommend to use nimble install nimble in their books.

@StefanSalewski
Copy link
Owner

These are GPT-generated low-quality books.

Thanks for the info. I was not able to find samples to read, but I was skeptical, I assumed it might be just some copy&paste.

But GPT-4 is a great tool, it can generate high quality texts when you guide it properly. I let them write the disclaimer of my Nim book, and let them correct the grammar as a third pass after langtool, quillbot, and grammarly. Well, I let them not really correct my text on its own, I only asked to report errors and to make suggestions. And most of the suggestions were fine.

Note that I have already added a remark about the 2.0 version for the book of Mr. Rumpf at https://nimprogramming.com/books/allbooks/. For the two books of Mr. Jeffery Owens I may add a warning about GPT content.

@StefanSalewski
Copy link
Owner

07:50:36 | FromDiscord | Somehow my brain concocted together that the ref-type is stored in heap and if it has a value-type field that somehow gets stored in stack.

I assume this "Phil" are you? So my book did not really helped you to understand all that? Really sad. As an alternative, I could recommend you reading the official Rust book, it does explain this stuff also. Maybe start with the chapter about "Smart pointers", see https://doc.rust-lang.org/book/ch15-00-smart-pointers.html

@PhilippMDoerner
Copy link
Author

Yep, that is my account. However, I didn't read the book. I was aware of it, skimmed through some of the contents to see if it was something with good enough information that people are likely to read it or occasionally recommend and decided based on that whether to notify you about the nim 2.0 release here.

And thanks, but all good. It was merely a misconception I hadn't been aware of that I had until I actually thought it through.
Further, this is an issue, not a discord chat. So I don't think this relates to said issue that I opened.

@StefanSalewski
Copy link
Owner

Well, my book was intended for beginners mostly. With all your questions in IRC, and I think even on StackOverflow, I had some doubt about your progress. I think I had seen your name already long time ago. I hope you read at least the official tutorials. In the past I saw some people who refused to read the tutorials, and tried to learn Nim by copying Python or JavaScript, guessing, and a lot IRC traffic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants