Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are two main reasons we chose to use .NET for our startup. The first is that .NET is what we know. The second is Bizspark and its free use of Windows Azure.

--Bizspark/Azure-- We signed up for Azure, which took about 10 minutes to fill out a couple web forms describing what we were doing and provided a link to our "coming soon" page. Five days later we were accepted and within 30 minutes we had our Ultimate MSDN subscription and Azure account created. But it wasn't really about the MSDN subscription (which is a nice bonus, though), as we already had Windows 7 installed and we could have used the Express development products just as well as the ultimate ones. In terms of licensing long term, we're not using any of the server licensing, as everything is hosted on Azure. So we'll never have to endure the licensing hell people have referred to. If in 3 years we're not able to pay our hosting bill on Azure then it's time to stop on working on this startup.

On Azure we're taking advantage of the two compute instances, the SQL Server database, and the Blob storage. That's a powerful hosting framework for free. The other options we were considering was Google App Engine with Python/Django, or Heroku with Rails. We had decided on those 3 options because we didn't want to be sysadmins or feel like we needed to hire one. We wanted scability without having to think about it. And since we're not working on a 100 million user project we're not going to need super-customized server optimizations. Being pragmatic about it, going with GAE or Heroku would have been more expensive than free and would have required us to use languages and frameworks we were not 100% familiar with.

--Using what you know-- We would have been deciding to use Rails or Django "just because" with no real benefit. Building a new product is hard enough without trying to learn a new language/framework/server/os. In the past few years I've experimented with Ruby on Rails and various Python frameworks hoping to discover for myself the magic that had captured the hearts of so many developers, but I always kept coming back to .NET when it was a project that required me to be at my best. Deep down I think I wanted to fall in love with Rails or Django because I prefer living in OSX over Win7. Rails just felt like a mess to me, and Django just didn't click. While there is a lot to like about Ruby and Python, my 7 years of experience using C# pays dividends in productivity.

--Lock-in-- People always mention "lock-in" when talking about .NET. But the truth is that there is lock-in with whatever technology you sink your time into. If you spend 6 months building a product in Rails/MySQL/Linux you're just as locked in as you would be if you spent 6 months building in .NET/SQL Server/Win64. Many of the commenters have talked about needing to tweak the OS, tweak the web server, tweak the database server, etc. If you're a new startup worrying about that, then you've already set yourself up for failure through premature optimization. Focus on building your product and getting a few paid users.

Many have also stated that going with .NET means being stuck in MSland and unable to mix and match tech like you would be in OSSland. I think that's a false dichotomy. If we're talking about mixing a web framework with a database, for example, it's very easy to use .NET with Oracle, MySQL, Postgresql, MongoDB, etc. In fact, it's probably easier than with Rails or Django where I remember having a heck of time getting drivers to compile on my Mac. And these days, it's fairly common to use OSS tools with .NET. Microsoft's own ASP.Net MVC, NUnit, Specflow, jQuery, Sass, Coffeescript, etc., to name a few.



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

Search: