3 ms·
Now to put on my grumpy pants... Programming nowadays feels more like an exercise in importing other people's code correctly. I feel like it's mostly writing s
by i_dont_know_ 5y ago
Now to put on my grumpy pants...
Programming nowadays feels more like an exercise in importing other people's code correctly. I feel like it's mostly writing something that takes data format X, converts it to format Y for library Z and then 'just works'[sic]. The 'heavy lifting' is usually not happening in your code, but in one of the libraries/full-on programs being pulled in, and your code just happens to be calling it with the right parameters.
This isn't all bad, in that it allows ideas to be tested and products to be created in a testable (and sometimes even shippable) form in a ridiculously fast amount of time, but then you're also far more prone to discover some library in your stack had a breaking change a few versions ago and you suddenly don't know when your upgrade will be delivered because you don't know if it's just a 'legacy=true' parameter that needs to be passed in or they redid their core somehow.
Or you try to profile your code just to find 97% of the execution is from the single 'load_thing_from_internet()' call and you have no idea if you want to fork and maintain a branch of that thing, switch it out for something else, or try to write your own. And you probably have dozens of these in the code you don't even know about because the libraries you import are just the same thing.
I think this whole process makes for sloppy, difficult-to-understand, and slightly scary applications -- and this is basically all applications running today.
- CodeGlitch 5y ago> Programming nowadays feels more like an exercise in importing other people's code correctly. I feel like it's mostly writing something that takes data format X, converts it to format Y for library Z and then 'just works'[sic]. The 'heavy lifting' is usually not happening in your code, but in one of the libraries/full-on programs being pulled in, and your code just happens to be calling it with the right parameters. AKA "plumbing". Yes I agree this is pretty much all I've been doing the last few years. > This isn't all bad, in that it allows ideas to be tested and products to be created in a testable (and sometimes even shippable) form in a ridiculously fast amount of time, but then you're also far more prone to discover some library in your stack had a breaking change a few versions ago and you suddenly don't know when your upgrade will be delivered because you don't know if it's just a 'legacy=true' parameter that needs to be passed in or they redid their core somehow. I know it's a buzzword but it shows how important DevOps is in modern development. It's something I need to spend more time on...