Hacker News new | past | comments | ask | show | jobs | submit login

I will also be "that guy"---as another commenter said---mainly due to the author's title and finishing rhetoric, even though he is not even attempting to make any convincing arguments in the body but merely pointing out SO's technology stack which has been known since quite some time.

Yes, StackOverflow is a nice success story for a .NET stack, but I think an important piece here is actually mentioned by Joel:

"We are using about 1/10th of the hardware that they are, unfortunately, and maybe that’s because they are not good programmers"

StackOverflow says little about "the power of WISC" and more about Attwood and Spolsky being good, experienced Microsoft-tech developers. We cannot compare the power of WISC vs the power of LAMP (for example) when performance and productivity are metrics. It's hard enough to compare each one on its own, but even harder to mix the two. The purported value is thus a red herring. Compare SQL Server to MySQL or C# to PHP, and then we'll have a discussion.

"Can you beat phenomenal performance, reduced CPU usage and great productivity which now comes at no cost up-front?" I can copy and paste that into any flamewar thread on any side of the argument and it will still make sense and you will still want to agree. The reader here agrees with the question, and never with the thesis---as much of a thesis there can be in this post, which is only implied. An unbiased question to be asked should be, free licenses or not, is WISC worth it? Well, no:

* Windows -- Yuck. The only reason to ever want to develop on Windows is if you are using the AllegroCL IDE[1]. Windows as a server? Is there ever any argument there, or is just acquiescence due to the rest of the stack?

* IIS -- Seriously? Have you ever had to manage a farm of servers all running IIS? There may be tools out there to automate IIS maintenance across servers, but do they beat good ol' text config files?

* SQL Server -- Fine, it may have its merits without needing 10 years of experience, so again, where's the SQL Server vs MySQL practical comparison?

* C# -- Mixed feelings. If you're stuck with the above three, not too terrible of a choice if you know the language well and are in a hurry. Else, learn Boo.

Pardon my sarcasm, but there really is no point in belaboring the merits of WISC in terms of performance or productivity. It has its place, and its values, but this leads to a different discussion.

But here's kind of what I felt[2] when I was developing on the MS stack at my previous job:

"I once saw a nature special in which some insect or other dragged some other dead insect somewhere then turned around and dug a whole for it to bury it but the researchers moved the dead insect a bit while it was digging so it had to drag it back but while it did they filled in the hole and back and forth this insect went indefinitely until a PETA sniper took out the researchers."[3]

[1] The AllegroCL IDE is only "full-fledged" on Windows.

[2] After taking the red pill, of course.

[3] Kenny Tilton on comp.lang.lisp

>> where's the SQL Server vs MySQL practical comparison?

Here is one: http://angryhacker.com/blog/archive/0001/01/01/mysql-eye-for...

This one isn't half bad, but it is lacking. MSSQL has a much better query engine when your queries get complex and it uses indexes in a more sophisticated and efficient way. Also on larger databases where the DB-size exceeds the available memory by a factor of 100, you can really forget about MySQL all together while MSSQL will just keep rolling.

Also point 3 about MSSQL defaults has been moot at least since SQL Server 2000. While it does create a named constraint in the background, it supports a as minimalistic syntax as MySQL for setting defaults.

In fact, this is such a widely used syntax that you almost have to look up the overly declarative one he uses in his example to know that it even exists.

Besides that your link does give at least a light overview of the differences when it comes to programming them, so have an upvote.

While I agree that actual and direct comparisons would be very nice and useful, I feel the need to provide some constructive criticism of your post.

Windows -- Yuck

Some people like Windows. They develop on Windows. When they want things deployed, they might prefer a server-architecture which they already have intimate knowledge of, rather than some Linuxy thing which does have its different set of rough edges.

IIS -- Seriously? ... IIS maintenance across servers, but do they beat good ol' text config files?

IIS has since IIS7 had all its configuration in text/XML-files. While .NET on IIS5-6 only allowed you to move some settings from IIS metabase to an actual config-file in the site-root, IIS7 and newer allow pretty much complete configuration of any relevant setting, either trough this file or trough applicationHost.config.

Both are text-files. I'm forced to question how long it has been since you messed around with IIS.

C# -- Mixed feelings

C# as a language, while (IMO) not complete is still a very powerful, rich and expressive language. It does have its lackings, but you are writing your Windows/IIS hosted websites in .NET code and may as you please use any other .NET language.

Personally I'm getting more and more fond of F#, although I admit I haven't used it for web-development yet.

While your criticism about lack of direct comparisons is valid, the rest of your post reeks of a anti-Windows sentiment which has little basis in merit and entirely in preference. I'm surprised your comment is so highly upvoted.

I appreciate the constructive criticism, and I was expecting it. That portion of my post was just a rant, as I was going to take each point seriously but felt that would take too long. This does deter the quality of conversation on HN, so I should have refrained from posting that portion here and left it on Tumblr/Posterous. The upvotes may be due to the serious part of my post, or the the somewhat humorous tone of the rest which is sometimes the case on HN (eg: witty one-liners get easily upvoted all the time).

Regarding IIS, though, maybe it was just bad experience with a poor IT department. They would go into each server and manually reboot IIS, instead of writing a batch file or something to iisreset xx.xx.xx.xx for every server. Not to mention the fact SourceSafe was used for deployment. (And yes, my experience was before IIS7 which I only used briefly.)

I give C# credit and don't hate it entirely---it's probably more the paradigm (statically typed, class-driven OOP) which I have an issue with.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact