Powershell is amazingly consistent for sure but each little bit of consistency has numerous inconsistencies in it which aren't exactly stable, hence the whole web request nightmare. Also things like different methods of getting the date return timezone and non timezone aware things. They nearly had it but rushed it out of the door. Also things like WinRM are totally unreliable and don't scale well due to the runtime performance being dire (try arguing with ansible/WinRM failures on a daily basis).
I think a lot of people using object pipelines miss the major point of designing test pipelines which is the first step is to make your pipeline easily parseable. So for example dates as unix dates, colon separated etc. Then you don't need to use regex and stuff. For that little bit of compromise first you end up with something which is several orders of magnitude faster than the UTF-16 and serialisation backed powershell pipelines. Try grepping a few gig of data with it :)
On your last point, you're lucky. This comes up a lot in corporate networks and proxies and occasionally randomly out of the blue.
And if developers of UNIX tools actually did that then maybe object pipelines wouldn't be nearly as appealing as they are, but we don't live in that timeline.
curl | jq | grep/awk | jq | curl
Also:
ls -l
ip -o
https://github.com/Microsoft/WSL/issues/873#issuecomment-425...
I use Windows for development at work (semi-voluntarily - our Windows support was getting neglected because most developers choose to use run macOS or Linux), and I've been getting pretty fed up with how slow it is. And it's not just filesystem performance; process creation and terminal output are horrendously slow as well.
The only redeeming thing about development on Windows is that Linux doesn't have any debuggers that are as good/usable as Visual Studio.
You can see this because the tools suck just as bad on native windows as on WSL without that in between.
Check out 10,000 small files on (1) NT native SVN, (2) WSL on Windows, (3) Linux on ext4.
1 and 2 are within 10% of the time delta. 3 is 10x faster at average.
At this point I reckon they won’t fix NT but close the gap on NT and forget to mention the MFT problem.
I’ve dealt with this issue going back 20 years since NT4 for ref.
Filter drivers and IRPs really are the worst architectural blunder MS made in Windows. They took what really should be a corner-case (driver interposition) and put it on the development path of every hardware driver programmer to trip over. We got KMDF eventually, but that took years...
> WSL's backing filesystem (NTFS) completely runs like ass.
Yep you're right, and I've asked Microsoft about this and they're working on it: https://twitter.com/mikemaccana/status/1047941737719762946
> powershell's principle is based on the principle of most surprise.
Really? I find it quite consistent. Here's a bash to powershell conversion:
https://github.com/mikemaccana/powershell-profile/#how-does-...
The general syntax is very much designed rather than grown, you can predict most commands, and using 'select' and 'where' to pick the keys you care about in your output is way better than scraping with regexs.
> Like when I tell it to download something, I don't expect to have to futz with IE browser settings (WTF?!?!).
That sucks. I haven't ever had to do that. I'm not sure why.