I can’t help but think that the AJAX technology, where we make small calls to the server and receive JSON objects, has ruined software development — because of asynchronicity.
The regular statement flow of a software application is broken, and we have to force it via twisted .when()/.then()
chains and ‘promises’ to streamline it back. By default, we don’t proceed from Line A to Line B, and this makes code spaghetti-like and hard to read.
Wasn’t it possible to design a straightforward synchronous client-server channel? Does asynchronicity really buy us a lot benefit? I don’t think so. We still end up writing programs where serial actions are required, just like before (and why wouldn’t they be? most actions depend on the ones before them — very little can actually be parallelized, especially in GUI applications). Only now we have to work around strange new limitations and twist ourselves into a pretzel to write simple code.
We’re under the impression that software development always improves, and yet we take huge steps backward with stupid technologies that set us back and slow us down, all in the name of some stupid “benefits” that turn out to be disadvantages, such as asynchronous client-server communication.
Is there some truth to this?