Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

I was reading the article about "Why Startups Could Use .NET, But Don’t". Essentially the article says that it comes down to culture.

I don't want to start a holy war, I just want to know the core reason start-ups would be against using .NET could it really because of culture?

I mean StackExchange was built on .Net right from the beginning, which is now one of the top 200 sites in the world with millions of visitors. Obviously this proves .Net is a very capable platform. I would be curious to know if S.E. would have had the same success or challenges if it had been built with other technologies.

If you are a start-up and you're against using .Net, what's your reason for dismissing it?

share|improve this question
I would make this a 'wiki' question but i didn't have that option on here. – 7wp May 19 '11 at 19:31
I would suggest adding to your question that you mean server-side .NET (ASP.NET or Azure). Looking at the article you've linked and the answers so far, that's the direction this discussion is taking. ASP.NET is quite different from client-side (Silverlight), desktop (.NET framework), mobile (.NET CE and Silverlight) and embedded (.NET micro framework). "I opted not to use XNA for my next project and used PHP instead." is a bit silly. – Third May 20 '11 at 8:00
1  
I would be interested to know where JSP (JavaServer Pages) fits into this debate. – Richard Ev May 20 '11 at 8:16
1  
I'm involved in a startup (we launch tonight!). We use .net – David Murdoch May 20 '11 at 11:33
2  
Would anyone have noticed if StackExchange was built with a different technology? Startups are generally looking for low costs and speed to market (= cheap development stack, efficient development, technology familiar to developers (no training required and less technical risk) and competitive deployment costs). The technology answer will therefore often depend upon who is involved (and what they already know) rather than a theoretical best technology. – Mike May 22 '11 at 17:37

17 Answers

up vote 27 down vote accepted

There is a stigma attached to anything Microsoft. As the article says, its a cultural thing.

Please remember that

  • the C# compiler is free just like PHP, Ruby, Java, or Python are.
  • Visual Studio has free versions that are not as featurefull as the others, but are still free
  • You do not need to run ASP.NET on Windows. Mono allows you to run it on any flavor of *nix, including OSX
  • Windows Web Server 2008 is $469 which, while isnt free, certainly isnt terribly expensive.
  • Amazon EC2 powered Windows server's cost as low as $36/month which is absolutely affordable
  • There is a huge community around the technology
share|improve this answer
7  
C# is not free like PHP, Ruby, Java or Python. It's only gratis, not free. CLR is still burdened with software patents. Free versions of VS cannot be considered useful for professional development. – vartec May 20 '11 at 14:12
5  
vartec is right. the "express" version of c# is a stripped down version, for desktop apps it doesn't even have a visual dialog editor. It's no more than a tool for students for learn c# syntax, but it quite useless for commercial applications. When it comes to the web, this "free" statement is also useless as you need a Windows server to run it on and that's $500 right there for a single machine. PHP that runs on Linux is truly free. Even Apple offers their premier XCode 4 IDE for $4.99 on the app store. Visual Studio is hundreds of dollars. There's your reason... – ron M. May 20 '11 at 14:54
5  
That is the reason why MS started the "BizSpark" service - which offers startups 3 years of free microsoft product licenses in hopes that they'll build their technology around MS products and avoid free solutions like LAMP etc. While this initiative is nice- the majority of the market still votes "free" and "open source". MS technology is a fraction of what startups are using today to deploy their public facing web apps. – ron M. May 20 '11 at 14:57
3  
@ron M: About the XCode comment, there is always an offset somewhere though, sure it only costs $4.99 but an average Mac is 2 or 3 times more than a PC, no? – 7wp May 20 '11 at 17:43
4  
@ron M. Have you used xcode and VS.NET? They are different animals. Languages aside (objective-c is an ugly mongrel of a language), XCode is nowhere near as efficient as VS.NET (doubly so with Resharper). – Sean May 20 '11 at 18:46
show 1 more comment

Although my current startup DOES use .NET (because we're all mostly MSFT people by day), a previous one did not.

The main reason was cost.

Finding a reasonably priced slice/virtual from a good provider is very tough.

If you decide to buy a server, you have to make special decisions as to what flavor of hardware and software you buy/install.

Server 2008 is pretty expensive unless you stay with one of the lower options.

SQL Server 2008 is VERY expensive unless you stay with Express ($free). Express has limitations on the memory and database size and CPU supported.

Pre-Azure, there was really no "cloud" for .NET/MSFT hosting. And I'd say that Azure sucks (even as a MSFT partner, I say it sucks). The development model for it blows. But that's a different subject.

Another good (likely non onstartups question) is how does a startup that wants to use .NE/MSFT technologies limit their licensing and capital expenditures.

share|improve this answer
1  
I have heard of people writing on windows using VIsualStudio and deploying on a Linux production server running Mono to host the .Net CLR thus avoiding server 2008 costs, also using MySql as a database. – 7wp May 20 '11 at 3:52
1  
Yep agree on cost. And don't forget the cost of the IDE - VisualStudio - even though there may be free flavours if you are going to do serious development you need the functionality of the paid version. – edralph May 20 '11 at 8:17
1  
Startups generally get that VERY cheap. And in most countries the cost of a MSDN subscription is low compared to the wage of the programmer. The cost factor is not as big as some people like to make it. – NetTecture May 20 '11 at 11:14
1  
@edralph We have BizSpark, so we get it pretty cheap (for three years). We're all professional .NET developers so we'd actually already bought it (and Resharper) before joining up. I'll tell you what hurt was buying a couple copies of Adobe CS5. – Sean May 20 '11 at 14:39
:) We're not a startup anymore and VisualStudio for my developers costs a small fortune... Back to Notepad I say... – edralph May 20 '11 at 15:03
show 6 more comments
  • Licensing costs
  • Preference for non MS platforms and technologies
  • Anti-Microsoft sentiments in some developer communities

I'll add one other thing that is somewhat related to the others - MS is a technology that is mostly shunned in colleges - thus the linux stack and OSes are more comfortable and thus the development tools of choice for the recent grads are not MS based.

Many startups are skewed to younger founders and employees, thus another reason for the bias in startups.

(The bizspark and other programs were a way for MS to address some of the issues. They finally saw the danger of the open source development stack.

Ballmer's "Developers developers developers developers developers developers developers" rant/speech becomes void if you lose developers.)

NOTE

Given the nonsense arguments in the comments and in the answers I do have to point out that the choice of OS and development tools has almost NOTHING to do with the success of the company or product. As long as there is no complete mismatch of technologies then the overwhelming considerations for success or failure are the people, the execution of the idea and the relationships with customers. I have rarely, if ever, seen a project fail because of a choice of technology stack. I assumed the original question was not meant to start a religious war, and I am giving it the benefit of the doubt. Unfortunately it seems to be headed that way.

share|improve this answer
So yourarguments are ignorance and arrogance? ;) Licensing costs are miniscule for startups (BizSpark) and even otherwise not too relevant (compared to programmer wages). Preference for a limited plkatform (most .net dfevelopers dont even know half the usefull features) often is not a good decision platform either. – NetTecture May 20 '11 at 11:15
3  
Um, no - I don't know many people who are masters of all technologies. Many startups are on shoestring budgets and licensing costs, despite your assertions, are very relevant. Not all startups PAY salaries. I never defended the reasons - I just stated that those are some that I see. – TimJ May 20 '11 at 13:02
Well, with some exceptions they then get what they pay. No good coder will join a startup without even living expenses paid. And even then it is not expensive. – NetTecture May 20 '11 at 13:10
2  
@Tim: Chances are that the two founders already have a laptop/PC each running Windows. VS Express is free. BizSpark will give them everything they need to build anything they want for practically nothing. Mercurial/GIT is free. Mercurial/Git hosting may cost a nominal monthly sum. Alas, many startups are built on PHP/Ruby/Whatever because of the ignorant claims of many who have a bias, grudge or brain impediment. – Richard Turner May 20 '11 at 17:02
1  
@Richard - That's nice. But hosting a server for MS platform IS NOT free. Development tools are free, sure. The majority of learning institutions I am aware of have a strong bias towards Linux and the non-MS stack - so there is a natural tendency towards that. Some of you may misunderstand me. I am a MS developer. I am in the BizSpark program. I am just noting things I have observed - I do not advocate one over the other. Most important is the access to developers and the ability of your team to do good work on your chosen platform. – TimJ May 20 '11 at 17:08
show 1 more comment

Mostly due to:

  • Cost of tools (though you can get MSDN sub if you put in enough effort)
  • Lack of solid could solutions and cloud licensing issues
  • Cost of developers, since most are used to Fortune 500 salaries and bennies even VC backed startups can't dole out.
share|improve this answer
3  
Cost of tools - BizSpark should help with that. Free MSISDN subscription and production licenses for three years. – Heherson Tan May 20 '11 at 0:49
3  
That's not a 'low cost'. That's more like 'the first hit is free'. – Alexandre Rafalovitch May 20 '11 at 2:49
2  
What about huge productivity gain using those tools? – user3997 May 20 '11 at 6:35
1  
On top, how reelvant is the MSDN cost for developers? I mean, seriously, they earn more money than a cleaning girl. AT the end, taking a developers running cost, itis not really relevant. USD 500 per year? THat is what - 42 USD per month? How much you pay a developer to make that "a difference" ? Even in india (lets say 1000 USD with side benefits) that is a 5% issue... and that is low cost developers. In the US those 500 USD make zero impact. – NetTecture May 20 '11 at 11:20
MSDN my devs needed was close to two grand each (at least last time I needed in '07). Multiply that by 120 devs and you will know what that means. Granted we were MS Partner and I did get bunch for free, but still... If you are a small shop, .NET is not affordable as a platform for a plethora of reasons. – Apollo Sinkevicius May 20 '11 at 17:20
show 2 more comments

There is another side to this. Not everyone is so much deciding against .NET as they are deciding in favor of another platform. I am not anti-.NET but my background and my contacts are on other platforms. For those who grew up with PHP or Rails or Java or something else, it might not be a conscious choice against .NET but rather just a lack of considering it.

share|improve this answer
2  
But mostly this choice is ignorance towardw aht .NET has to offer. PHP sucks in comparison when you go full stack - no transaction coordinator, no way to make non web applications. What about unit testing frameworks? At the end, this argument mostly comes from people who dont even realize the shortcomings of their platform. Sadly. Consious choise does not mean well educated. – NetTecture May 20 '11 at 11:13
2  
NetTecture: there is whole world beyond ASP and PHP. – vartec May 20 '11 at 12:11
The question isn't what is the smart thing to do, it is why do people make the choices make. The fact that .NET has redeeming qualities and that there is a community of PHP haters isn't pertinent to the question that was asked. – Kenneth Vogt May 20 '11 at 21:44

You have also got to consider the available workforce for your development team. One of the reasons MySpace failed where Facebook became wildly successful is tied to the amount of talent that either company could find for developing the product. Consider the following:

  1. .Net development tool cost (minimum $500 a seat) vs PHP/Python/Ruby development tool cost (Usually free)
  2. A quality .Net developer will be somewhere in the $60k-$90k realms vs A quality PHP developer will be around $50k-$70k.
  3. It's hard to say exactly how the breakdown goes, but most employment specialists I've talked to say that you have 2 or 3 PHP guys to every 1 .Net guy.
  4. Because PHP has been free from the beginning (only recently is MS starting to get into the free realm) you have people who have been working on PHP or Python or Ruby since they got into programming, but you had to go out of your way to either beg/borrow/steal a copy of Visual Studio so you could start working on the MS platform. Most .Net developers haven't been doing it consistently over their whole development career... but most PHP, Python and Ruby developers picked up the stack at the beginning and may have played with other stuff, but always come home to their happy hunting grounds.

In a lot of ways the MS/.Net platform is the very best available tool for the job... if you are willing to pay for it. And let's face it, Facebook, LinkedIn, Wikipedia, and hundreds, if not thousands of other successful programs have come from PHP.

share|improve this answer
3  
MySpace's failure was not related to their use of .NET platform. Read entire article & comments: highscalability.com/blog/2011/3/25/… – Bryan Migliorisi May 19 '11 at 21:43
3  
Facebook used PHP but has since been known to use PHP, C++, C#, Java, Python, Erlang and I would not be surprised if they used Ruby somewhere in their stack. They also made it clear in their engineering blog that they would not choose PHP again if they could go back for scalability reasons, hence the development of HipHop PHP to C++ compiler. And LinkedIn has always been built on top of Java, not PHP. Your comments alone illustrate why people dont choose Microsoft stack: Yours (and many others') uninformed opinions are plastered all over the internet regarding what is "best" or "sufficient" – Bryan Migliorisi May 19 '11 at 21:47
1  
PS... As far as the "uninformed" opinions go, I've read the MySpace post-mortem (or is that a pre-mortem still?) and spaghetti code mixed with inexperienced engineers (which is a supposition on my part because of the poorly written code base) and the lack of ability to find more experienced engineers were a large part of the demise. – thaBadDawg May 19 '11 at 22:39
3  
Yeah, because it means that taking php developers for cheap means ending up with spaghetti code. THat was whatat sunk MySpace, and php, for example, is alot harder to program properly in a controlled fashion than .NET - no unit tests, no frameworks etc. I doubt "good php programmers" would qualify for trainee positions in most .NET shops... quality wise. – NetTecture May 20 '11 at 11:18
4  
@theBadDawg. Good .NET dev's are usually harder to find because they're gainfully employed. Half decent PHP devs are a dime a dozen for a reason. – Richard Turner May 20 '11 at 16:57
show 6 more comments

From my experience there are pretty clear cut reasons people don't use .NET. There's no doubt that .NET is capable and awesome, scales really well and is a dream to use, however the following issues prevent it from becoming more widespread;

  1. Licencing costs.
  2. Smaller community in comparison to PHP or RoR.
  3. Harder to find a cheap and reliable .NET host as there is for PHP.
share|improve this answer
2  
Sorry, but your claims are false. It costs very little more to license a Windows VM/server compared to Linux. .NET is a FAR bigger dev community and ecosystem than any other. There are plenty of .NET hosts at every price point: microsoft.com/web/hosting/home – Richard Turner May 20 '11 at 16:48
@Richard - I think you're being unfair here. (1) Licensing costs are definitely higher (your comment states so), and (3) Dwayne said that it was harder to find a cheap and reliable .NET host - not that there weren't plenty out there. (2) isn't worth arguing over - you may be right - but as long as there is a large enough community to draw from it doesn't matter. Good link for people looking for .Net hosting though: Microsoft should publicize it better. – Mike May 22 '11 at 17:28
Mike - the link to the hosters list is at the top of the ASP.NET front page. Not sure how much more obvious you want MS to make it. At Rackspace, $43 (Linux) vs. $58 (Windows) is a very small price differential - other hosters are MUHC cheaper - can easily find ASP.NET hosting < $3 a month if necessary. If one finds Windows hosting harder to find, one has to question one's ability to search Bing/Google ;) – Richard Turner May 23 '11 at 18:43
Richard, looks like the "lower cost" plans don't offer much in comparison to plans of equal value for Linux hosting. Looks like when you get close and into the hundreds of dollars, the plans start to get better. – DigitalSea May 24 '11 at 5:45

My guess is that most startups that use .NET were founded by people that had previously used Microsoft technologies in a larger enterprise setting.

The younger generation of startup founders, without enterprise software experience, are probably using the same technologies for their startups that they used as hobbyists: Rails, Django, Python, Linux, MySQL, Postgres.

share|improve this answer

.Net platform is strongly related to Microsoft workstation. On most of the startup i've been, developpers have the choice of their system, and often they prefer to have a powerfull workstation with a linux in it. Futhermore startup founders choose technologies based on the cost, and often, they choose a classic [L|M|W]AMP stack wich is powerful and easy to develop.

Lastly asp .NET is just a me too of php by microsoft, it benefits of huge investment by microsoft, but is still a technology supported mainly by a private company. Developpers of libraries and other stuff for the technology, should not invest to much in it, as they are not sure it the company will continue to support it.

In term of cost, i cannot be more accurate than TheBAdDawg

StackOverflow is the only website i know which is built on ASP.NET, if you think about website buildt with PHP technologies, there are plenty : facebook, wikipedia, wordpress

share|improve this answer
asp.net a me too pf php? GET REAL. Sorry to say, but PHP mimics ASP, not ASP.NET, and it was here MANY years before PHP. If anything, PHP is copy of ASP ;) Same for java. Not the other way around. Check history books. That said,ASP.NET MVC is a lot different and better ;) – NetTecture May 20 '11 at 11:17
1  
Unfortunatly, it isn't anymore possible to say bullshit, thanks to internet, asp has been distributed with the Microsoft IIS 3.0 in December 1996, whereas php was created around 1995 (did you know google or wikipedia). Furthermore, your comment show us that you are a .net addict, so for sure, .NET MVC is much much better than everything ! – Jean-Christophe Meillaud May 20 '11 at 12:33
2  
ASP.NET is hardly a copy of anything. It is part of a platform in the .NET suite/world. .NET allows a common framework regardless of language preference. And with Mono - it is OS agnostic. – TimJ May 20 '11 at 17:11

First of all, lets get one assumption out of the way -- if you're using .NET, then you're using a Microsoft stack. And if you're not using Microsoft, you're not using .NET. No two ways around that one.

So the real question is, "Why don't startups use Microsoft in their server environment?"

Well, the simplest reason is cost. Using Microsoft tools costs more -- it costs more to license, it costs more to maintain, it costs more to scale, it costs more to manage. Microsoft servers are more difficult to automate, they lack some of the more advanced performance tools, they lack the diversity of options found in the Unix world, and dozens more reasons.

As someone who manages server setups for startup companies (both Windows and Linux), I can tell you that the ones who use Windows have more trouble cause because they use Windows than the opposite for Linux users.

While .NET is a great platform and C# is a great language, the fact that you can't realistically run it on a Linux server makes it no longer a viable option for savvy developers.

share|improve this answer
Not really though, C# and .Net is an open specification, anyone can implement it. The most famous being Mono, which let's you run .Net web apps on Linux. Or MoonLight that let's you run silverlight on Mac and Linux. It's like the .Net framework for non MS Windows systems. And yes you can compile on windows and run on Linux. Just like Java. There are even a number of free IDE's like VisualStudio. So no .Net is not tightly coupled with Microsoft. – 7wp May 20 '11 at 9:20
@Roberto Sebestyen: But Mono is way behind .NET on Windows, so you lose a lot of the features and might as well use Java. – Brendan Long May 20 '11 at 16:42
@Roberto: WHERE, precisely is Mono "a long way behind .NET"? Mono can run ASP.NET, ASP.NET MVC, Project Orchard, WebForms, Silverlight, etc. Mono's C# is now compatible with C# 4.0. Mono can also compile to native code so that it can be used to build (very fast) iOS apps. – Richard Turner May 20 '11 at 16:52
Ever heard of Mono? Or java on MS? "Savvy" developers are aware of mono and can develop cross platform. – TimJ May 20 '11 at 17:12
1  
Yes, I run ASP.NET on Linux with Mono on some of my servers. And for that reason, I am increasingly of the opinion that it is not a reasonable alternative. Technically it works, but no you don't want to do it. programmers.stackexchange.com/questions/20275 – tylerl May 20 '11 at 20:24
show 3 more comments

One reason is that IIS is really not that good. Seriously, it's overengineered and fiddly and not as performant as one would like to be. So if we assume that IIS is out of the window, then you suddenly do not need Windows! (Windows is a requirement for IIS.) SQL Server, you say? Seriously, a startup is far more likely to go for a MongoDB+Redis combination which means, again, Windows is not required.

As for the front-end technology, yes, lots of people are doing Rails, but lots of people also think about HTML+JS single-page-AJAX solutions and let's face it, it doesn't really matter what you serve this with, so long as you can keep some RESTful back-end to consume data from.

So the only attraction that remains is the C# language (yes, you can use it with Mono, but still). And I'm not sure if the language alone is enough to sway people towards building .Net-based startups.

share|improve this answer
3  
I have used every version of IIS since IIS2 on NT4. I'll completely agree that IIS prior to IIS6 left a lot to be desired. However, IIS7+ is great. It can perform very, VERY well and has been rock-solid for the many sites I have built. If you're running a CGI-tuned web platform like PHP, then the new FastCGI feature of IIS7+ resolves the majority of perf issues when running things like PHP on IIS. Having said that, if perf is a major concern for you, perhaps you should consider using something other than interpreted languages like PHP/Ruby. – Richard Turner May 20 '11 at 18:14

The main reason: Vendor lock-in

Choosing .NET means vendor lock-in with Microsoft, both for development as for servers. Mono is just not compatible enough to be drop in replacement.

Server market is dominated by Linux. If you're startup interested in cloud hosting, there are plethora of Linux based ones, and only a few Windows ones. And if some platform offers both, Windows is more expensive (for example with Amazon EC2 standard instances its +50% to the price). Of course MS is trying to address that with Azure. But that means you'd be getting even deeper into vendor lock-in.

On the other hand, if you choose different technology, you have your options wide open. You can run Python, Ruby or even PHP on about any web server there is. You can develop using any tool stack you like. On any developer OS.

share|improve this answer
2  
@NetTecture: first of all, for example you can migrate from let's say PHP on Apache @ EC2 to PHP on Nginx @ Rackspace very easily; With .NET you wouldn't have such option. Secondly, no one will actually do rewrite. Doesn't mean, that they won't use other solutions. Take Facebook for example, they are still using PHP, but they also have very important parts of infrastructure written in Java, Python, Erlang, C, C++. – vartec May 20 '11 at 11:46
1  
Sure. YOu can migrate vom Apache to Rackspacewithout thinking. Windows on both. Second, not rewriting is a desaster. I was in a project group like that. Used 7 or 8 OR mappers at the same time, 5 langauges, all in one project. Senior people will tell you out of experience that a THIN technology stack and standardization is important. Keeps maintenance low. ,NET can do a lot more than PHP, soI need only ONE technology stack.Only one skill set. Having a couple of langauges at the same time, dispara, is imho financial stupidity. – NetTecture May 20 '11 at 11:51
2  
@NetTecture: so you're saying Facebook, Google, Amazon are stupid and not doing financially well? And no, you cannot migrate .NET to Ngnix. Also standardization != monoculture. Standardization is about APIs and protocols, not the stack. – vartec May 20 '11 at 12:02
2  
@NetTecture: again, standardization is not monoculture. And from standardization point of view .NET is total failure. There are no alternative drop-in replacements for any of the components. So what kind of standardization are you talking about? And yes, startup usually start off with one stack. Which for most of them happens to be LAMP, not .NET. – vartec May 20 '11 at 12:10
2  
@NetTecture: in real world it's called XA, read up. And yes, LAMP stack does provide XA if you'd need it. – vartec May 20 '11 at 12:25
show 10 more comments

There's a lot of cr@p being posted here about the supposedly huge differential between building a start-up atop Windows vs. *N*X.

This is not necessarily true.

Rackspace virtual machine hosting for Windows instances is $8 per month more compared to (otherwise identical) Red Hat instances. If you want to host a cloud/web-based solution, there are a ton of Windows hosting providers offering everything from shared (@ $2.99 a month) to dedicated hosting (@ $150 a month) and everything inbetween which should allow you to find a solution to fit your needs and budget. Explore some of the options here: http://www.microsoft.com/web/hosting/home.

Also, take care to do your own research - don't mistake the ignorance of others as actual reality.

For example, Azure is, increasingly, a really kick-ass infrastructure. The enormous investment Microsoft is putting into this infrastructure & the associated tooling is now really starting to pay off with the introduction of the Azure CDN, eventing & pub-sub delivery network, elastic scalability and availability, etc. And if you wish, you can host .NET, Win32, PHP, Java, Ruby and anything else you can run in Windows within your Azure instances too.

In general, the costs for your hardware, software and licenses are going to be dwarfed by your costs for legal, HR, accounting, travel, marketing, rent, supplies, etc. If they're not, chances are that you're doing it wrong! Buying all your founding members MacBook Pro's so that they can write Ruby/PHP/Perl, for example, is just stupid.

Building a start-up with astronomically high IT costs is only going to lead to ruin, but investing in tools and technologies that reduce your time to market (e.g. Visual Studio) is often money well spent. I've spent a lot of times in Eclipse, NetBeans and XCode recently - they don't even come close to VS when the going gets tough.

Augmenting some of those investments with judicious use of additional free and/or commercial offerings (e.g. Mercurial/GIT, BitBucket/GitHub source private/public hosting, an effective task & bug tracking system, etc.) is wise and effective.

Regarding .NET on non-Microsoft platforms, I have been VERY impressed with Mono of late - particularly the platform-specific bindings to iOS & Android that Miguel & Co. created in the now sadly defunct MonoTouch and MonoDroid (thanks Attachmate ... not!).

I'll be one of Xamarin's first customers when they ship their new products to replace the now defunct MonoTouch and MonoDroid and I plan on contributing to Mono where I can. Being able to reuse a very significant portion of my code across PC/Laptop, Windows Phone, iOS, Android, Linux, OSX, BSD is a wonderful thing.

share|improve this answer
1  
You are ignoring though the very real issue of the initial stage of a startup - the one where there is no revenue and no investment - essentially NO money at all. In that case the few hundreds or thousands of dollars for licensing is insurmountable. So yes, in the long term it may not be a wise choice, but to get to the next step it is required. Then, when a few thousand is no longer an issue you are already committed to the platform. – TimJ May 20 '11 at 17:17
2  
Note also that windows hosting is not the only issue - there is one of database licensing. – TimJ May 20 '11 at 17:18
3  
@Tim: If you have absolutely no funds at all, don't bother starting-up - you won't be able to afford to pay the company registration fee, legal and accounting services, website hosting etc. – Richard Turner May 20 '11 at 17:27
3  
@Richard - That's just nonsense. Look up "bootstrapping." OSes and languages are TOOLS. Success or failure is a result not of an OS or toolset choice, but from the people involved. – TimJ May 20 '11 at 17:31
3  
I see a lot of people saying SQL Server costs a lot. Okay... maybe so, I didn't compare. But why are most people assuming just because .Net is being used, that we can't use MySQL or any other database that is open source? – 7wp May 20 '11 at 17:35
show 11 more comments

Turn the question around. Those that have gained enough experience with .NET (Usually a requirement before getting into a software startup is knowing how to program.) are not as likely to venture into startups. Most get this experience on the job working for medium to large businesses. I'd like to see some numbers on what people were doing before their startup. Not that there aren't any people who switched from the corporate world of .NET shops, but this is a huge pool with a small percentage who ever leave.

If you are fresh out of college, worked at a university, have been working with an open source project or were with a previous startup, you're less likely to have used Microsoft products. If you have to spend the time to learn something new, you don't want to take on the additional cost.

A large number of startups are iPhone/Pad app developers; you have to go the Apple route.

Microsoft's BizSpark campaign is trying to combat this by making the cost of entry into their development suite less expensive.

share|improve this answer

Startups DO use .NET, actually. I know quite a few .NET-based startups and I even co-founded several NET-based startups, including my main software business (in my profile).

The reasons we chose (and keep choosing) NET over the alternatives are:

  1. The "Bizspark" program. Registering is free and it gives you all the MS products free of charge. SQL Server (all editions), Visual Studio, Windows OS etc etc. So I kinda don't get the "costs" argument going on here
  2. Visual Studio is by far the best IDE on the market
  3. The .NET team at Microsoft is great and kinda "non-Microsoft". I know a couple of guys working there, and it's the most agile and innovative department (btw, Bing division is also heard to be a "non-MS" dep).
  4. Easy to hire ppl, easy to find info (just look at stackoverflow - "c#" tag is the most popular tag)
share|improve this answer

Your question assumes startups (or most of them) do not choose .NET as their technology stack and this is incorrect.

While it might be true that most startups that visit this site might not be using .NET as their technology stack, it is also true that the reason is not cost, or culture, or dislike of Microsoft but instead the fact that most startups will use whatever they have experience with, whatever they have immediate access to, because that is what will help them get their product out sooner than later.

The idea that startups do not use the Microsoft stack because of the high cost makes no-sense. Microsoft has always offered ways for starting companies to get their development tools, and server licenses at a very low cost, that is a fact.

The vendor lock-in argument is also not valid, because the same apply to any technology stack you choose to use. While some technology stacks might not have a license cost, they all will cost you money, in the way of support, learning curve, difficulty to find experienced people, etc...

My personal opinion about "what technology stack to use for my startup" is, use whatever helps you get your product out the door quickly, nothing else. The technology behind your product is not what will make your product either a success or a failure, period.

share|improve this answer
+1 Nice to read a good answer - though I disagree with the assertion that MS "has always offered ways... very low cost" - If they did - it was not well known or publicized and hurt them a great deal. They have since made up for their lack of accessibility. – TimJ May 24 '11 at 5:08
1  
You are right about various programs not being publicized enough in the past... they are doing a better job nowadays. – Ricardo May 24 '11 at 5:15

For us, the answer was agility. You don't know if anyone is going to use your product/service. You will make numerous changes to the database schema, classes and functionality of the site. I think the easiest way to deal with the unknown but certain changes is to use Ruby on Rails.

Coming from a background in C#/C++/PHP/Perl, it didn't seem to be a great idea to try a whole new technology. But Ruby on Rails is all the rage in San Francisco, and there is a good reason: it is easy to make changes. It's designed for everything that makes the programmer cringe and for everything that you didn't plan.

Interesting question. And yes, Stack Exchange is awesome.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.