Why are using Linux for a number of reasons, some of which I've talked about elsewhere:
It is used a lot in the industry, and we should have at least one course here at BC that covers it. Most of the major websites are hosted on Linux The folks who drive and develop most of the tools for building web applications are using OS2 and Apple. From the command line, Linux is just a variation of the Apple OS, or vice versa. They are both Unix variants. As a result, I find things tend to work more smoothly on Linux than in Windows doing this kind of development. Recall that you are free to do all your work in Windows if you want. I've taken that approach in the past in this course, but I decided it was more trouble than it was worth. But Microsoft has done a lot of work to ease the path to Node development on Windows since then.
Finally, since this has come up multiple times, I should probably just say that there comes a time when it is best to just stop fighting the inevitable. I'm not going to switch to Windows in the middle of this course, and have no plans to make such a switch in the foreseeable future. (Anything might happen, but I don't have any plans to make this kind of switch.)
The problem comes when a student decides they don't like some decision a teacher has made, and they imagine that the decision will be reversed. As a result, they don't really focus on learning that technology. Instead, they spend a lot of time thinking about how they don't like the technology. After a point, all that energy is just wasted.
Programming is hard. Any wasted motion can be problematic if maintained too long:
https://www.hanselman.com/blog/StopSayingLearningToCodeIsEasy.aspx (Links to an external site.)
I hope you understand I don't enjoy seeing your struggle with this technology. My hope is that you will love it, or at least want to learn it.