I actually find PuTTY to be horribly frustrating to work with, compared to a proper terminal emulator on OS X or Linux. Part of that is just Windows (when the window closes it's gone), part of it is that it's really just an SSH command (no local terminal, no easy SCP), part of it is the cumbersome UX (make a bunch of changes to the connection and then hit 'go'; oh wait, you didn't save the changes first? crap).
I do agree with the core of your point though; an actual terminal with actual commands that actually work well would be great.
Windows Powershell is actually really fascinating from one point of view though: the idea that instead of passing raw (inconsistently formatted) ASCII/Unicode data between pipes, the data is actually presented in terms of a data structure; thus you can easily say 'sort by the third column descending' or 'show every second record'. A significant amount of my bash scripting on-the-fly tends to be chaining several commands together to munge output data solely for the purpose of letting the next command parse it properly. Powershell, in some ways, takes care of this.
In 2014, PuTTY still makes you set your whole window to a complete Unicode font (usually buggy and weird-looking) to avoid international text showing entirely blank. Surely even Windows has better text API than that?
I do agree with the core of your point though; an actual terminal with actual commands that actually work well would be great.
Windows Powershell is actually really fascinating from one point of view though: the idea that instead of passing raw (inconsistently formatted) ASCII/Unicode data between pipes, the data is actually presented in terms of a data structure; thus you can easily say 'sort by the third column descending' or 'show every second record'. A significant amount of my bash scripting on-the-fly tends to be chaining several commands together to munge output data solely for the purpose of letting the next command parse it properly. Powershell, in some ways, takes care of this.