Linked by Thom Holwerda on Mon 21st May 2012 20:03 UTC
Windows For Microsoft, the traditional desktop is old news. It's on its way out, it's legacy, and the harder they claim the desktop has equal rights, the sillier it becomes. With companies, words are meaningless, it's actions that matter, and here Microsoft's actions tell the real story. The company has announced the product line-up for Visual Studio 11, and the free Express can no longer be used to create desktop applications. Message is clear.
Permalink for comment 519028
To read all comments associated with this story, please click here.
RE[6]: "19th Century Dentist"
by Alfman on Tue 22nd May 2012 17:29 UTC in reply to "RE[5]: "19th Century Dentist""
Member since:


"The Win8 execution model says: 'If programA wants to use the Network, it must explicitly state so declaratively, and then when it does, it must behave predictably or be killed.'"

I understand that, but there's no technical reason this kind of meta data couldn't also be applied to win32s, which is just an API. The OS is always free to manage resources like it always has. As an example, the linux kernel can run processes inside cgroups which can monitor process resource usage and apply hard/soft limits whether or not application binaries are aware of them. Adding these features to linux didn't require developers to abandon their APIs and rebuild apps from the ground up. I don't see a technical reason OS resource enforcements in metro cannot be applied against desktop apps if that were a goal.

"Most programs, realistically, don't need to always be running..."

Of course I agree with that, but by far and large I think applications which don't need to be running in the background are *already* not running in the background because the OS isn't sending them any events to handle. And those that are running in the background are doing it because they're doing real work (like an SFTP client transferring files).

"I agree, but in my own experience its been more than a few timesI've had to kill tasks."

I've inadvertently programmed such tasks myself on more than one occasion, but these were quickly discovered, and in principal one could apply the same quotas against both metro and win32 apps such that the performance degradation of endless loops would be the same in either case.

"Windows 8 tablets and laptops support ultra low power states in which the network card will wake itself back up when data comes in over the wire. Something that can't be done if an application is polling doing a blocking read."

Hmm, polling and blocking are totally different approaches. Polling is extremely bad, but I honestly haven't seen too much of that since the days of DOS. Polling has been replaced with various kinds of blocking mechanisms (event passing, asynchronous callbacks, IO threads, ...). In all cases though when a thread is blocked on input it is asleep and not consuming any CPU. The OS chooses when to wake it up to handle new IO events.

"With Win8 you hand the OS a background task, and you'll have your network data pushed to your app when it comes in, its basically a 'Don't call us, we'll call you'."

Then I'll need you to explain how the mechanics are different from a win32 event loop, other than being a different API, since the win32s can also be described as "don't call us, we'll call you".

"I think its demonstrably true that Metro Apps use less resources."

I am skeptical, I'd love a citation for that.

"A great majority of them do not run in the background at all, others use resources moderated by the OS, and there is less resident memory taken up by the apps."

I understand this, but I feel like your insinuating that most win32 apps do run in the background when minimized when I actually think they're blocked on input and are completely asleep. Even if they are not, an OS could always force them to sleep until they're brought back to the foreground as policy demanded.

Again, I'm not trying to undermine the merit in winrt, it may be a wonderful API (apart from certain restrictions...). I just don't know if there's any substance to the argument that win32 inherently wastes more energy.

Edited 2012-05-22 17:41 UTC

Reply Parent Score: 4