Welcome!

This is a series of articles with a goal of teaching you programming, via 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 gradually staring to work on some raylib content to begin with.

Why learn how to program?

I’ve been programming since the mid-80s and I still love it. It helps to pay the bills, but even if it didn’t, I would still write code as a hobby. Why would you suffer at a job you don’t like when you can do something you love?

You might also be worried about the future. Maybe you’ve heard that AI is coming for all the programming jobs. Well, nobody can really predict the future, so why worry about it? There are a lot of things that AI may or may not do in the future and if you follow a lot of social media, AI is more or less already ruling the world. I wouldn’t pay much attention to what is said on social media first of all, and second of all, even if AI took over all programming jobs at some point in the future, what will you do to keep your brain sharp? If you don’t do anything, it will simply rot away and I don’t think that’s something you would want, right?

Why learn Odin?

Maybe you really do want to learn how to program, but you are not so convinced about Odin. You might never even have 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, at least not that I know. Why not spend your time learning a more “useful” language?

Those are valid questions and those are decisions you are going to have to make. All I can say is that for me, Odin really did bring 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.

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?

I’m a slow learner. I need to write a lot of code to help me grasp concepts better. That’s not really problem, since I enjoy writing code.

Moreover, I find it very difficult to learn something that I don’t have need for right there and then. You could say I learning things just-in-time. Probably these things will reflect in the way I write.

I will try as much as possible to introduce one concept at a time and give you a lot of chance 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 to understand the basics. It is possible that later I will add a bit more advanced materials as well, but no promises. 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 to slow then you can skip over some parts or maybe its just that these articles aren’t meant for you. Sorry about that. But there are alternatives. You can search for books, other tutorials and, if it works for you, videos that teach you Odin (personally I am not able to learn anyhting by video so I stick to written materials).

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.