
Tony Juricic wrote: <snip>
Environment easily gets too large, too messy and unmanageable (especially when you add also Java and/or Python) and I can not understand why would each tool or app pollute global environment. If you think a bit about it, there is no huge difference between the environment and the registry except that latter has a tree structure (as opposed to flat key-value environment) and does not get passed to each app as a block of memory.
Under Windows it is common to set environment variables on a per-computer or per-user basis - in which case they are stored in the registry, loaded by Windows Explorer and passed on to the processes it spawns. If you're used to this way of doing things I can see why you might not appreciate the use of environment variables. However, there is a huge difference: registry settings (and configuration files) have static scope whereas environment variables have dynamic scope, and dynamic scope is sometimes very useful. You can easily change environment variables on a per-session or per-command basis. However, I agree that they should be used sparingly. Ben.