|
> you only need trivial software to get by I'd like to see the smug suckless crowd write anything resembling a modern 3D multiplayer video game today, from scratch, using OpenGL (oh, because Vulkan is 'bloat'—extremely ironic take, given Vulkan is closer to the metal than OGL), C, and their various collections of UNIXisms. I'll bet they'll just dismiss video games as 'bloat' and mindless time-wasters, and 'you shouldn't play video games, just write code.' I dislike this sort of dogmatic thinking. Use what works, use what is practical, use what is easy, use what is reasonably efficient and fast without being extremely complex. For me, oddly enough, this sits squarely in the 'sucks a lot' group of things. I write my code in VS Code and Visual Studio on Windows, using CMake. I use C++ if I need native performance; otherwise, I use C#. I use LaTeX only if I am writing a complex paper or report which needs detailed typesetting, nice graphics, long bibliographies. Otherwise, I reach for Word. I think XML is a great markup and serialisation tool, especially if one has a fully-conforming schema and code generator. JSON, YAML, TOML, etc. are all generally inferior to XML, by virtue of missing features that XML has. Proof by example: large, complex APIs (OpenGL, Vulkan, WinRT) are usually released in XML, upon which code generators may be built for different languages to generate projections in said languages. If these languages have reflection, one could even write the generators in the languages themselves. |
I use the technology stack I do as a means to an end, and that end is not because I couldn't make a computer do something without the tower of shit I've got living on my desk. It's because I have to make money to live, and that means selling software to other people, so it should probably run on their computers. Most of the thinking that goes into my job isn't mathematics or theory. It's wrangling the absolute clusterfuck of a technology stack that consumers buy up by the millions and trying to hammer some kind of reason into it, ensuring that all the hundreds of moving parts of this massively complicated product run well on not just the computers of spoiled first worlders who think a 2060 is "low end", but on the tens of thousands of computers that run our games which are around 10 years old.
I would much rather live in an ivory tower and do everything from scratch and not have to think about making sure Ivan from Vladivostok isn't going to be shitting up the Steam forum because MSVC decided /O2 means "please reinterpret this code to run 10x slower than it did in your last minor version senpai" or the dozens of esoteric GPU issues I've had to solve over the years. Please. I would much rather be hand-rolling 3D rotation matrices than this shit.