itch.io is community of indie game creators and players

Devlogs

Version 1.8: Strings chapter overhaul

Hi there! I have just released version 1.8 of the book. Here comes the changelist:

Strings chapter overhaul

This version does some major changes to the strings chapter (chapter 11). It has been heavily revised and expanded. Some changes are:

  • Clearer about how UTF-8 is decoded into runes.
  • A section on how to manually decode UTF-8.
  • The old “bubble” about null termination has been made into a proper section.
  • The section “Deallocating strings mixed with string constants” has been made clearer and more useful by considering a map instead of an array.
  • A section on how the phrase “string constant” can be ambiguous.
  • The Windows section on UTF-16 has been mostly rewritten and now uses the new cstring16 type.
  • Many, many more small changes and edits.

A small part of this updated strings chapter is available in this video and this blog post.

Changes to other chapters

  • Chapter 1.5: Typo fix.
  • Chapter 2.4: Note about odin run . -keep-executable (new Odin behavior).
  • Chapter 3.2: Typo fix abut type inference.
  • Chapter 5.3: Clarification about the .(Type) syntax used to check the variant of unions.
  • Chapter 7.4: Clarified a sentence.
  • Chapter 7.8: Add information about “contextless” requirement for @init and @fini.
  • Chapter 10.1.5: Code typo fix.
  • Chapter 10.3: Remove unnecessary slice operation.
  • Chapter 11.6: Code typo fix.
  • Chapter 15.2: Move bubble about bit_set initializers to a more appropriate location.
  • Chapter 15.2.2: Typo fix.
  • Chapter 15.3: Typo fix.
  • … and several additional small fixes!

Thank you!

To get this new version, just re-download the book.

Thanks for buying my book!

Have a nice day! /Karl Zylinski

Files

  • HTML (computer, tablet, phone) 3.5 MB
    10 days ago
  • eBook / EPUB (e-reader, tablet, phone) 1.3 MB
    10 days ago
  • Sample (HTML) 1.4 MB
    10 days ago
Download Understanding the Odin Programming Language
Read comments (1)