Welcome!

This is a series of articles with the goal of teaching you programming using the Odin programming language. I’m going to do my best to cover all aspects of the core language here. If you are already familiar with the basics and want to learn about how to use some of the vendor packages, I have plans for that as well. I’m working on raylib content to begin with but I have plans to add lessons on other vendor libraries later.

Why learn how to program?

I’ve been programming since the mid-80s and I still love it. I initially learned to program so that I could get my VIC-20 to behave exactly how I wanted it to but that interest has ballooned into something greater. If, like me, you want greater control over how your computer works, learning to program is a great idea. You also learn a great deal about how computers work, helping you work more effectively with technology. You may be interested in a potential career as a programmer. If so, good news! The software development market is ever expanding and programmers are highly sought after. From trillion-dollar corporations to humble startups, your skills as a programmer will be of tremendous value. Programming jobs also tend to be well-paying and allow a considerable amount of flexibility. Last but not least, programming helps build your critical thinking and problem-solving skills. This is a skill which is useful in various fields.

Why learn Odin?

One of the core pillars of Odin is simplicity and readability. Odin has relatively simpler syntax compared to other systems programming languages such as C++ or Rust. It also has no garbage collection or automated memory management. As such, managing the memory is something the programmer has to do manually. Odin also has high performance. If any of these sound good to you, Odin might be the language for you.

Maybe you really do want to learn how to program, but you are not so convinced about Odin. You might have never even heard of the language before. Or you have looked into it a bit, realized that it has a very small community and not a lot of packages that you can use. There is no web framework for it for instance; at least not that I know of. Why not spend your time learning a more “useful” language?

These are all valid questions but for me, Odin brought back the joy of programming. I don’t think I’ve had this much fun since my days with the Commodore 64 and the Amiga! Whatever your goals though, I’m sure Odin has something for you. Why not give it a shot?

Hopefully, as more people discover how amazing this language is, we will get a lot more packages written for it and it will be more viable to use it as an alternative to other languages. By learning to programming Odin, you might be part of that process.

How are the articles structured?

Personally, I find it very difficult to learn something that I don’t have a need for right there and then. You could say I learning things just-in-time. This will probably be reflected in the way I write.

I will try as much as possible to introduce one concept at a time and give you plenty of chances to practice that concept before moving on. That is a bit challenging, especially in the beginning, because there are a lot of very fundamental things you need to learn and they sort of go together.

If your completely new to programming, you might benefit from reading the articles in order. But it’s all up to you. I’m really bad at reading a book (at least as relates to programming) from beginning to end. I typically have a very specific problem that I’m looking for solution to and that is why I picked up the book in the first place. So you can jump back and forth a bit, if that works better for you. You can always jump back if you get stuck somewhere.

My primary goal is to help people new to programming understand the basics. It is possible that later on I will add more advanced material as well. I’m doing this in my free time and, although I enjoy it, I also need to put food on the table.

I’m going to go very slow, because I want these articles to be useful to everbody. If I go too slow, you can skip over some parts.

The next article is about getting Odin and other things you will need installed on your computer. If you already have everyhing you need, you can skip it entirely.