1) Multi-tasking: Booting into Windows makes me feel claustrophobic now. I can start multiple programs but if one of them hangs (like Exchange) they ALL do. If you are like me you like to be doing several things at once (emacs here, netscape there, news reader the other place, etc). This is harder (or even impossible to the extent I do it) under Windows
For a moment, let's just forget about the fact that a crashed program can take the OS with it in NT/98 and just focus on Multi-tasking itself. I work on a proprietary database engine which requires doing a lot of wacky things like say...sorting a large amount of data. If I kick off a big sort on *nix, I can go about my business and keep developing without any perceptible performance degradation, while that's running in the background. Try doing the same in Windows (any flavor) and all of a sudden your mouse clicks take 5 seconds to respond and the machine becomes virtually useless. The process/time sharing/swapping management is so vastly superior on *nix that this alone is a selling point to me.
I don't claim to be an expert on this subject by any means, but I'll share my personal experience with VSS. I work in a remote development office of a Seattle company (not M$) on the east coast. Our transfer rate is usually ~60KB/s. When I start the VSS client it takes > 1 minute to simply display the source tree. All other procedures (eg. expanding a branch, or right-clicking on anything) take > 10 seconds to respond. My best guess is that there's a ton of small communications between the VSS client and server that make using it over a network with any kind of latency just plain suck. And then there's all the crap it embeds in your VC++ project files...well I won't get into it, just stick with CVS.
For a moment, let's just forget about the fact that a crashed program can take the OS with it in NT/98 and just focus on Multi-tasking itself. I work on a proprietary database engine which requires doing a lot of wacky things like say...sorting a large amount of data. If I kick off a big sort on *nix, I can go about my business and keep developing without any perceptible performance degradation, while that's running in the background. Try doing the same in Windows (any flavor) and all of a sudden your mouse clicks take 5 seconds to respond and the machine becomes virtually useless. The process/time sharing/swapping management is so vastly superior on *nix that this alone is a selling point to me.
I don't claim to be an expert on this subject by any means, but I'll share my personal experience with VSS. I work in a remote development office of a Seattle company (not M$) on the east coast. Our transfer rate is usually ~60KB/s. When I start the VSS client it takes > 1 minute to simply display the source tree. All other procedures (eg. expanding a branch, or right-clicking on anything) take > 10 seconds to respond. My best guess is that there's a ton of small communications between the VSS client and server that make using it over a network with any kind of latency just plain suck. And then there's all the crap it embeds in your VC++ project files...well I won't get into it, just stick with CVS.