bfwolf Senior Member
 Joined: 03/01/2025 Location: GermanyPosts: 257 |
| Posted: 03:59pm 28 Jul 2026 |
|
|
|
Hello ManiB,
After a quick skim, I think your book is very well done — and the illustrations are a nice touch! It won't be of much use to me personally, as I would consider myself an "experienced programmer" , but I think my friends with less or no experience will like it and see it as very helpful.
However, I do have a few suggestions and ideas for improvement:
- There is no section or chapter covering data types (integers, floating-point numbers, strings). I would include this either under "Chapter 3: Variables" or, even better, as "Chapter 4: Data Types".
In "Chapter 3: Variables," you could add a note about the rules for variable names —specifically, that many characters are allowed, including special characters like `.` and `_` to improve readability.
- At the end of that section, you could also touch upon user-defined types using structures (`Type` ... `End Type`) and refer readers to a relevant chapter in "Part II – Developing Larger Programs" or, better yet, "Part VII – Advanced Techniques". A great, easy-to-understand example is a data logger that stores A/D readings alongside a timestamp. This makes particular sense when a new value is saved only if it deviates from the last recorded value by a certain +/- delta; this allows you to capture long periods of data using very little RAM.
- I believe a previous version of the book included example programs with line numbers. It seems those have been removed? You could still include a note explaining that older BASIC dialects relied on line numbers — where they were mandatory — whereas modern BASIC dialects do not require them. Consequently, line numbers are considered "obsolete" and "not recommended," though they are often still permitted (as is the case with MMBASIC). You could also mention that line numbers can serve as "jump targets" for `GOTO` and `GOSUB`, although named labels are the better choice. And that note, that one should avoid GOTO and GOSUB as much as possible, since modern BASIC dialects like MMBASIC offer other flow control tools (SUBs, FUNCTIONs, IF..ELSE..ENDIF, SELECT..CASE, etc.).
Otherwise: kudos, and keep up the good work!
bfwolf |