If you want an excellent example of why it is a very good thing that software development now is viewed as occurring in "layers," where underlying communications protocols are abstracted, consider the situation facing mobile software developers.
"If you’re realistic you’ll admit that mobile “strategy” is a 12 month window into the future at best, where very few decisions are robust," argues Nick Jones, Gartner distinguished analyst.
Devices, tools, vendors, network contracts, business requirements, customer attitudes and competitors will change rapidly, probably invalidating some aspect of a strategy every couple of months.
For that reason, it is a very good thing that among the complications an application developer does not have to worry about is uncertainty about communications protocols in layers one through four of the "stack."
If there were tight linkage between layer-seven apps and layers one to four, developers would be in a pickle, now that the International Telecommunications Union has first created WiMAX and Long Term Evolution standards no real-world network uses, and further has complicated matters by saying that existing advanced 3G and pre-standard 4G networks are, in fact, 4G networks.
It's one thing to create standards that allow global networks to communicate. It's a good thing to have an evolution plan for networks that support greater functionality. It isn't so clear how useful it is to create a well-intentioned standard that first defines all existing networks of that type out of existence, before backtracking and declaring all of them to be "standards-compliant," and then to stretch the definition to include some advanced 3G networks as well.
App developers would face much greater uncertainty were they forced to create tools and products that had to track those sorts of changes.