Understanding the Odin Programming Language teaches both basic and advanced concepts. You'll learn about variables, constants, procedures, manual memory management, parametric polymorphism, data-oriented design, and much more.
A programming language is a tool. By understanding your tools, you will become a better craftsperson. Therefore, on top of how to write Odin code, this book also provides explanations of why things work the way they do.
The target audience is anyone with some programming experience. Odin is a simple yet powerful language, making it a great introduction to low-level programming, regardless of your programming background.
Chapters:
1. Introduction
2. Hellope! A tiny program
3. Variables and constants
4. Some additional basics
5. Making new types
6. Pointers
7. Procedures and scopes
8. Fixed-memory containers
9. Introduction to manual memory management
10. More container types
11. Strings
12. Implicit context
13. Making manual memory management easier
14. Parametric polymorphism: Writing generic code
15. Bit-related types
16. Error handling
17. Package system and code organization
18. You don't need a build system
19. Reflection and Run-Time Type Information (RTTI)
20. Data-oriented design
21. Making C library bindings (Foreign Function Interface)
22. Debuggers
23. Odin features you should avoid
24. A tour of the core collection
25. Libraries for creating video games
26. Things I did not cover
27. Where to find more Odin resources
28. Thanks for reading!
29. Appendix A: Handle-based array
30. Appendix B: Using only fixed arrays
31. Appendix C: gui_dropdown from CAT & ONION
32. Appendix D: Box2D and raylib
33. About the author
Karl Zylinski is an independent game developer and programming educator. He is the author of Understanding the Odin Programming Language, a book that teaches Odin in an approachable way. Karl is the creator of the video game CAT & ONION. It was the first commercial video game made in the Odin Programming Language. He also runs a YouTube channel where he shares educational material on Odin and game development.
In the past Karl has worked as a game engine programmer at Our Machinery, Bitsquid and Autodesk. He has also worked as a game programmer at Hazelight (A Way Out) and Friendly Foe (SOULBOUND).