new-programming-stack.md (2603B)
1 `((title . "A Programming Stack Has Been Chosen") (date . "2025-09-01"));` 2 I have finally chosen a programming stack. After a lot of procrastination, I 3 have finally decided what tools to stick to. I realized that my scope is way too 4 broad and that I keep trying to get "lower-level" without ever actually learning 5 anything. So, I've decided to (somewhat arbitrarily) pick editors, languages and 6 libraries to stick to and get good with. 7 8 My Editor: 9 - Kakoune 10 11 My Keyboard Layout: 12 - Programmer Dvorak (DVP) 13 14 My languages: 15 1. C (specifically, C99) 16 2. Guile Scheme 17 3. Python 18 19 My Libraries: 20 - OpenGL 21 22 23 Kakoune is nice. I originally liked the Helix editor, but I didn't like that it 24 tried to be an all-in-one program. That's great for some people, but not for me. 25 Kakoune is the inspiration for Helix, and it is a much more UNIX-styled program 26 in the way it works. This means that instead of having the scope creep of 27 managing everything (like in Emacs, which was my close contender) it is simple 28 enough to just plug in nicely with my tiling window manager. I like that, 29 personally. 30 31 As for the keyboard layout... I have never been able to type well with QWERTY. 32 My chicken-pecking muscle memory is so strong that I have been basically unable 33 to touch-type with it. Programmer Dvorak is something so strange and odd that I 34 have to learn how to touch-type for it. Luckily, I've already learned decent 35 touch-typing for DVP thanks to having too much free time in high school. It's 36 not perfect, but it's likely the best thing for me to refine. The keybinds for 37 kakoune might be weird because of this, but that's fine for now. 38 39 The languages were chosen for pretty simple reasons. 40 1. C99 because it's simple, low-level and works everywhere. 41 2. Guile Scheme because Scheme is a legendary language and GNU Guix (which I 42 work with a lot) uses it. 43 3. Python is not my favorite language, but I don't have anything against it. 44 It's the language that I have to learn for my computer science class. 45 46 OpenGL might be a strange thing to mention here, but it's there because I have 47 always wanted to learn Vulkan and as a result have never finished a game or 48 application using it. OpenGL is simple and supported everywhere. Sure, it's not 49 the greatest thing in the world, but it's good enough and won't such up all of 50 my time. I can learn Vulkan later if I have a real reason to. 51 52 So, now I can say I know my stack. I'm going to stick to it unless I have a 53 really good reason that ISN'T vague ideological purity. Which, in all honesty, 54 is usually why I try to learn something. That's not good, so here I am. 55 56 In Christ, 57 58 Luke