Odin over Zig [Part 2]
A brief comparasion and how I look at programming languages
One month passed since I ranted a little bit about programming languages, and I got a whole bunch of new opiniosas well.
When I initially wrote about Odin over Zig, I had only played a little bit with both languages, only seeing the surface of them. But I took this last month to make a project in both of them. I wrote yag as a Odin program, ranted about Zig and then rewrote yag in Zig. For this short move I actually managed to make it more strategically then my first try with Odin, although it was very easy to pick up. Zig in other hand wasn’t really that hard, but also because I played a lot of zigglings before trying it.
After I “finished” yag, not really, I started to write a game using Raylib in C just to try my first GUI application. Then I thought: “But Odin ships with raylib, why not to port the game to Odin?”, it didn’t took much time to do that and it worked flawlessly, except for some developer skill issues while casting the types… At this very moments I’ve written dozens of projects in all of these languages: Nim, C, C++ (maybe?), Rust, Odin, Shell/Bash, Python, Zig and if you consider the pack of HTML, CSS and JavaScript as well.
I shortly realized how programming languages are totally pointless, and are just mere tools. Know how to program is just enough. At the very beginning when I started to dive a little deeper into programming languages, I think I was more than 3 months to pick my first language, after struggling and testing several popular languages, I ended up in C because of it’s simplicity and how tiny the executable were. I always wondered why normally binaries are so bloated, but now I know! And I honestly wanted to C be bloated for the same reason. All of the size is partially due to runtime checks with can catch bugs and serious memory issues that are so damn painful to diagnose in C. But that’s off the point. I don’t have to choose a language over the other at all.
This post is licensed under CC BY 4.0 by the author.