I've programmed on a variety of Unix systems for almost 20 years. I've programmed on Windows (mainly NT, VisualC++) for about 3 years.
The biggest benefit to switching to Linux (or some other Unix system) is that it doesn't crash. We all write bad code when we are developing. You allocate an infinite amount of memory (or leak it), you open an infinite number of windows, you open too many files, you chase wild pointers, you pass bad parameters to system calls, you lock up all your threads, etc. Under unix, you just kill the app (from a window that will not be hung), and start again. You have not corrupted the OS.
Any number of times under Windows, the IDE goes down, or the browser crashes and the OS goes down or locks up. If I have to kill a process, the OS becomes unstable, and after a while I have to reboot.
Yes, I've crashed the X server. But you just rlogin to the box, or switch to another login screen (cntrl-alt-F4 or whatever it is - BTW - God bless whoever built that!). You can kill the server, kill your shells, kill your hung emacs, whatever. Then you just login, and start again. Linux *doesn't* hang!
This results in *way* faster development. In Linux, I don't have to be as careful, and consequently, I can move faster. In Windows, I'm always afraid to run outside the debugger, and even then it will lock up, sometimes.
One thing I do like about Windows development. That is the microsoft knowledge base. Whenever you hit one of those wierdo, impossible errors with the useless unrelated error message, you can look it up, and they record the most likely causes, and patches. It would be nice if the same service were available for linux. Searching dejanews and the HOWTO's is OK, but not as efficient.
I've programmed on a variety of Unix systems for almost 20 years. I've programmed on Windows (mainly NT, VisualC++) for about 3 years.
The biggest benefit to switching to Linux (or some other Unix system) is that it doesn't crash. We all write bad code when we are developing. You allocate an infinite amount of memory (or leak it), you open an infinite number of windows, you open too many files, you chase wild pointers, you pass bad parameters to system calls, you lock up all your threads, etc. Under unix, you just kill the app (from a window that will not be hung), and start again. You have not corrupted the OS.
Any number of times under Windows, the IDE goes down, or the browser crashes and the OS goes down or locks up. If I have to kill a process, the OS becomes unstable, and after a while I have to reboot.
Yes, I've crashed the X server. But you just rlogin to the box, or switch to another login screen (cntrl-alt-F4 or whatever it is - BTW - God bless whoever built that!). You can kill the server, kill your shells, kill your hung emacs, whatever. Then you just login, and start again. Linux *doesn't* hang!
This results in *way* faster development. In Linux, I don't have to be as careful, and consequently, I can move faster. In Windows, I'm always afraid to run outside the debugger, and even then it will lock up, sometimes.
One thing I do like about Windows development. That is the microsoft knowledge base. Whenever you hit one of those wierdo, impossible errors with the useless unrelated error message, you can look it up, and they record the most likely causes, and patches. It would be nice if the same service were available for linux. Searching dejanews and the HOWTO's is OK, but not as efficient.