Thanks for the post. Pretty enlightening. One thing that was just briefly glanced over is one of my all time favorite Windows program habits: programs that run all the time. Well of course I'm not talking about network connection managers or anti-virus software, but why does WinZip, instant messenger clients of all kinds, and of course real player need to run all the time. I was once told that programs do it because they want to stay competative with other programs that do and thus load a lot faster. I think there's a possibility they want to do their own personal shell integrations but doesn't Windows have hooks for that stuff? Any idea why Windows programs never stop?
AFAIK, it's for efficiency. You preload a bunch of code and data so that when it's needed it's ready to go, and then leave your program running all the time.
There are only two optimizations in computer science. Do the computation early and cache the results so you don't have to do it again (memoization), and don't bother doing the computation until you know you need it (laziness). This falls under the first category.
2 comments:
Thanks for the post. Pretty enlightening. One thing that was just briefly glanced over is one of my all time favorite Windows program habits: programs that run all the time. Well of course I'm not talking about network connection managers or anti-virus software, but why does WinZip, instant messenger clients of all kinds, and of course real player need to run all the time. I was once told that programs do it because they want to stay competative with other programs that do and thus load a lot faster. I think there's a possibility they want to do their own personal shell integrations but doesn't Windows have hooks for that stuff? Any idea why Windows programs never stop?
-mike
AFAIK, it's for efficiency. You preload a bunch of code and data so that when it's needed it's ready to go, and then leave your program running all the time.
There are only two optimizations in computer science. Do the computation early and cache the results so you don't have to do it again (memoization), and don't bother doing the computation until you know you need it (laziness). This falls under the first category.
Post a Comment