Why don't startups choose .Net as a platform?


31

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?

Technology Platforms

asked May 20 '11 at 05:01
Blank
7wp
275 points
  • I would make this a 'wiki' question but i didn't have that option on here. – 7wp 13 years ago
  • 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 13 years ago
  • I would be interested to know where JSP (JavaServer Pages) fits into this debate. – Richard Ev 13 years ago
  • I'm involved in a startup (we launch tonight!). We use .net – David Murdoch 13 years ago
  • 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 13 years ago

20 Answers


24

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.

answered May 20 '11 at 05:12
Blank
Sean
1,149 points
  • 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 13 years ago
  • 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 13 years ago
  • 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. – Net Tecture 13 years ago
  • @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 13 years ago
  • :) We're not a startup anymore and VisualStudio for my developers costs a small fortune... Back to Notepad I say... – Edralph 13 years ago
  • @edralph ;) Time = money. I don't scrimp on hardware and I buy the software we need to get things done. I want none of this: http://xkcd.com/303/Sean 13 years ago
  • I agree with this. Having worked in a number of start ups, the ones that use .NET are willing to spend the money for it. It's often hard. Bizspark helps now, it wasn't always there. I think there's value in it because in my experience we have been able to deliver a complex product to market faster on .NET than other platforms - but that's not always the case. – Travis 13 years ago
  • @edralph Microsoft offers 100% free versions of all its development tools and they are enough for most developers: http://www.microsoft.com/express/Ricardo 13 years ago
  • They work for college students, but they don't work for developers writing enterprise solutions... – Sean 13 years ago
  • @ricardo, @travis, @sean my comment was tongue in cheek. We spend serious money to buy the tools we need, including VS to run a mainly microsoft-shop C#.NET SQL apps with Server 2008 on VMWare stacks behind Zeus-load-balancers and served over Akamai's network. Free stuff isn't enough. – Edralph 13 years ago
  • @edralph Are you aware of the Microsoft partners program? they offer a lot of the tools at deeply discounted prices as well... you don't have to pay retail for it. – Ricardo 13 years ago

30

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
answered May 20 '11 at 07:26
Blank
Bryan Migliorisi
449 points
  • 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 13 years ago
  • 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. 13 years ago
  • 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. 13 years ago
  • @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 13 years ago
  • @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 13 years ago
  • @vartec and @ron M: Express' versions of Visual Studio are sufficient for most professional developers, unless your are building an enterprise-like application which is probably not the case in most startups. Also, Microsoft has many programs such as WebsiteSpark and BizSpark, both programs give you Visual Studio (Pro versions) and much more, after 3 years you get to keep your licenses and you only pay $100, that is it, you can't beat that. – Ricardo 13 years ago

17

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.

answered May 20 '11 at 06:34
Blank
Kenneth Vogt
2,917 points
  • 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. – Net Tecture 13 years ago
  • NetTecture: there is whole world beyond ASP and PHP. – Vartec 13 years ago
  • 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 13 years ago

12

  • 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.

answered May 20 '11 at 05:21
Blank
Tim J
8,346 points
  • 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. – Net Tecture 13 years ago
  • 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. – Tim J 13 years ago
  • 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. – Net Tecture 13 years ago
  • Um, I am talking about the example of two founders who are trying to get something started with little funding... Not a place that "hires" other people. – Tim J 13 years ago
  • @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 13 years ago
  • @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. – Tim J 13 years ago

17

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.

answered May 20 '11 at 19:34
Blank
Vartec
335 points
  • Thanks. This should be on the top in my opinion. As other stated, the cost does not really apply anymore since BizSpark is a really compelling option which takes care of that for startups. On the other hand, vendor lock-in is very real. It greatly limits the company if it decides to take another way. – Fish 13 years ago
  • Yes and no. At the end, it is not a relevant argument. Many bgig enterprises go vendor lock in and dont get broken by it. MS wont stop asp.net tomorrow. What is the practical chance of taking things to another way? PHP to ruby? IDIOTIC MOVE if you have 6-9 months invested in PHP code to rewrite. Companies dont change platforms at a whim - hugh costs, even with open source. – Net Tecture 13 years ago
  • @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 13 years ago
  • 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. – Net Tecture 13 years ago
  • For examepl, I use C# and C++ - the later for native integration when I only get c++ lkevel lbiraries. Point. Anything else has to have a VERY specific reason and "I like it better" or "it is a little better for x" is a talk about attitude, NOT a reason. The reason must be big enough to jsutify adding another technology to the strategic mix, which also means having staff on hand all the time for this, even if no active developent happens anymore (for a possible bug fix). This has significant costs. – Net Tecture 13 years ago
  • @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 13 years ago
  • No. But they dont run wild in technology AND are a LOT better financially than a startup. Comparing a normal startup with them is one thing - utterly stupid. Once you reach a certain size, and have dozens of projects going on, live changes. Startups normally do not fall into this category.. Btw., standardization IS about the stack. API is nice, but if you have to search for the skills first you made stupid decisions. The stack is alot more than API in a well managed team. – Net Tecture 13 years ago
  • @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 13 years ago
  • Standarization is about cutting unneeded elements. I understan you need 3-4 stacks - because PHP is not astack, it is not even the start, it is a web script only. The moment you use .NET you ont NEED more. It is not about forcing, it is about any additional technology having to bring a benefit higher than the cost. LAMP is not an application stack for any application better than totally simple unless you say "L" is "full linux with other langaugesi n the mix and cron and all the rest because hey, the rest of the stack sucks". .NET is way more integrated, including powershell as shell. – Net Tecture 13 years ago
  • And then you have many things most web developers dont even know off and then work around in clunky stupid ways. Like web services (ouch, especially the harder APIS), transactions, all that is really hard in nontrivial scenarios unless you have the infrastructure. WHich DTC is included in Linux, just to know? Last time I checked the answer was "what the hell is a transaction monitor?". – Net Tecture 13 years ago
  • @NetTecture: in real world it's called XA, read up. And yes, LAMP stack does provide XA if you'd need it. – Vartec 13 years ago
  • @NetTecture: "Second, not rewriting is a desaster." ?! You'll be surprised to read this Joel Spolsky article - http://www.joelonsoftware.com/articles/fog0000000069.htmlSergey 13 years ago
  • @NetTecture: There is a price for a deep integration with a lack of opened APIs (Microsoft's stack) - suppressing ecosystem innovation. – Sergey 13 years ago
  • Which, pretty much is totally irrelevant for a startup. What is more important is the direct economic impact for the startup, which I do see positive (as in: saves money). Note that this is not "spend lessm oney", productivity also costs. Ignorance for that fact is ignorance for running a business. But then, this is ONE reason many startups fail. – Net Tecture 13 years ago
  • @NetTecture: could you provide any productivity benchmark for let's say ASP.NET vs Django? – Vartec 13 years ago

7

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.

answered May 24 '11 at 12:59
Blank
Ricardo
4,815 points
  • +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. – Tim J 13 years ago
  • You are right about various programs not being publicized enough in the past... they are doing a better job nowadays. – Ricardo 13 years ago

7

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.

answered May 20 '11 at 15:21
Blank
Jtauber
309 points

5

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)
answered May 23 '11 at 05:56
Blank
Jitbit
267 points

3

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.

answered May 20 '11 at 07:03
Blank
Tha Bad Dawg
171 points
  • MySpace's failure was not related to their use of .NET platform. Read entire article & comments: http://highscalability.com/blog/2011/3/25/did-the-microsoft-stack-kill-myspace.htmlBryan Migliorisi 13 years ago
  • 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 13 years ago
  • @theBadDawg and @Bryan Migliorski, you folks ought to post answers on http://www.brightjourney.com/q/lessons-learn-running-software-company-facebooks-triumph-myspaceKenneth Vogt 13 years ago
  • I am a .Net dev and have been since .Net 1.1. I've worked in both startups and well established companies and the problem is the same in both areas... Decent PHP developers are a dime a dozen and decent .Net developers are not as easy to find. You'll have to forgive me the LinkedIn reference because I was referencing it from a conversation I had earlier in the day and didn't double check the data. – Tha Bad Dawg 13 years ago
  • 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. – Tha Bad Dawg 13 years ago
  • Intresting comments – 7wp 13 years ago
  • 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. – Net Tecture 13 years ago
  • You'd be surprised how "decent" good PHP devs have gotten in recent history. They may not be masters of object oriented design, but some of the ones I've worked with in the past couple years have figured out how build readable and extensible code that with a little bit of effort couple be truly OO-worthy. – Tha Bad Dawg 13 years ago
  • There used to be a truism that you could take a good C++ developer and turn him/her into a great VB dev, but that you could take a good VB dev and turn them into a great checkout clerk. Much can be said of PHP devs, most of which are part-time, self-taught, barely proficient individuals to whom you would NOT want to trust your shopping list much less the blueprint and brains behind your own startup business. – Richard Turner 13 years ago
  • @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 13 years ago
  • I work for a startup that uses several programming languages throughout different products we've made. The things written in PHP are by far the ugliest and most difficult to comprehend. – Bryan Migliorisi 13 years ago

3

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.

answered May 21 '11 at 02:53
Blank
Jeff O
6,169 points

3

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.

answered May 21 '11 at 02:16
Blank
Richard Turner
139 points
  • 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. – Tim J 13 years ago
  • Note also that windows hosting is not the only issue - there is one of database licensing. – Tim J 13 years ago
  • @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 13 years ago
  • SQL Server hosting does make a big difference in the cost. – Jeff O 13 years ago
  • @Tim: Where did I say you have to license a commercial DB? MySQL, PostgreSQL, MongoDB and most other storage engines all run on Windows. – Richard Turner 13 years ago
  • @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. – Tim J 13 years ago
  • @Tim I thought that was what the BizSpark program was created for, to let your business get off the ground by getting access to Microsoft development tools for 3 years next to zero $$. – 7wp 13 years ago
  • @Richard - the people most familiar with those DB choices are also the same ones with a bias towards NON MS OS and development tools. That's just the way it is. You seem to have an agenda here. I am not going to participate in that discussion. I use MS tools. I build in C++. I like MS platform, but I also have to build cross platform. You can argue all you want about the superiority of MS or how "free" it is, but that does not change the state of the development world. – Tim J 13 years ago
  • 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 13 years ago
  • @Jeff & @Tim: This thread is about why .NET is not used in more startups. The common misconception is that .NET is only available on Windows. I clearly pointed out that the cost differential of hosting a site/service on Windows vs. Linux is practically negligible (can be as low as a few dollars per month). Marking me down because you incorrectly assumed I'd stated that you have to license a commercial DB is unfair and ... well ... let's just leave it at that, right? – Richard Turner 13 years ago
  • I didn't "vote you down". I am very aware of mono. You incorrectly assumed that I voted you down. Let's just leave it at that. – Tim J 13 years ago
  • @Tim: "Success or failure is a result [of] ... the people involved". I couldn't agree more. BUT, there are some basic realities which require you to pay for some stuff. You have to pay to register your company. You have to pay for bandwidth, electricity, rent, hardware, etc. Your assertion was that there is ZERO money available. In which case, there is no company, there are no contracts, there is no (credible) website and there is no business. If a founder or third party contributes time, space or resources, the company has money in it. I know this - I am cultivating my 3rd start-up as I type. – Richard Turner 13 years ago
  • @Tim: My post had been voted down and you were (at the time) the only commenter. I apologize if I assumed that you had voted me down, but I think you can understand my assumption. To whoever DID vote me down, at least offer the courtesy of posting a comment as to why you did so. Voting down just because you disagree with someone's viewpoint is wrong. – Richard Turner 13 years ago
  • @Richard - I really do not want to get into a pissing contest with you, but you seem to want to argue. There is no need for additional costs of any of what you mention - a person in a dorm room or apartment can do all the same things without paying additional rent, bandwidth, contracts, electricity, etc. Once they build their product it may be a different story. This thread is not useful to continue with... – Tim J 13 years ago
  • @Richard - perhaps someone took offense at your liberal flinging of accusations of "stupidity". You have other comments that border on religious wars regarding development tools. I happen to like the MS tools - but there are others that are likely to disagree with you. You seem bright enough to know that you would be inciting the Java/linux crowd... – Tim J 13 years ago
  • Other than my comments about buying everyone MacBookPro's in order to work on open-source code while forming a start-up with no/limited funds being stupid (which I continue to stand by), I don't see anything particularly inciteful in my comments. If others are offended by my comments based from actual personal experience (as opposed to the "everyone knows that M$ $ucz" echo chamber), then, frankly, that's their problem, not mine. – Richard Turner 13 years ago

1

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.
answered May 20 '11 at 05:44
Blank
Apollo Sinkevicius
3,323 points
  • Cost of tools - BizSpark should help with that. Free MSISDN subscription and production licenses for three years. – Heherson Tan 13 years ago
  • That's not a 'low cost'. That's more like 'the first hit is free'. – Alexandre Rafalovitch 13 years ago
  • 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. – Net Tecture 13 years ago
  • 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 13 years ago
  • 120 dev startup? – Jeff O 13 years ago
  • You are a startup, if you are still looking for a business model. Some "graduate" to SMB at 5 employees, some can be profitable and still look for ways to re-invent the business model. As long as you are mostly risk, you are a startup. Once equity is no longer part of your comp - no longer startup. – Apollo Sinkevicius 13 years ago

1

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.
answered May 20 '11 at 11:56
Blank
Digital Sea
1,613 points
  • 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: http://www.microsoft.com/web/hosting/homeRichard Turner 13 years ago
  • @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 13 years ago
  • 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 – Richard Turner 13 years ago
  • 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. – Digital Sea 13 years ago

1

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.

answered May 20 '11 at 19:06
Blank
Dmitri Nesteruk
119 points
  • 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 13 years ago

0

.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

answered May 20 '11 at 16:34
Blank
  • 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 ;) – Net Tecture 13 years ago
  • 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 13 years ago
  • 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. – Tim J 13 years ago

0

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.

answered May 20 '11 at 18:06
Blank
Tylerl
109 points
  • 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 13 years ago
  • @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 13 years ago
  • @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 13 years ago
  • Ever heard of Mono? Or java on MS? "Savvy" developers are aware of mono and can develop cross platform. – Tim J 13 years ago
  • @Richard Tuner, I think you meant to direct your comment to @Brendan Long. I agree with you, Mono isn't so behind. – 7wp 13 years ago
  • @Richard Turner: Apparently it's not as bad as when I last looked (Mono was something like 2 versions behind), but there are incompatibilities: http://www.mono-project.com/Compatibility It looks like it's significantly less of an issue than I thought though. – Brendan Long 13 years ago
  • 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. http://programmers.stackexchange.com/questions/20275/Tylerl 13 years ago
  • @Tylerl: Can you share some specifics about why you don't want to run Mono on your Linux servers? I am running Mono on RHEL and BSD and it runs beautifully. What's more, we can share 80% of our code-base across Windows, Linux/Android and OSX/iOS with NO code changes, while building platform-specific app experiences maximizing the UXP strenghs of each platform. – Richard Turner 13 years ago

0

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.

answered Nov 20 '11 at 10:44
Blank
B Seven
234 points

0

It's not about the startup, It's about the community. There's this connotation in computing that .NET developers embrace the closed-sourcing philosophy, thus making their software resources not available for everyone. Startups would gladly go into technologies which they know they can get great talents that indulge in a full sharing community.

Yeah, S.E. is a great project and many domains have already implemented it like Answers.onStartUps.com and askubuntu but wouldn't it be nice if SE is a deploy-anywhere platform like wikis and wordpress?

answered Sep 24 '13 at 12:02
Blank
Abel Melquiades Callejo
47 points

0

Let me offer a bootstrapper's viewpoint. I have previous experience on Java (<10 yrs) and C# (2 yrs), but I still decided to use RoR for my startup.

Why? Productivity and because RoR is de-facto for SaaS.

You'll get things like SaaS authentication and authorization almost out-of-the-box and if there's anything you need tutorials for, they are easy to find and target SaaS-specific problems. You'll get Heroku and tons of different services that are easiest to integrate with RoR apps.

Now, it may be that I have to rewrite my apps with Java or C# later, but I rather spend that investment of time after I know that those apps can earn me money.

When I'm building my MVPs and searching for product-market-fit, I need the extra productivity and flexibility that RoR gives me. I still like Java and C# better than Ruby, but I think we should pick the tools to match what we do - and RoR matches building startups quickly.

answered Sep 26 '13 at 03:34
Blank
Jaana Kulmala
31 points

0

Well, you could point to costs and you'd be right, but that is only a small part of the equation. If you look at hosting just at rackspace you have $16/month vs $160/month (If you want SQL Server Web). That is a factor of 10x right there. And a 1GB windows server is going to have serious performance issues where a 1GB linux server will support a pretty hefty load. Rackspace server pricing. Bizspark gives you for 3 years what Linux gives you for life. What about when you need 1000 servers? And if you use Linode like we do, you save 50% on what Rackspace charges making the cost factor 20x instead of 10x.

Developer tools are worth spending for, but you don't need Visual Studio, unless you are targeting MS products. We have purchased very good tools for about 25% the price of the Visual Studio that do exactly what we need.

A Linux server outperforms a Windows server on I/O. We have both types of VMs in our shop, and both types of Hypervisors. Windows loses on disk I/O on BOTH Hypervisors, and our Linux hosted VMs on openstack are at least 2x faster on I/O. Linux needs less RAM to do the same things as well. I'd say more bang for the buck, but I'd get a divide by 0 error on the cost of Linux.

But my primary reason for not using MS products is Trust.

  1. MS was a founding member of the BSA. They used the BSA to send out 1000s of overnighted letters, fishing for people to sue.
  2. They spotted someone (Netscape) that they thought threatened their hegemony (Netscape) and they used underhanded techniques to put them out of business. They licensed Internet Explorer from Spyglass then gave the product away, denying any money to Spyglass. If you want more details, you can find them on Wikipedia.
  3. They foisted Internet Explorer on the web and with their hammerlock on the desktop, forced everyone to build webpages with quirky behaviors. Something that has only recently unraveled for them, yet they refuse to provide newer, more correct versions of IE for older OSes, using that as a way to FORCE upgrades on customers (yes, I know it is legally their right to do so, but remember I'm pointing out how they aren't good to work with, and if Google and Mozilla can support their browser on the same OSes, why can't Microsoft?).

They want you locked into their platform, where you can't go elsewhere. Face it, they only make money if you buy their server software; until recently the only divisions of MS that turned a profit were Office, and OSes, XBox recently began turning a profit as well, but the cash cows are still Office and OS.

When you do your startup on MS, you are getting into bed with one severely mean operator who has the money and muscle and the proven lack of scruples to do anything they want to squash you like a bug. Do you really want to fund someone that could easily decide to run you out of business?

I read that C# is really a pretty nice language, that it has some really nice features and that you can supposedly run it on linux using mono which is only a few versions of .NET behind. Our experience has been that it is slower to develop on, adding months to development. Maybe it's just our people, but we came from a MFC/C++ environment to .NET and things got slower to develop. We've since moved to Python and Django as we move to more web based products, and productivity has soared.

answered Oct 21 '13 at 22:04
Blank
Mark0978
274 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Technology Platforms