

Why do programmers hate Microsoft? - daram
http://adtmag.com/articles/2010/10/19/developers-rip-microsoft.aspx
Why do programmers hate Microsoft so much? A search finds hundreds of anti-Microsoft rants in source code comments, ranging from personal attacks on Bill Gates to frustration with supposedly not following standards and putting out buggy, insecure code.
======
keithwarren
Almost every person I have ever met who _hates_ Microsoft was either ignorant
of the matters (meaning they just read what other people said and never had
original thoughts) or had a specific beef in one area that they let inform
their thoughts about the company as a whole.

Lots of web developers, especially those who were not professional developers
in the 90s see and hear this horror story of a big mean monopolist who set out
to destroy Netscape. It is funny how history chooses the more salacious of
headlines, easy to forget that IE4 was a breakthrough browser that ate
Navigator's lunch heads up. Certainly the OS integration made a big difference
but this picture of an evil lurking monster hoisting terrible code and
practices upon us is and never was true.

The other thing I think which happens is group opinions get formed. Microsoft
is strongest in the enterprise, which is more apt to say - big businesses. Big
business and the entreprenuerial hacker/dev dont get along, bigbiz in large
part wants and fosters a need for programmers. Their hierarchical and red tape
laden structure destroys creative spirit so what you get is lots of people who
accept this, learn within that framework and dont really develop beyond the
skills needed for their job. They latch onto Access and VB and do it badly
because no one with great skills taught them any better and their bosses just
need X to work and performance or elegance dont matter at all. This mindset
gets associated with Microsoft people and the non-MSFT crowd begins to think
anyone who does Microsoft work is some mindless noob with no skills.

It is sad really, because Microsoft is years ahead of any other company in the
way they treat developers. If you havent used Visual Studio you wont
understand that.

~~~
jdietrich
> It is sad really, because Microsoft is years ahead of any other company in
> the way they treat developers. If you havent used Visual Studio you wont
> understand that.

Microsoft treat developers like cattle. You've just got to look at their
corporate structure, where senior developers might be reporting to a dozen
different managers. Companies that respect developers give them freedom and
autonomy, they trust in their decisions, they allow them to choose their own
tools and their own way of doing things. Oh sure, there are plenty of people
working on exciting little development projects that never see the light of
day beyond a tech demo, but geting so much as a single feature into a major
product has become an ordeal.

For me, the obvious anecdote is the taboo that surrounded the iPhone at
Redmond, with numerous reports saying that Microsoft staff felt the need to
hide their iPhone from senior execs[1]. To me, that's the sign of a company in
deep trouble.

The obvious inference to draw is that Microsoft as a company would rather
remain in denial than really confront the inadequacies of their products. Any
company that I'd want to work at would have responded to the iPhone by
obsessively studying it rather than ignoring it. The really pernicious issue
is the obvious distrust and lack of communication between the footsoldiers and
their leaders. When staff feel like they aren't allowed to voice an obvious
truth - that they prefer the iPhone to any WinMob device - that strikes me as
a frightening place to be. It's the stuff of Orwell, the kind of madness you'd
expect from a failed state.

I don't care how good Microsoft's IDEs are. I hate Microsoft, I loathe
Microsoft, I despise Microsoft because they run contrary to everything I feel
software should be. Microsoft seems to crush any sense of wonder and joy out
of their employees, something which seems self-evident from their products.
They favour micromanagement and process over autonomy and craft. They see
software as just some crap that they can package up and sell, rather than
something beautiful in itself, something intrinsically interesting and
wonderful and beautiful.

You might say "Why should a corporation care about these things?". If you do,
you miss the point entirely. Microsoft are stagnant. They're a zombie company,
absolutely incapable of regeneration and growth. They are currently trading at
below their post-bubble value and have failed to achieve any meaningful growth
in several years. Their market cap has been exceeded by Apple; Google are well
on their way to overtaking them too. You can't even make the argument that the
Microsoft way is about business, because they're failing dismally at that.

Beauty and joy and excitement isn't just good for developers and users, it's
good for the bottom line. Microsoft represents the rotten old way of doing
things, a way that just doesn't work anymore. Good developers, developers that
make stuff that really matters, they don't really care if there is free coke
in the fridge, they don't care whether they sit on a Herman Miller or a
shipping crate, what matters to them is creating things that matter. As far as
I can tell, nobody at Microsoft has done that in a long time; Not many
developers on the Microsoft platform have either. It doesn't matter how nice
your offices are - if your workplace culture, if the ecosystem of your
software feels stifling and ugly and just generally stupid, all the smart
developers are going to leave.

Think about this - would Microsoft ever have hired a designer like Ive? Would
they have ever have given him free reign? How would a developer like Buchheit
be treated at Microsoft? That's why we hate Microsoft.

[1] [http://www.tuaw.com/2010/03/16/microsoft-workers-hiding-
thei...](http://www.tuaw.com/2010/03/16/microsoft-workers-hiding-their-love-
for-the-iphone/)

~~~
contextfree
I don't know who Buchheit is, but Microsoft Research has employed three Turing
Award winners (Tony Hoare, Butler Lampson and Chuck Thacker) for a decade or
so. I doubt they'd have stayed if they felt mistreated.

In general I wouldn't put much stock in media anecdotes, as the media (or
maybe just humanity in general, sadly) seems to love reinforcing preconceived
narratives.

~~~
beagle3
Microsoft Research != Microsoft in general. It's not even 1% of Microsoft, and
everywhere there is different. Some of the research there has practical use,
but a lot of it is just PR for Microsoft.

~~~
contextfree
true, but that just shows how useless "would my mental caricature of celebrity
figure x have been able to survive in my mental caricature of vast
heterogeneous institution y?" is as an aid for anyone's understanding of the
world.

I could've pointed to Erik Meijer as an innovative rock star developer who
appears to have done well in the MSFT environment, being largely responsible
for the major additions to a shipping version of their flagship application
framework. How much does that tell me about the internal MSFT culture as a
whole? Not much, any more than this WSJ anecdote does.

------
runjake
Programmers generally don't hate Microsoft. They have one of the biggest (if
not, THE) developer communities in existence. Developers have great access to
outstanding developer documentation, engineers (channel9.msdn.com), and
Microsoft lets its engineers blog candidly (blogs,msdn.com).

The same complaints the article cited could be levied against gcc, autoconf,
and so on. And you could levy the same trollbaiting against Linux, *BSD, and
Mac OS X. Because for any given thing, there is somebody out in the world who
feels the need to hate it.

I do a lot of .NET development and I love it, but I prefer developing on a
UNIX environment because I started there and ended up on DOS/Windows later on.

~~~
xiongchiamiov
Depends on lot on which community you're looking at. Being primarily in the
IRC/slashdot/web dev/scripting language/sysadmin areas (as well as a student
of a rather Linux-centric university), I was amazed at all of the Windows-
centric stuff when I found StackOverflow. I honestly didn't realize that there
were good programmers who preferred to work on the Microsoft stack.

Now, of course, I realize there are, but I'm still a bit confused when I talk
to one... our worlds are just so different.

------
aseem
I don't think Microsoft executives are losing sleep over "Microsoft Hatred" as
much as they are losing sleep over "Microsoft Irrelevance". How many college
students know how to program on Win32? How many even know what Win32 is? In 10
years, these college students will be the senior developers at their
respective companies.

Certainly, any good engineer will choose the best tool for the job. But I find
it unlikely that those that know little of MS technology will promote those
tools later in their careers.

/* What is Microsoft? */

~~~
smackfu
Luckily, college students know Java, and C# is close enough to pick up.

~~~
gaius
Not really, the latest C# is closer to Scala than it is to Java...

------
JoeCortopassi
I think a big reason why people don't like Microsoft, is the anti-competitive
behavior they used to get to the size they are today. A lot of people dream of
starting a business one day (especially around here), and when a company was
built by crushing start-ups/small businesses in illegitimate ways, people
aren't going to be too happy about that.

Plus, they have that little paperclip thing that pops up whenever you ask for
help...

~~~
Tamerlin
"I think a big reason why people don't like Microsoft, is the anti-competitive
behavior they used to get to the size they are today."

That's completely nonsensical. Microsoft didn't act anti-competitively to
become big, they did it AFTER becoming big. You can't abuse power you don't
have, and when Microsoft won the OS contract with IBM, it was a tiny company,
and Apple was by comparison huge.

Microsoft got big by taking advantage of the fact that the guy that wrote DOS
didn't think it was worth anything, so he was happy with the $50k (or
whatever) that Bill gave him for it, and IBM didn't think that the PC market
would go anywhere, so they didn't think anything of giving MS money for every
PC sold.

When Bill started licensing DOS to every company that wanted to make a PC,
Microsoft became big.

THAT is how Microsoft acquired the power to abuse that they then proceeded to
abuse.

~~~
JoeCortopassi
"That's completely nonsensical. Microsoft didn't act anti-competitively to
become big, they did it AFTER becoming big"

I didn't say that's how they got started, but rather one of the ways that
allowed them to reach the size they are today. Even if you know nothing of the
antitrust case, you'd have to admit some shady stuff was going on when you see
a browser like IE6 last so long :p

~~~
Tamerlin
The shady stuff they did with IE6 mattered because MS was already so big when
they did it.

------
geophile
I'm a programmer. Going back a few years, I hate Microsoft because:

* 8.3

* 16-bit address space

* Insanely complicated and needlessly POSIX-incompatible access control lists

* Registry

* Path separator: \ vs /

* Very expensive dev tools

* MSC++ isn't C++

* Handling of Java

* Management via GUI instead of text files

* Absence of usable shell

Yes, this list is way out of date. But these are the issues chased me out of
the Microsoft world into Unix, Linux and open source. The few times I've had
to deal with Microsoft software more recently (e.g. ACLs), the experience has
served only to renew my loathing.

------
RiderOfGiraffes
Linux comes with Apache, Python, C/C++, Perl, AWK, sed, vi, emacs, and more.

Windows comes with Minesweeper.

When I was starting out there was no Microsoft or Linux. I got a machine that
had a programming lanuage built in to it, and I could write programs.

Pretty much the first large program I wrote was a compiler to convert a subset
of BASIC into Z80. It was written in its own subset, and could compile itself.
I hacked into the cassette save routines, smashed the stack, bootstrapped into
a machine code monitor (not even assembler) that I wrote, and I was writing
games for people to play.

It's always seemed to me that Microsoft almost actively prevented me from
using my own machine. I couldn't get into it without buying more. And more. I
wrote my own OS that sat on top of DOS, then write a compiler for that, and
suddenly I could write games again. And finance applications. And mathematical
explorations.

I found some of the first Perrin pseudo-primes that way, bypassing Microsoft's
systems because they prevented me from doind what I wanted with the resources
I had access to.

I don't hate Microsoft, but every time I use a Windows box it fails in
interesting ways, costing me time, effort, patience and occasionally yet more
money.

I'll use Linux.

ADDED IN EDIT AFTER RE-READING: And I'll continue to contribute to various
open-source projects.

~~~
gaius
So what? If you want developer tools, they're a free download on microsoft.com
<http://www.microsoft.com/express/>

Microsoft can't win here, if they shipped all that with the base OS there'd be
haters hatin' on them for "bloat".

~~~
RiderOfGiraffes
I wish I'd never answered. It's a religious war - no one will win. Lots of
people will end up bloodied. I should've known better.

Still, I did reply, so let me tell you of my personal experience, and then
I'll leave.

My experience is that working in a Microsoft environment as I have in the
past, everything seemed bloody awkward and more annoying. Working in a Linux
environment I've had far fewer hassles, and the system just doesn't get in the
way.

My experience, my circumstances. I don't hate Microsoft, I've just found I'm
more productive in other systems.

And I'll say nothing more on the subject. I can't care enough to do so. In
fact, I couldn't really care less.

~~~
gaius
Nah, I use both platforms, I have no axe to grind. Just correcting a factual
error. If you are on Windows and want to (learn to) code, the tools are
readily available (and barely more hassle to install than apt-get).

------
naner
Anti-competitive, design-by-committee, aversion towards open source, corporate
culture, bureaucratic, etc.

I don't _hate_ Microsoft but I avoid targeting their platforms.

EDIT: Oh, and there's the malware thing.

~~~
smackfu
You have described every company.

~~~
pjscott
Sure, but _this_ one was the 800 pound gorilla. Most of those companies don't
have the power to really screw us over. Microsoft did. To some extent, they
still do.

~~~
ryanwatkins
We have a new 800 pound gorilla intent on screwing us over.
[http://finance.yahoo.com/q/cq?d=v1&s=AAPL,MSFT](http://finance.yahoo.com/q/cq?d=v1&s=AAPL,MSFT)

------
sgentle
Microsoft has done a lot of harm in the last 20 years. They succeeded through
a strategy of continually expanding into new areas (operating systems, office
software, web browsers, email, programming languages, etc) and producing
products that often worked poorly and only with the rest of their platform.
They succeeded at this for a time, creating a monstrous shambling behemoth of
software that was powered entirely by its own momentum. But it wasn't very
good, and everyone knew it.

I assume that others, like me, were very frustrated during that time. We knew
this wasn't the right way. Software folks tend to see the world through
software eyes, and we know that an incompatible proprietary mess only comes
back to haunt you. But what could we do? They had the money and the influence.
To misquote PG, we bought it with misgivings. We made our sites work with IE,
we made our code compile under VC++, we gave our servers and clients
special_microsoft_spec_exception flags. And we bitched on Slashdot and spelled
Microsoft with a dollar sign and dreamed of a day when we wouldn't have to
deal with it anymore.

Well, now we don't. Apple's eating Microsoft's lunch from the hardware up,
while Google chows on it from the web down. They have way too much money to
fail fast, or maybe to even fail at all. But they have to play ball now. Why
do programmers hate Microsoft? Justice, I suppose. They certainly didn't treat
us well when they were in charge. Programmers have long memories.

------
jbarham
This claim is absurd. In the last few years Microsoft has done more to advance
the state-of-the-art in programming languages for practicing developers than
any other organization.

In terms of industrial languages, C# and the .NET framework are a huge advance
for client-side programmers developing Windows GUI applications compared to
C++. They sponsor the open source development of IronPython and IronRuby and
make a genuine effort to maintain compatibility w/ the reference C
implementations.

As for functional languages, they largely sponsor the development of Haskell
by paying Simon Peyton-Jones who works for Microsoft Research
(<http://research.microsoft.com/en-us/people/simonpj/>), and have released F#
which is by far the best commercially supported functional language.

Of course the trade off is that their languages work best, or only, with
Windows, but if you are stuck programming on Windows, Microsoft is going out
of its way to give developers a lot of options in languages.

------
mhd
There are lots of programmers who like Microsoft, mostly those whose primary
(and often only) target is Windows. Most of the comments are about cross-
platform issues and kinda boil down to "…because it's not Unix". Which is the
"The whole world's a VAX" of our times.

------
zackola
1) Internet Explorer 6

2) Internet Explorer 7

3) Price/quality of Visual Studio compared to other offerings - we can talk
about memory footprint, MSDN subscriptions, odd versioning conflicts when
trying to develop for SharePoint - oh wait.

4) SharePoint

5) <http://i.zdnet.com/blogs/fake-steve-ballmer.jpg> Honestly, this man
disgusts me. His attitude and public reactions as the figurehead of Microsoft
make me want to have nothing to do with Microsoft

6) Lack of POSIX compliant shell.

7) In small companies (and most families), programmers end up being IT staff.
When was the last time any of you had to reformat or spend hours of your life
cleaning a Mac or Linux machine because of malware? I'm not ignorant enough to
think the gilded age of Mac and Linux being virtually malware free will last
forever, but hey, enjoy it while it lasts.

8) <http://windows.microsoft.com/en-US/windows7/products/compare> Which one is
right for you? Fuck you! It's a desktop or a server. The consumer should have
one choice, appropriately priced that lets them do everything they can.

9) The ridiculous price of MS Office Suite.

10) Webforms, VIEWSTATE. Seriously, fuck you VIEWSTATE, whoever designed this
dumb ass approach should have their computing license revoked.

------
mattmaroon
Generally I think programmers hate Microsoft because programmers hate
Microsoft. It's a self-perpetuating meme, and let's be honest, if your goal is
to hate Microsoft (or any extremely large corporation) it's pretty easy to
come up with reasons. Especially IE6, which is the Exxon Valdez of the
programming world.

~~~
mhd
I think there's some truth in that. Besides factual reasons why one might
dislike a particular company or piece of software, there's also the old tribal
system. Back in the days, it was Amigas vs. Ataris vs PCs, or SGI vs HP vs IBM
vs Apollo vs Sun…

Now, we all run the same hardware, so the operating system seems to be the
only _pièce de résistance_ left. Even the arguments between vi and Emacs lost
their fervor, considering the size of both RAM and vim nowadays.

At least one item where your average geek ain't that different from a football
fan…

------
rahoulb
Because I lived through the 90s and early 2000s

------
Tamerlin
I suspect that it's related to history, because there is a reason that the
term "Microserf" exists. Microsoft used to operate like amazon does today --
burn the developers out and who gives a _$#_ about turnout, because EVERYONE
wants to work here...

... which was true, but it was for the money; Microsoft stock options were
making people rich.

The proof?

The year that MS stock values dropped for the first time, MS started having
trouble hiring people.

They treat their own developers a LOT better than they used to, in fact almost
as well as Google does.

But it's hard to live that Microserf thing down... partly because that
sweatshop method, replacing process with extra hours, leads to terrible, bug-
ridden code.

What irks me more than people irrationally disliking Microsoft is people who
spout about how bad Microsoft's code is, and how asinine their processes are,
while making exactly the same mistakes that even Microsoft learned from and
has been fixing.

------
msg
If you want an eye-opening education, go read Mini-Microsoft (including the
comments). Some groups are better than others but...

The performance review system causes corporate politics and backstabbing that
beggar the imagination. MS has Darwinian competitions of very similar products
that result in massive waste (see Kin that should have rolled in to Windows
Phone). They do not manage dependencies well, leading to excruciating effort
just to check in code. And they are basically headless.

------
smackfu
Because the only programmers who post on the various forums are all web
programmers.

~~~
steveklabnik
No, application programmers dislike Windows, too. For example, see the hell
one of my friends went through for me recently:
[http://github.com/shoes/shoes/commit/95fed5e6310cb0174ba80b8...](http://github.com/shoes/shoes/commit/95fed5e6310cb0174ba80b8d4a5225a16e27c14b)

And it's still not totally fixed.

------
beagle3
Because they spit into everyone's well all the time. e.g.

\- OOXML and the related perversion of the ISO process

\- Wilful violation of standards (web, others)

\- Hurting users for hollywood (Protected media path etc.)

\- Broken security (by design) that has enabled all the botnets and spam you
could ever think of, and then some.

------
jackfoxy
My main beefs with MS

1) Bloating Office products with each successive release and discontinuing the
old menu structure. I finally did something about this and switched from
Outlook to Thunderbird.

2) MS has alienated small and independent developers by making Visual Studio
in a bewildering number of versions and charging too much for it. They're
completely focused on enterprise computing, but the enterprise has been off-
shoring development for the last 15 years, so bright young developers have no
interest in MS technology.

------
bitwize
Programmers don't hate Microsoft.

Many hackers do. (No, not that kind of hacker. Those guys love Microsoft:
plenty of vulnerabilities to exploit!)

But programmers, in general? They love Microsoft. Microsoft keeps food on
their tables by providing Visual Basic, C#, and other tools that they can use
to shovel out PoS or ERP code or whatever.

Most of the fun and innovation is in the realm of the hacker elite, though, to
whom a Microsoft monoculture is both stifling and suffering from a chronic
case of doing-it-wrong.

------
grogers
I hate a lot of the tools/libraries/frameworks/software I am forced to use on
a daily basis, because a lot of it is complete crap, or has some very annoying
misfeature that I run into constantly and there is no way around.

I'd wager that this is part of the reason many people hate Microsoft. They are
or were forced to use windows at work, programming apps for windows using
Microsoft tools or languages, etc. And many of them probably found it a pain
in the butt.

------
iterationx
I hated Microsoft because their OS would always crash, but now I don't mind
them since the MS Dev job market is so good.

------
namekuseijin
it's actually a very small vocal minority who hates microsoft. They hate
microsoft because microsoft means ubiquitous standardized flatten programming
environments the way managers like, with sheeple programmers properly strapped
and assembling programs from paid frameworks.

------
hardy263
Cross browser compatibility.

