Guess standardization also falls under the point of this post, though to a lesser extent.
I’ve been working on (the currently less relevant parts of) Panic Attack today. Specifically, the ability to download minigames as zip files from my server and making them available for the dynamic loading to pick up. It’s not finished, but I’ve gotten a long way already. (Write permissions are hard to come by though, so I’m a bit restricted in what I can do, which screwed over my original plan a bit.) I also converted the dynamic minigame file loading thing to be cross-platform. Apparently my previous solution would only work on UNIX systems, which Windows OS is not. Luckily, that was made super easy!
It’s kind of the entire point of using a framework and/or libraries, but it’s fucking great how somewhere someone took the effort to write code for an action for every possible scenario (in this case, operating systems) and then make that available for public use. This means we, the higher-level developers (software-wise, not ranking), can simple call their code, “hey, I need to get this done, can you handle that for me?” Then their code will take a look and figure out what the most functional way of doing things is and process our request as it sees fit.
This removes a lot of tedious “oh but then there’s this edge case we need to deal with” type work from our load. All the nitpicking has been abstracted away to make our lives easier. And the people doing that for us? They’re god damn heroes I’ll have you know.
Reading this back, yeah, I just described why people make code libraries for things. Filesystem stuff? There’s a module in your framework for that. Networking? Plenty of libraries available. Making something cool? yeah, luckily we don’t have that abstracted for us yet.
Sure, sometimes it’s fun to dive past those abstractions, but usually they’re just too big timesavers to ignore them.