
Windows is a Ghetto - nreece
http://brandonbyars.com/blog/articles/2008/10/19/windows-is-a-ghetto
======
lhorn
Ironically, his writing is mostly about an _easy_ kind of Windows development.
Web apps behind IIS? Not that hard, really.

Try building an installable desktop software for Windows. That's where real
fun begins. It is quite common for teams doing Windows work to dedicate as
much as 20% of available manpower to the installer alone (!). I've been coding
Windows desktop in C++ since graduation in 98 and has always looked down on
web programmers since they had it so easy. But once I got older I realized
that all my Windows-fighting instincts and in-memory database of gotchas are
nothing to be proud of: most of my career I was boxing against the platform I
was working on, while some were having fun building the actual software.

The irony of it is that once upon a time Microsoft was kinda cool. I was a
teenager but I still remember those "good&old" days of snobby IBM/Sun/Oracle
salespeople with their super-expensive software, hardware, development tools
and even documentation (you could sell your car for a full copy of OS/2 SDK).
And then there was Microsoft and Borland, giving their tools and docs
basically for free.

~~~
jd
Building an installer isn't so difficult anymore. NSIS and similar installer
builders are really easy to learn and very stable. Windows has many flaws, but
the whole install/uninstall system works remarkably well in practice.

It's far more difficult to create RedHat RPM packages and Debian packages and
so forth.

But 20% of all manpower? That seems a bit much.

~~~
pchristensen
I don't know about the percentage but Carl Franklin said that Visual Studio
has over 50 people on the installer team. Granted, that's probably one of the
heaviest installs out there.

~~~
thorax
Do you remember where he said this? I'm looking for the reference but can't
find it on his blog. (Thanks in advance.)

~~~
pchristensen
It was in an episode of .Net Rocks! but I can't remember which one.

------
wmoxam
I spent several years writing ASP applications and administering dozens of
Windows servers running IIS (amongst other things). I had many of the same
problems as the author such as:

"I have absolutely no clue what error 0×00001ad59add means, and I am the
goddamned system administrator I’m supposed to contact"

It sucked the life out of me.

------
markessien
Well, to defend windows, it's a very complex system that's used on a wide
variety of hardware and for a wide variety of purposes. Most parts of it are
required by someone or the other. If you don't need it, ignore it.

.NET is the clean-up of windows, I suppose.

~~~
swombat
Someone should have told them that sewer water is no good for cleaning up a
house.

~~~
markessien
.NET is a pretty good framework. Better than any framework linux has to offer.

~~~
DarkShikari
That statement doesn't even make any sense. Linux is a kernel. .NET programs
are run in userspace. The two cannot, as far as I can tell, be even
tangentially related, unless you're trying to call .NET some sort of kernel
API?

Or is this that definition of "Linux" that people love these days, which is
"whatever free software operating system distribution I happen to be most
annoyed with this week"?

~~~
shawndrost
"Linux" is used here as "a linux distro" (which was pretty clear). Is there a
runtime for a linux distro that is better than .NET?

~~~
caustic
java virtual machine?

~~~
shawndrost
How is it better? (Genuine question, I mostly do web programming.)

~~~
shimi
The .NET is better then the JVM because it was designed to run on windows
only, so no run anywhere stuff needed to be designed.

I was doing Win32 development for 5 years and concluded the .NET development
is the best way to go (Only if you can convince the marketing guy to include
the 20MB runtime installer in the package)

~~~
snprbob86
Silverlight 2.0 runs C# code (any MSIL compiled code, really) on OS X quite
well... It also includes a significant portion of the base class libraries.

------
qwph
_...registry hives..._

A great piece of MS terminology, apparently the result of inter-developer
conflict...

[http://blogs.msdn.com/oldnewthing/archive/2003/08/08/54618.a...](http://blogs.msdn.com/oldnewthing/archive/2003/08/08/54618.aspx)

------
known
Sometime back I wrote content management plugins for iPlanet, Apache and IIS
web-servers.

I had to write lots of irrational workaround wrapper code for iPlanet and IIS
plugins because they are proprietary.

And debugging this code was a big PITA.

With Apache there were no issues because I could always step-into Apache code
with GDB.

------
raganwald
Zed Shaw, is that you?

~~~
henning
Not nearly enough cursing to qualify as Zed.

------
greyman
Windows is the most used operating system, so to call it a Ghetto is wrong by
definition, IMHO. In my experience, Visual Studio 2008 with .NET libraries and
MSDN is very good development platform.

------
StrawberryFrog
"Windows, was all about the GUI. Their command line was terrible, and it is
terrible still. "

So, he doesn't know about PowerShell.

~~~
anthonyrubin
He specifically mentions PowerShell. Compared to what is available for UNIX-
like systems PowerShell may very well be terrible (I haven't used it). There
is more to the command line experience than the shell itself.

~~~
thorax
Emotions aside, PowerShell is definitely one of the most innovative shell
adaptations in the past few years. Some group in MS tried really hard to take
things to the next level.

Now whether that level is where people want to go-- well, that's hard to say.
It's difficult to judge "success" for this sort of a thing. How much usage is
because MS is pushing it and how much is because it scratches some itches?

For me, it's slow to start up, and not overly useful for my everyday tasks.
Still, most of the demos are impressive and the idea of piping objects around
rather than raw text/files seems like an idea with a lot of potential.

~~~
anthonyrubin
Again, the shell itself isn't really the issue. Can I SSH into a Windows box
without third party software? How are the command line utilities for things
like SQL Server? Are there any utilities included similar to common UNIX tools
such as grep? Is there a command line file editor?

Object piping does sound interesting.

