What's fun about software development is that you can leverage the deep features of whatever platform you're on. This includes direct access to the input/output subsystems, video memory, and even the stack. Thus, you can make the software do exactly what you want it to do, directly exploiting platform features.
However, as we move to cloud computing, including development platforms, that ability to leverage deep features could be coming to a rapid end. Consider the fact that cloud-based platforms are multitenant, and most resources are virtualized. The ability to program down to the metal is no longer there, both for legitimate reasons such as using a GPU for floating-point calculations and illegitimate reasons such as using a low-level hack.
[ Get the no-nonsense explanations and advice you need to take real advantage of cloud computing in InfoWorld editors' 21-page Cloud Computing Deep Dive PDF special report. | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]
Why? It's an architectural reality that you can't allow platform users and/or running software to directly access physical resources. These physical resources are shared with the other tenants through layers of technology that fake out users and software into thinking that the physical resources are dedicated to them. They are not -- they are abstracted virtual resources that must be accessed using specific and controlled interfaces.
Will developers tolerate the inability to program to "the metal"? Most will, but some won't.
Developers often gave up control for productivity in the past, and cloud computing is just another instance of that. On the downside, they won't be able to get "wiggy" with the software they create or use direct access to platform resources to gain an advantage in look and feel and in performance. However, this kind of "to the metal" programming often leads to platform issues down the road, such as when OSes are upgraded and physical resources change.
In many respects, the limited access to platform resources could be a positive change for users of software, if not for developers -- that is, if developers can get over the loss of control.
This article, "Developers in the cloud lose access to the 'metal,'" originally appeared at InfoWorld.com. Read more of David Linthicum's Cloud Computing blog and track the latest developments in cloud computing at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.