I have finally chosen a programming stack. After a lot of procrastination, I have finally decided what tools to stick to. I realized that my scope is way too broad and that I keep trying to get "lower-level" without ever actually learning anything. So, I've decided to (somewhat arbitrarily) pick editors, languages and libraries to stick to and get good with.
My Editor:
- Kakoune
My Keyboard Layout:
- Programmer Dvorak (DVP)
My languages:
- C (specifically, C99)
- Guile Scheme
- Python
My Libraries:
- OpenGL
Kakoune is nice. I originally liked the Helix editor, but I didn't like that it tried to be an all-in-one program. That's great for some people, but not for me. Kakoune is the inspiration for Helix, and it is a much more UNIX-styled program in the way it works. This means that instead of having the scope creep of managing everything (like in Emacs, which was my close contender) it is simple enough to just plug in nicely with my tiling window manager. I like that, personally.
As for the keyboard layout... I have never been able to type well with QWERTY. My chicken-pecking muscle memory is so strong that I have been basically unable to touch-type with it. Programmer Dvorak is something so strange and odd that I have to learn how to touch-type for it. Luckily, I've already learned decent touch-typing for DVP thanks to having too much free time in high school. It's not perfect, but it's likely the best thing for me to refine. The keybinds for kakoune might be weird because of this, but that's fine for now.
The languages were chosen for pretty simple reasons.
- C99 because it's simple, low-level and works everywhere.
- Guile Scheme because Scheme is a legendary language and GNU Guix (which I work with a lot) uses it.
- Python is not my favorite language, but I don't have anything against it. It's the language that I have to learn for my computer science class.
OpenGL might be a strange thing to mention here, but it's there because I have always wanted to learn Vulkan and as a result have never finished a game or application using it. OpenGL is simple and supported everywhere. Sure, it's not the greatest thing in the world, but it's good enough and won't such up all of my time. I can learn Vulkan later if I have a real reason to.
So, now I can say I know my stack. I'm going to stick to it unless I have a really good reason that ISN'T vague ideological purity. Which, in all honesty, is usually why I try to learn something. That's not good, so here I am.
In Christ,
Luke