What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

Is there any particular reason Stack Overflow was written in ASP.NET?

Not that ASP.NET is a bad platform to develop on, but I am curious. Was it just due to the original developers having prior experience, or was there an actual design choice? (e.g. it scales well or has good performance.)

share|improve this question
2  
hey looked at PHP, but realized they simply weren't awesome enough to fully grasp its beauty. –  Pëkka Oct 5 '10 at 16:13

4 Answers 4

up vote 7 down vote accepted

The original developers were from a windows background and already know how to use SQL-Server and .net

share|improve this answer
    
+1 for an answer that actually isn't stupid (unlike mine intended to be a joke...) –  Billy ONeal Oct 5 '10 at 13:57
    
Hmm... depends on what you mean by Great Performance. I for one find most web development environments to be relatively poor on performance. For example, the median performance of PHP compared with, say, C# or Java is at least an order of magnitude. shootout.alioth.debian.org/u32/… –  Billy ONeal Oct 5 '10 at 15:27

Because it's main competitor is a pile of spaghetti?

share|improve this answer
1  
+1 for the great link. –  Pëkka Oct 5 '10 at 15:20
    
I don't get it. –  TheLQ Oct 5 '10 at 22:45
    
@TheLQ: Control+F to Programmable Hyperlinked Pasta ;) Basically I'm ripping on PHP for 90% of the time leading to unmaintainable mess. –  Billy ONeal Oct 6 '10 at 11:35

I think there are several points that led to the decision. In order of (my opinion of) importance:

  • They wanted to use Sql Server, and ASP.Net is a more natural fit for that database platform
  • They were already familiar with .Net development in general.
  • They wanted to use the MVC pattern, but Ruby on Rails has a reputation for poor performance and PHP + an external MVC framework sounds like adding a mess on top of a mess. ASP.Net was left as the (then) new third option and looked solid compared other languages like python (whose MVC implementations feel like toys or hobbys by comparison).
  • Potential performance. One thing to remember about .Net is that it doesn't use a VM in the same way Java uses a VM. .Net code is compiled to IL, but the IL is in turn entirely compiled to fully native machine code before the program runs. For ASP.Net this means that there is no bytecode or script interpretation layer active at runtime — unlike every other major web platform available.
  • It's cheap to get started.
share|improve this answer
2  
For the vast majority of the time a JVM will be running everything in native code too... except that HotSpot gets to recompile the particularly "hot" code, putting more effort into optimising it. Basically your fourth bullet doesn't sound accurate to me, at least in impression. (Yes, there are differences between the JIT compilation model of HotSpot and the CLR, but if anything they favour HotSpot for long-running processes such as servers.) –  Jon Skeet Oct 5 '10 at 18:51

It wasn't written in ASP.NET, it was written in ASP.NET MVC.

share|improve this answer
    
Err.. ASP.NET MVC is ASP.NET. ASP.NET used to only use the WebForms model, but that doesn't mean MVC isn't ASP.NET. –  Billy ONeal Oct 6 '10 at 11:39
    
@Billy ASP.NET meant webforms for 7 years, 9 if you count the countless programmers that talk about using the MVC pattern in Webforms. Outside of our bubble, MVC hasn't hit widespread general use, so I still assume it means webforms when I see someone use that term. –  George Stocker Oct 6 '10 at 17:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .