Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
halfflat249442dI think we might be in the tail end of a golden age, when it comes to software design.
Right now, with enough effort and head-cracking, we can still often enough manage to "carve nature at its joints" and make abstractions with sufficiently small interdependencies that reasoning about large bodies of code is tractable.
But the trend is to bring in more and more externally developed chunks of code and services. What was a small probability of an incompatible assumption or API misuse begins to suffer from the multiplicative effect of combinatorial explosion. Reasoning through all these interactions may just become infeasible.
This and the trend towards the deployment of herds of semi-isolated, interacting services may converge, and software architecture may end up more like software husbandry — a process of management and probabilistic verification, of redundancy and failover, of best-effort translation between incompatible ontologies.
dUcKtYpEd370942d@halfflat worded nicely. Thats kinda where im getting at with a hint more optimism. Architecture and service wrangling will soon become the nature of our field if it has not already. Clean architecture and with heavy reusability is vital but as the push grows for services to become smaller (im reading small enough to rewrite in two weeks), the thick abstractions are not nearly as needed. I personally like this. I like the idea of writing the damn thing sometimes, reusing internal modules as needed across services and if its time for a rewrite, its no more then a month of work and is small and comprehensive enough to tackle. Regarding all of the required communication and how were all banking on integration in such a desperate manner, I really look forward to a day where we leave it all behind. When theres once again a push for independent use cases & not this swarm of integrations
Oktokolo183442dThe whole field of "making automatons do what humans want" currently is still in its infancy. Current days most pressing unsolved problem is "How can we ensure in practice, that work descriptions for automatons aren't actually telling the automaton to let attackers do whatever the fuck they want with the automaton and all the data accessible to it".
We are at the "It looks like it works fine for a while and then it suddenly explodes. And even the best minds on the planet can't reliably tell, when it explodes" level. That is a sure sign that we don't really know shit about that field.
That is also the same level of "mastery" as we got in the economic field, where it basically is a given, that economy has to reset each handful of generations to make room for the next period of "unlimited growth". So far, most of that resets came with pretty bloody wars - which tells us a lot about our mastery of the social field...
We truly live in a world of lowered expectations.