Cash: a cross-platform implementation of Unix shell commands in JavaScript
Using a terminal in windows was a horrible experience when I had to do it for a (fortunately brief) project a couple of years ago. But I think the real problem isn't the lack of a decent shell; there are already several shells out there that, while not as nice as their modern Unix equivalents, are at least usable. The bigger problem for me was the terminal emulator. Awful fonts, worse rendering, crappy copy/paste, limited size, no split screen or tabs, etc etc. It truly felt like being back in the 90's, although I'll bet that even in the 90's the Linux terminal emulator experience was better than Windows is now.