On Sat, Sep 9, 2017 at 12:45 PM, Amir Rachum <amir@rachum.com> wrote:
> Peter and Dan, there's "right" and there's "helpful" and you two are
> neither. Telling someone who was unsuccessful at installing Python on
> Windows to install Linux is just getting them deeper in trouble. I use
> both Linux and Windows for professional Python development and they
> are both adequate and most definitely not "3rd-rate software".

Actually, there aren't many developers who argue For Windows. They
mostly work at Microsoft or own Microsoft stock - or simply have
little to no basis for comparison. Oh, and IT people - they love being
told "Sorry, we can't do that - but then you don't really want to" by
Microsoft because it gets the IT department off the hook.

But most people who use Microsoft products don't do so because it's
good software, they use it because "that's what everybody else is
doing".

I had the displeasure of working at Microsoft for a while; they
acquired a Linux company I was working at. They didn't give me a
title, BTW. Real Amusing.

Anyway, if we hadn't had some sort of virtualization product, we
would've had big problems, because Windows kept messing itself.
We had to reset to an old snapshot several times a day on some
projects.

Then there's the matter of passing a quoted string to a subprocess on
windows. It's a mess, because every command has to do argument
splitting itself and the default implementation doesn't do it well.
The arguments are actually passed as a single, flat string, rather
than as distinct strings in an array.

And there's the matter of getting a usable exit code back from a
Windows subprocess; they're nearly 100% reliable on *ix, but on
Windows they frequently don't mean what they should. PowerShell
actually abandons exit(exit_code) and adds its own way of doing it to
work around the problem.

Then there's the "It's only good if it comes from Microsoft" mindset,
which is condemning enough on its own. EG: I suggested that I do my
work in Python, and they replied that no one knows Python (implying it
was thus a bad choice), and saying that I had to work in PowerShell.
Even IronPython wasn't good enough for them!

That's right, they'd probably prefer it if Python just died, and we
all worked in PowerShell or C#.

They literally said, during an all hands meeting across the entire
company, that they wanted All of Earth's important software to
come from Microsoft - that was their goal.  So yeah, if you work
on an important software product, they want you out of business.
If you're lucky you might get acquired. The hubris is astonishing.

Also, I once saw Balmer accidentally tackle a woman in a televised
meeting, and just keep running up onto the stage without so much
as helping her back up. There's priorities for you.

Also, a guy I used to play Go with once told me about being told
"F*ck you!" by Paul Allen on Microsoft's support line - Paul Allen
being one of Microsoft's founders. There's quality tech support for
you. Not.

Oh, and there was the time I commented that Microsoft filesystems
don't support symlinks. I got a sour face in response... until I
finished my sentence saying that the latest Microsoft filesystem did
support them, by a different name. That wasn't good enough for our
product, but suddenly symlinks mattered to this guy, and talking about
their absence wasn't so bad.  It's like an honest, candid discussion of
technical merits was off limits.

Then there's the problem of Microsoft tools mostly having non-columnar
output. That really makes a mess of automatically parsing their
output.

I have extensive notes on the problems I encountered in PowerShell.
Do I really need to trot them out? And do I need to mention that I
used to be fascinated by language design and implementation?

Oh, and lets not forget Microsoft zooming from no security in their
filesystems at all, to a baroque, overengineered security system.  *ix
sits somewhere in the middle, and is used much more effectively by
endusers.

Like I said, Windows is usable, but it's far from equal to *ix (which
includes Linux and macOS). Microsoft has a history of emphasizing
profit over software quality, and the problems just get layered deeper
and deeper. Because what "matters" is MS Office sales, not technical
debt in our foundations. Not.

Now, mind you: I didn't say "Use Linux instead" nor did I say "Install
Linux today" - those are both strawperson arguments. I did, however,
say that there are reasons to discuss switching to something better,
both for the O.P. (today, someday, maybe never, but at least the O.P.
is relatively known to be aware) and for the list as a whole.

Also, you don't have to buy a whole new computer to run Linux -
Windows does, as I already implied, passingly well with
virtualization (hey, it appears to be better than FreeBSD at that -
I've used Windows more than FreeBSD though, so I could be wrong), so
you can just install VirtualBox (or VirtualPC, or whatever) and run
Linux inside your Windows.  But I didn't just say that primarily as a
response to the O.P. I'm saying it primarily to you, Amir. 

PS: I used to have Microsoft options, as a condition of employment. I
flipped them as soon they vested, despite the tax implications. And I
only feel a little dirty for accepting their money.

PPS: One of the guys Microsoft acquired along with me, said "Windows
just sucks!" during his interview-that-wasn't-an-interview. They kept
him anyway. Make of that what you will.

--
Dan Stromberg