Well, I am a programmer. I am not really a new programmer, but I have also never been employed as one. For, there is this issue: I write stuff on my own. In this world, no degree, and no prior work experience, means no job. Left starting classes for CNC Machining, at least then maybe someone will hire me (and I can have some semblance of income).
I have written two 3D engines, an older engine (BGBTech) which grew organically but became a bulky, slow, and difficult to maintain mess. I have a newer 3D engine (BGBTech2), which I am trying to make a more cleanly engineered piece of technology, taking lessons I have learned in my earlier years and trying to turn them into something a little more polished (well, by my standards, by more general standards it is more like a pile of feces given a shiny coating of acrylic floor wax). But, it regularly shows its lack of maturity, as I haven’t yet re-implemented many things from the old engine, and bugs/crashes are hardly an uncommon occurrence.
I have custom codecs, which go reasonably fast (in more recent iterations, I am getting speeds measurable in gigapixels/second for multi-threaded encoding/decoding, on the CPU). This is not via some epic optimization, so much as by doing a bit of retro-90s engineering. Though taken for granted, we now have around 20 years of people using progressively more expensive designs in the name of being “better”, then people are like, “well, you gotta use the GPU and/or dedicated hardware for this stuff?”
But, what if one sacrifices a little compression, and a little elegance, making something that looks like a monster which crawled out of 1993 and then grew some Cthulhu like appendages? Well, it isn’t pretty, but it can be fast.
It is not a language design meant to inspire, or to upset the status quo, it is a language to hopefully get “real work” done in, and to hopefully not perform like garbage. In some sense, conventional language design works well here. However, it is a scripting language in the sense that, at least at present, its dominant use-case is being loaded directly in the form of source code.
In a way, it is at odds with its “compiled” siblings which assume an explicit compilation step (even if they are to be JIT compiled from bytecode), and dynamic languages which are more frequently loaded from source but have performance which ranges between lackluster and dismal (“Wow, it is so fast! It is only 30 or 45 times slower than what it would have been had we written it in C!”). How about a scripting language where, for code which resembles C, it isn’t too drastically slower? Like, maybe we can have a language design which isn’t at odds with making it fast?
Granted, explaining much about these things may be a matter for another time.
Maybe next I will try to address some of these topics individually.