# Development
I was a developer before anything else. I stopped in 2017. And in 2025, decided to go back to it. This is the documentation of everything I am relearning as well as going to be attempting.
This is a world of insanity I never thought I would find myself in again. But here we are. However there will be some method to this madness.
There are many things to learn when it comes to this topic. Especially having been out of the game since 2016. It will take some time to get back into it, especially since I intend to do it without AI. Good things take time. Nothing worth doing is easy.
## Current Task and Goals
- [ ] Learn [[Python]] as much as humanly possible in as many areas as possible; automation, scripting, data processing and clean up, some machine learning as well as web services and app development. (Via [[https://www.geeksforgeeks.org/python-programming-language-tutorial/ | GeeksForGeeks - Python]])
- [ ] Learn Data Structures and Algorithms (Via [[https://www.geeksforgeeks.org/dsa-tutorial-learn-data-structures-and-algorithms/ | GeeksForGeeks - DSA]])
- [ ] Learn Machine Learning [[https://www.geeksforgeeks.org/machine-learning/ | GeeksForGeeks - Machine Learning]])
## Languages
### [[Python]]
Python as I see it, is one of the most versatile languages we have. Learning this gives access to so many things that we can do. From general scripting, to automation, to data processing and machine learning. Sure, it isn't the most performant.
I don't need it to be high performance. I just need it to be more performant then myself. The current idea is to learn as much as possible to create high performance Python applications, whether be understanding algorithms well enough to know what to use and when, to using additional packages such as NumPy and SciPy written in C for the purpose of performance. And if all of that fails to make it faster, I will write libraries myself for the portions that require higher performance via Zig just as NumPy/SciPy was created for it's purposes.
### [[Lua]]
Lua will be how I customise Neovim, and since I want to replace all text editors with something that works perfectly for just me? I have no choice but to force learning Neovim, or even at least VIM motions, even in something like my note taking, Obsidian (which includes this website, since it is powered by Obsidian).
This means learning yet another language, but from what I understand, it is very performant, awesome, and can be useful in many other places, including making any games I make in the future ready to go for modding built in.
### [[GDScript]]
This is the native scripting language for the [[Godot Engine]], which will be my software of choice for building games. Why not? It's basically ready to go, and some cools games have come out of it. I won't ever get to a point of needing so much complexity and insanity to need to use Unreal Engine or anything of the kind, not to mention, I will never have to worry about licensing since it is [[Open Source]].
The moment I require something with even more performance for building games, or even enhancing portions of my game using another language, that is where [[Zig]] will come in, whether standalone for pure logic, or via the [[Raylib]] visual library.
### [[Zig]]
Gotta' go fast. Don't exactly want to get into C. But didn't exactly enjoy the look and feel of Rust in the tutorials either. I tried many times, but something drew me back to Zig. I don't know what it actually is, but something keeps pulling me back to Zig, just by sheer look and feel of working with it, syntax, not even anything programmatic or how it functions; I don't know enough about that portion yet. So here we are.
### ~~HTML5,~~ CCS3 ~~& JavaScript~~
I've decided to put web on the back burner for now. I could easily get back to it should I want to create websites or web applications. But for the time being, there are many other things I'd rather be doing and since I intend on creating desktop and or perhaps server software AND I only have so much time, I have to let go of a few things for now.
This markdown based website powered by Obsidian seems to be doing the job as is, for those who enjoy reading. Hopefully I make this entertaining enough over time. For everyone else...well let's face it. For those people, any extra effort will force them to bounce. So they get video content because goldfish brain go brr. Meh, is what it is, the downfall of humanity that is.
You'll notice CSS isn't struck out. That is because I will require CSS at the very least to help make even this markdown website look nice and more in line with branding, when I get around to do doing that. I may also require some JavaScript, but it will be so miniscule that it wouldn't really count and most of it will be copy/pasting from problems having been solved by others.
## Tools
- ~~VSCodium~~ - Absolutely not. I'm tired of updating VSCodium and having all telemetry and copilot features turned back on. Fuck that.
- Sublime Text 4 currently installed as the replacement for VSCodium, however I fully intend to force myself to use Neovim and or at least VIM motions as much as possible to replace all text editors ever. It would just solve so many problems for me including speed and productivity.
- [[Alacritty]] (Windows)
- [[Ghostty]] (Xubuntu)
- [[Scoop]] (Windows)
- [[Neovim]] (Learning in Progress)
- [[Blender]] (3D art, game assets, procedural creation as well as scripting via Python)
### Libraries
- [[Raylib]] - High performance featured filled graphics library built in C with many language bindings.