Ask HN: (No) Microsoft based start-ups?
However, most of those I have seen are based on some open-source, free or otherwise non-MS based languages, technologies and products. For example, there are a lot of web apps running on Ruby, Python or PHP, using cloud services offered by Amazon, Heroku or Google App Engine, using open source databases, and a lot of mobile applications aimed at iPhone/Android (although, it's true, MS has no real mobile edge anymore), etc.
The thing is I don't really hear (or think) of Microsoft when I hear about start-ups. No start-up comes up and says it's using MS SQL Server, or Microsoft Cloud Services...or C#.
What's the deal with this? Is it just me, or is it true? Are there any start-ups that do use Microsoft products or languages? Any example cases?
If this is true, how dangerous would this be in the long term for Microsoft? And what recommendations would there be for people proficient with MS, but who want to begin a start-up.
I'm curious about what you think. Cheers!
TL;DR: I don't hear of any MS based start-ups. Why?
It's a number of applications ranging from windows services to command line utils and websites. Using .NET I'm able to do all of that in C# and not have to switch mindsets when I jump back and forth between all the different facets of it. I can also easily re-use code/classes between distinct applications.
These days I can be found in just about every major Flash game that's coming out. In total I run on 2x dedicated and 1x vps, however I've been working my ass off on making things massively more efficient and could easily reduce my hosting.
Some fun stats:
- I do about 130 - 150 million events per day
- the biggest game by views = 30 million
- the biggest game by total events = 2.27 billion events
- I lag about 4 or 5 minutes behind real time
- I spend more on coffee then I do on licenses on my servers
Open source I'm using:
- MongoDB for my (alpha) level sharing API + an open source C# library for using it
- ClamWin
- FileZilla
- an open source C# markdown library
- an open source C# geoip library
It looks interesting though. Have you used both?
Windows Server 2008 R2, SQL Server 2008 R2, IIS 7, C#, ASP.Net MVC 2, WCF, AppFabric and more. We also use Ubuntu, Apache, PostGRE SQL, and many other open source technologies and libraries.
I'd imagine most people don't use Microsoft's offerings because they're expensive (but affordable with volume licensing). They're also rarely on the bleeding edge, but sometimes that's a good thing. They offer some things you can't easily get with open source offerings, like:
SQL Server: Mirroring, Transparent Data Encryption, Spatial, Partitioned Indexed Views, and Full Text Search (all in one offering)
IIS 7: Ability to host transport independent services. That means the same code can be accessed over TCP, HTTP, MSMQ, or custom protocols you write yourself, and all be monitored and managed (lifecycle, health, etc) from one place. The closest open source offering I've heard of is Mongrel 2 (which looks awesome).
And so far, I've only encountered one bug that's affected our production code. It's really quality stuff that just works.
The other class of startups are those by relatively successful people who left their current job to start a company. More of the Spolsky model. Here you'll find a lot more MS-based stacks. Usually because they're familiar with it and with BizSpark the upfront cost is relatively cheap.
Of course these startups probably have different funding models, so you hear about them less on places like TechCrunch. Lastly, they are often more enterprise focused as their experience in industry has given them the ability to see gaps in the enterprise offerings (college students don't do enterprise focused startups) -- but they aren't exciting consumer technologies. But a companies like Topaz Bridge are still doing some interesting stuff.
People will (generally) use whatever tool they're familiar with, regardless of whether it is actually better for the job or not. Therefore it makes sense that the person's background will be a fairly large determining factor in what language they use. Someone (like me) that comes from a decade of developing "enterprise" .NET applications is most likely going to choose .NET. Someone with that same background is likely to be less concerned about the latest "cool" tech, and more interested in just getting the job done.
It also has a fair bit to do with resources. If you're running on little cash, it makes sense to use the cheapest tools and hosting available. Whilst, MS offer free version of all their tools, you still need to pay for hosting your app. That's the big turn off for many.
For us, it is a combination of my .NET experience, the fact that hosting price isn't a huge issue (our web design and .NET consultancy work covers our costs), and most importantly I DESPISE Linux with a passion. Queue here to flame me -->
If you're interested in the startup world, learn another software stack or three. Startups generally need people who learn new things quickly and use the best tool for the job. Flexibility is key; don't be a one-trick pony.
I usually latch on to people with extensive domain expertise outside of computing, just to see where things might lead, but that particular one felt very FAILy and the people too unreachable and bureaucratic (i.e. "fax the requirements to my office and I will tell the girl to embed them inside the spreadsheet" -- horrible.)
I avoid the microsoft stack because I believe in the massive advantages open source brings, and because its better (imho).
For me it came down to what I could build most rapidly given my skillset. I had experience in Java and C#/.NET and my partner (my husband, not my co-founder) could mostly only help in C#/.NET. So it really was a question of getting something built in 3 months versus 6 (or maybe not at all if I got discouraged and it took too long to market). The licensing fees are the things that weigh on my mind, but if my business is successful, I will be able to pay them or even re-write the application using the profits.
I know better than to expect to converse about our MS technology with the HN crowd, though.
It may well be that YC-funded startups consistently differ from the average startup. But that doesn't mean that such differences are due to fashion. The kind of people we fund are more consistent in knowing what they're doing than in being young. So if as a group they differ from the norm on technical matters, the more likely hypothesis is that the norm is lagging.
I'm comfortable assuming that the YC startups are above the average, but that doesn't mean they aren't also affected by the demographic that would most benefit and be able to participate in the YC program. In no way am I implying that YC would select someone younger for admission over someone more qualified - just that the nature of the program self-selects.
In my case, I'm still young but having a toddler puts me in a similar situation to a typical older entrepreneur. It would be incredibly difficult for me to take an X month block away from my family or to uproot my family. And a $10K investment doesn't mean to me what it does to a college grad, because I can make that in a couple of bonuses or consulting gigs. The thing I miss most in a program like YC is the mentorship, but for me it's not worth the aforementioned hardship.
It's not that I'm not interested in new technologies, I do tinker, but it's just a matter of priorities. Given that, you're probably right that the "norm" would be lagging in terms of using the newest and coolest technology. I don't think that equates to generally worse companies, just less fashionable, to tie back to the original point.
I'm not sure why. People talk about Clojure and Haskell and I'd bet good money that those are even less common for startups — heck, probably fewer people here can even read them. I don't personally like the Microsoft stack overall, but I do think some of the stuff they make is pretty compelling and it would be interesting to hear how it's used outside of a BigCo.
That could just be me, though.
Be careful here though ...
> I know better than to expect to converse about our MS technology with the HN crowd, though.
Lots of positive posts, even in this thread!
If you run a small group of machines and you know what you are doing, Windows could be just fine for you. The worst that can happen is you succeed and need to migrate your software to another platform.
edit: actually the worst that could happen is that you hit a technical problem the closed nature of Windows prevents you from solving and you have to port before you become profitable.
So it might influence us a bit, but we never know till we know other things that influence us a lot more.
.Net might just attract personality types that are more risk averse, aka programmers more interested in a steady paycheck than the ups/downs/stress of the startup life.
Having said this, I find the Microsoft platform dead simple, the tools best of breed, and the new MVC framework to have opened up the platform considerably.
Yeah, the thing people also don't realize on this topic is you can use MS SQL Express - which is free - to avoid paying/licensing issues.
The limits are almost entirely around ui, ease of use type features, not performance or scalability. Aka, you don't get the fancy VisualStudio-esq UI so you can't do diagramming, or things that you want generally when you are developing. But you still get a barebones management tool that's better than most of the mySql variants I've played with.
For use on a webserver, yeah it's a solid option esp if you are already having to use MS SQL because of other business requirements by your client/company.
We just started a few months back and are working on our first project.
I really like developing in .NET so this was a no brainer for me. Other people would disagree with me and want to focus on open source.
Different strokes for different folks I suppose.
Even with BizSpark the point of entry for open source sartups is much lower which probably accounts for most of it.
Either way, you can be successful and profitable with both, it's just a matter of finding what works for you.
With an MSDN subscription (which is free for me for 3 years through BizSpark) you can download virtually any MS software ever released. I'd be really surprised if they didn't have what you need.
I'd be more worried about a company like Oracle buying out a product like Java and screwing it up. At least you know where Microsoft stands.
#1: Startup founders use technology they know. Open source developers tend to be willing to trade more risk and effort for a more tailored and flexible end product. This is a similar personality profile to someone who's willing to put in a large amount of work to build a business and potentially get nothing for it. Microsoft builds run-of-the-mill, sure-thing products that will at least do something well, and they'll support it for you. Commercial software dictates their software model: take few risks and sell to broadest audience.
#2: Interoperability. Microsoft software works outstandingly well with other Microsoft software. Open source software tends to be built on open standards, and, again, if you have the source, it's always possible to hack it together. The open nature means less business risk when making software decisions. The way out is of a situation where software won't do what you need it to do is to use the source, even if only as a temporary patch.
#3: Automation. While things are getting better, it's still much easier to automate most open source software, since these products usually either have a CLI, an API, or even in the worst case scenario: source code.
#4: Even with BizSpark, licensing has limits on your companies' use of technology. Simple example: Do we go with a bunch of small boxes or a few large boxes? Licensing concern may drive your team to fundamentally flawed architecture decisions.
http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx
Contrast this with the ruby stack you might be running MRI, YARV, Rubinius for your VM, and then for your web framework you might be running rack, sinatra, etc. Thus when someone makes their stack OpenBSD + YARV + Sinatra + Active Record it's newsworthy as the non-standardization likely created some kind of interesting issue they needed to solve. This stuff doesn't happen on the MSFT side of things. If someone says they are doing a MSFT start up the only real question about their stack is LINQ-to-SQL / ADO.NET entities / nhibernate. I already know that the rest of their stack is going to be Win2k(3|8)R2 + IIS + ASP.NET + SQL Server and it's going to be written in C#.
I was considering doing an Win2k8R2/F#/MVC/nhaml/LINQ-TO-SQL start up but my market isn't tech guys so any blogging I did about my unique stack would attract people who wouldn't be interested in the startup.
Secondly... SQL Server is by no means required in the stack. We are using MongoDB as our datasource in an ASP.Net MVC app. You can use ANY database.
Similarly, you don't have to use ASPX/WebForms either; a lot of people I know are switching to MVC and not using any of the .net ms usercontrols on the front-end, instead going with open standards and using something like jQuery to handle a lot of the UI and web-service interaction. This is the approach I've taken in recent years, and it makes it a ton easier to create clients for other platforms like iPhone, Droid, etc.
We spent three weeks evaluating Rails, Flask and Django for the app, and the team had experience with all three tools. The risky move to a statically typed, compiled environment paid off because of a solid IDE and good surrounding tools.
Yes, you can use any DB - good point.
Granted, we aren't in production yet... Will see how that goes :)
I have also found Windows programmers on average to be more expensive than LAMP developers, which is an important concern as you look to build a startup's team.
I'm not so much concerned with vendor lock-in so much as I would be concerned with the support of an open source community. The free resources and tools available for PHP, Python, Ruby, etc., are hard to beat. I'm not sure if the same breadth of resources exist for Windows.
Having the ability and technical resources necessary to generate said patch, however, is a different problem.
OTOH, SharePoint extraction tools seems to me a very profitable model for the coming years.
just wanted to reply that ferrari.com is very slow, may be it is related to using MS stack
Annoyances with the latest MS Platforms:
- Nasty URLs (capped, trailing file types) - although it can be done with IIS7 routes or preferrably IIRF which runs IIS5-current. They still dont' have a mod_rewrite solution unless you run server 2008 with IIS7. Look at how nasty this looks: http://www.ferrari.com/Italian/Pages/Home.aspx, why not just http://ferrari.com/? The reason, their frameworks suck defaulting to path cruft, file extensions and capitalized urls.
- ASP.NET WebForms single-form per page travesty.
- Again, File naming and the ASP.NET MVC again relies on their capitalized URL paths and .aspx extensions everywhere.
- XML and SOAP crazy over RESTful/JSON based services (they tried to remedy this with WCF but configuration failed)
- All MS developers are not free thinkers much, they use whatever MS tells them to use from LINQ, MS SQL Server, Sharepoint etc. Even such things as using JSON, jQuery and Entities they didn't use until Microsoft had the frameworks then all of a sudden they loved them. I kid you not most people still used the Microsoft AJAX framework until 2008ish.
- VB.NET
- DataSets just clutter all applications
- MS seems to have lost the skill to make simplified engineering solutions (sure their tools are simple but they are overly configuration nightmares or lock in by requiring the tool otherwise it is painful).
- All good .net developers when they become engineers or entrepreneurs typically leave the platform for cost and better solutions. MS seems to attract mediocre or enterprisey programmers like Java (this could be due to the popularity of both platforms attracting more developers overall)
- Sharepoint kills developers dreams.
You can do .NET like modern web development but for the most part the developers in the MS culture don't.
1. ASP.NET MVC2, which is what they're trying to replace Webforms with, doesn't have any URL mangling issues given that the pathing is determined entirely by the developer's architecture.
2. Yeah, a view needs to contain a .ASPX file - this is an issue because?
3. You can't figure out how to edit some basic configuration settings, therefore the technology failed? Having consumed more than my fair share of RESTful services using .NET (the vast majority of my code samples on my blog are about using tools to do that), let me tell you that LINQ-to-XML and LINQ-to-JSON (JSON.NET) blow every other tool out of the water when it comes to parsing responses, with the exception of RestSharp, which is even better.
4. What the hell kind of bullshit is this? Because Microsoft offers me tools that integrate and often come with things I've already purchased I'm somehow a blind code-monkey slave to them? And there are plenty of developers who hated the .NET AJAX Control library and used jQuery or something else, myself among them. Microsoft isn't perfect, and there are exciting new non-.NET technologies out there that a lot of .NET devs try. Ask Rob Conery about his experience with Ruby, which I think is now his primary platform.
5.And what's wrong with VB.NET? That's how I broke into .NET until I did C++ programming in school and switched to C#. Yeah it's a verbose language compared to C# and it lets you play fast-and-loose with typing, but the fact that it's different from other tools doesn't make it inherently bad.
6. If you use DataSets poorly than I suppose that's true, just like how you can clutter PHP with inline MySQL. Shitty code can be written in any language.
7. What? You mean like one-click deployment from Visual Studio to an IIS7 instance? Or the ability to easily setup mirrors and scheduled backups in SQL Server? Or the ability to host services with virtually any protocol in IIS7? Try doing any of that in the LAMP stack and then feel free to tell me about how MSFT can't develop "simplified engineering solutions."
8. Some definitely do, but "all good devs?" Bullshit. Ask Jeff Atwood. The idea that enterprise platforms attracts more medicore programmers is laughable, and I'll point to the fact that JAVA and .NET developers are paid more by the free market on average than any other type of developer as evidence of that. You don't get paid well if you do shit work.
9. SharePoint is an utter POS; I hate using it as an end user, and I will be a sad panda the day I have to develop for it. No contest there.
1. Yes it does. It defaults all models, views, routes to capitalized names like CustomerProduct rather than customer-product which is much better for urls and keywords. You even have many lower level .NET dude with /Member in all their urls because they can't abstract away from the physical folder hierarchy.
2. Everything should be ashx or handler based like a good framework, if you need a view you call in the view or template handler like every other framework. Microsoft wires it to aspx pages by default which the Page model is bulky if not needed such as for a REST endpoint.
3. Yes I can. Everyone else if you have worked on a multi-year project in .NET of any scale you will know this configuration hell I am talking about. It is the one that Java has been in for some time. btw I agree on JSON.NET there should be more simplified frameworks like it. I use it in my .NET MVC.
4. All I am saying is typical MS developers dont' venture out, you may. Try pushing JSON or YAML before MS blessed it with a big arse WCF framework and you will see. Even try pushing anything not pushed by microsoft to see what I mean. Heck try this today by pushing a better MVC than ASP MVC to your MS platform developers and see what happens.
5. VB.NET, what is wrong with it? Everything is backwards, it is overly verbose, it mangles the idea of indexors with methods (i.e. [] vs. ()), you have to write 'End Function' (but their tool does that for you) Ok no need to go on here... I do like the behind the scenes compilation and way back in 2001 this was a competitive benefit. Other than that VB.NET is horrible for anyone looking to code ANY other language.
6. Every poorly written .NET project has Datasets that make it all the way to the presentation layer to bind to some default GridView. Laziness and not good software engineering. MS made it too easy there.
7. Try doing any of those things manually or customized. The tools are sugary goodness that hide the complexities of the operation. Most likely there will be a default fail somewhere along the lines on any application of scale. And it is keeping most from learning key elements of deployment on a larger scale.
8. Java and .NET are the biggest platforms, by mere probability they attract more mediocre devs looking for a safe harbor of a job security. There are plenty of good .NET devs but they get lost and lose the ASP MVC, Sharepoint, MS SQL only battles and move on.
9. We can agree, it is an abomination.
I like Microsoft, but they are killing their platform by trying for developer lock in in all the wrong ways.
1. That's trivial to change though and I think I would argue that the default mapping has more to do with how to map to class names (e.g. /Member to MemberController) than folders.
2. You don't have to use ASPX if you don't want to - there are a variety of difference view engines - I happen to prefer StringTemplate.
3. .Net MVC projects, don't need to be complicated, most of the complexity you see in these projects is down to the developers
4. 5. and 6. are true - but things like Datasets cen be easily avoided if you don't like them (which I don't)
7. .Net MVC has got some fantastic extension points, I never use any of the wizards or complex editing tools in VS that hide the underlying file contents. This is perfectly feasible if you want to do it.
8. That isn't really a comment on the technology stack - just because a lot of people use it doesn't mean it is bad.
9. Writing code to run in SharePoint is the devils work.
1. The key term here is "defaults". This behavior is completely configurable.
2. This doesn't apply to MVC, since it is all handler based. Plus, you can extend it at pretty much any point in the pipeline: http://blog.stevensanderson.com/2007/11/20/aspnet-mvc-pipeli...
4. I think this is an older point of view that is rapidly changing with MVC. Outputting custom formats is astonishingly simple, it's a matter of using built-in ActionResults, or inheriting it when creating your own, e.g., YamlResult. When they make the framework more extensible like they have here, I think developers certainly take advantage of that.
I keep seeing a lot of criticism of the default behavior, when all of this behavior is trivially overridden.
I find the ".aspx" ending to be ugly too, in addition to being sneaky free advertising for their platform.
Up above, you're looking at a list of complaints that haven't been valid since 2005, and to be honest weren't an issue for anybody back then who knew what they were doing.
The server infrastructure consists of over 4,500 web servers (running Windows Server 2003, IIS 6.0, ASP.NET and .Net Framework 3.5), over 1,200 cache servers (running 64-bit Windows Server 2003), and over 500 database servers (running 64-bit Windows Server 2003 and SQL Server 2005) as well as a custom distributed file system which runs on Gentoo Linux.
Also, innovative people are inspired by innovative examples, and Microsoft (as today) isn't seen as such by many.
Humour aside, the language of your question ("non-MS" and "some open-source language") implies that the decision to use anything except Microsoft stuff is the Other, and I just don't think that's a realistic baseline.
There's a world of excellent tools for different jobs, and we are so lucky because the cream gets to the top a lot faster now.
http://github.com/languages
We're not building on WebObjects and you're not working with VB.NET, either.
We use ASP.NET MVC 2 and most of Azure offerings. The reason for the lack on MS based startups probably goes back to using what you know and where founders come from - we were both working as .NET devs for a few years before starting IActionable, which is probably atypical. There are definitely other .NET startups here on HN, probably due to perceptions that it is more expensive and people generally start out on something else, like an interpreted, as opposed to compiled language.
1)Download the windows microsoft web platform installer 2)In just a few clicks you can install asp.net, Visual studio web developer and SQLserver express, all free
When you're ready to deploy sign up for the rackspace windows cloud server. Currently I pay about $60 a month (this includes the cost of windows server). You can use SQLserver express for free (although its capped at 10?/8? GB of data).
1. Many startup hackers are good enough customize Linux for their needs, but would lack that freedom under Windows.
2. Open source security model perceived as more reliable than MS's security through obscurity.
3. Performance. Not an expert here, but from anecdotal evidence of running Win7 vs Ubuntu10.04 on my desktop, and WinXP mobile vs Ubuntu UNR on my netbook, in both cases Linux can run more servers, background, and foreground processes simultaneously with no system degredation than Windows can. My netbook under UNR is especially amazing - slow and clunky under Win7, as responsive as a desktop under UNR. Does that carry over to servers too? (and can you run a headless Windows server?)
The recent article on Reddit's server costs brought up an interesting consideration about hardware maybe not being as cheap as it is reputed to be, at least not in the Amazon cloud, and that maybe choosing your technology stack based on its inherent performance is still a valid issue (eg, choosing Rails (or MS) for developer productivity and then throwing servers at it till it performs well enough may be more costly than perceived).
Can't say for sure since I haven't used MS products for web stuff in almost 10 years.
4. Vendor lock in, increasing licensing costs as you scale.
3. The performance differences are negligible in the general case. Startups write their own code so most of the performance differences are going to come from the code they write rather than underlying performance differences. In both cases, python vs. C# / .NET you can always drop down to C. I doubt that whatever their problems are they stem from language / compiler. Most sites are IO bound. IO bound applications are largely a factor of how many disks you have. The throughput for writing a file in PHP and C are identical on machines with less than 10 disks.
4. Licensing costs decrease drastically as you scale on the MSFT side.
I've loved using C# for the site but if I had built it in Ruby or Python I might have gotten more free traffic. Maybe the buzzness behind using X programming language that is current, hip and or new might be an easy marketing tool leading to you hearing more about them.
He and the founder were both in their 40s at the start, and had a decade of Microsoft-based consulting under their belts. I'm not surprised to see very few people in a similar demographic on HN.
there are some good startups based on the MS stack, but they're generally startups done by people with money, connections, or extensive experience in the MS stack.
$469 is a significant percentage of the hardware cost. The last time I bought a bunch of servers, they were in the $2500 range.
If anyone believes that Google, Facebook, Amazon, Twitter, Salesforce, or any other big internet company that has become prominent over the past few years was developed using .NET they have another thing coming.
http://thewadi.com/start-down-israeli-start-ups-in-crisis/
The remaining 40% are Java.
Python has a sizable, but still small community.
Tiny Ruby-on-Rails community.
And Erlang ... I think I'm the only full-time Erlang developer in Israel (oops I moved temporary to Sweden).
Regarding cost, it's really not that bad -- especially if you qualify for the BizSpark program.
People who build things with upcoming tech tend to mention it because it's novel. And unfortunately a few of those upcoming technologies don't handle load particularly well so you get to hear a lot about them as a result of them falling down.
So yeah, you don't hear about Microsoft stuff for the same reason you don't hear people talking about PHP or Java. It just plain works and always has, so there's no story.
BizSpark aside, I think hosting costs/maintenance is much more. For a $20 512 Linode it would cost a hell of a lot more to run MVC.NET + MSSQL.
Even if they give you the licenses for free, it's much more expensive.
It's different to design a HA cluster that can sustain a minutes-long usage peak (due to a node going down for maintenance) than one that can sustain an hour-long outage of one of the nodes.
It all depends, in the end, on how the applications are designed to run - they are the ones that will decide how many servers you can take down at once. In any case, the shorter they are down, the better.
Consider a site with 3 front-facing web servers that are affected by a 0-day. If a server can be patched in 2 minutes, it will result in 6 minutes of 150% load on the servers not being maintained. If the patch takes an hour, you will have 3 hours of 150% workload. The internet user may not see the downtime, but you have to factor in the higher load. The best solution could be to use 4 or 5 servers instead of 3, but that would also increase your vulnerability window.
Microsoft even has BizSpark - a network to provide resources to startups (we are one). All you can eat Microsoft software via MSDN.
"Price" is no longer an issue and Microsoft has made a point of building a solid startup ecosystem around their stack.
And price is no issue only if you fail. If you succeed and have to deploy dozens of servers, you will quickly feel the it in your wallet. You can't grow horizontally as cheaply as you can with any free (even free-as-in-beer) solution.
If you have to deploy dozens of servers on any platform you will quickly feel that in your wallet.
If you can read Portuguese, they did a very good presentation at FISL in Brazil a couple days back.
http://ignofisl.ig.com.br/2010/07/22/material-da-palestra-so...
I have to run Windows servers, use Microsoft's IDE, etc. What if Server 2012 is absolutely terrible (hey, it's happened before). What if some insanely huge security hole is discovered in IIS (again...). You're hosed. In the land of open-source you can just do a 15 minute down-time to switch to nginx (or 10+ other options), set up some new servers running a different distro, whatever.
It's just too worrying to purposefully dig yourself into a hole where you live and die by your vendor. It's not as if their products are all that great, either. I certainly wouldn't want to develop on Windows, and I'd be even less happy about forcing potential employees to do so.
TL;DR: Why do you expect to hear of many MS based start-ups? There just isn't that much compelling founders.
It's quite a good platform (performance and tooling in particular, LINQ is also an impressive technology). But truthfully I wouldn't recommend it. Other platforms excel in other areas, and the Microsoft community culture is nowhere near as "sharing friendly" as the open source communities. Finding good developers is harder (it doesn't have the geek cred to attract hackers). Your deployment options are more limited (can't just get a cheap shared host to get started). Writing C# is about as enjoyable as writing in Java. (Take that as you will... but to me that's a slight negative).
If you were starting from scratch, the reasons to choose a Microsoft platform are not very compelling. You can still create great, fast, performant products - but you can do that on any of the major platforms.
1) Cost, I want to keep costs low. 2) Hedging my bets. I want to see what the open source world has to offer. Can I be productive and not pay a lot of money to MSFT?
You might think Microsoft is stable and that things tend to just work; but, if they stop supporting something you need -- you're SOL. If there is a bug that affects your software and it's low on their priority list -- you're SOL.
With FOSS, you can branch the project and not update and everything should continue to work as you'd expect. You can fix a bug yourself if the community doesn't think it's a priority.
What's more, with the new anti-IP laws in NZ and having the PirateBay being hosted by the Pirate Party, I imagine there will be a lot of very interesting changes in the FOSS community.
https://app.loopt.com/loopt/termsOfUse.aspx
There are some caveats, however: you should have a solid reason why you're using this product ("it's what I know how to program" or "it's easy to hire for" is not; "we have a large codebase and we can't just stop feature development and do a re-write" is), it has to the an acceptable tool for the job (e.g., you're not doing machine learning in PHP) and you have to be flexible enough to use other tools when they're right for the job (e.g., Facebook writing services in C++ when needed vs. forcing everyone to work exclusively in PHP). If you fit these criteria, you'll be able to hire hackers (although I personally wouldn't join a company that required me to run Windows on the desktop, which is very likely to be the case if your product is on .NET).
Now as for why I don't use MS tools:
F# is pretty amazing and C# is fairly bearable compared to other languages in Blub Central (of course it's still a Blub). If Mono were more usable for the server side, I'd be writing projects in those two languages. I'd very seriously consider Gtk# or Cocoa# + Mono for writing a desktop application (as opposed to using C++ + Qt or Java/Scala + Swing/SWT). Nonetheless, Mono is just not (yet) usable for a server.
I'd flatly refuse to use Windows for either a server or a development machine as it's simply an environment designed for the masses and not for hackers. I am many times more productive with Perl/Python UNIX shell + Terminal than I am with a GUI and Powershell (which is a lot better than the Microsoft tools I grew up with).
If Microsoft actually targeted hackers and developers as opposed to IT departments of non-technical firms I'd consider their products. Problem is that they're not a charity, but a corporation with a legal obligation to generate profit for their shareholders. Their current strategy works well for them and I don't see that changing. When I see a company using a proprietary stack, I first assume that the company is mostly "business guys" and wants warm bodies. I'll have to convinced otherwise, which is possibly; I am not close minded: you can't just judge people by the architectural decisions they made without knowing why the made them.
I am glad to see Microsoft support F# and Scala on .NET, but I am not sure how far this will go. I'll stick with an open source/Linux stack for all my hobbyist programming and I can't imagine building a start-up on anything else.
We do a lot of processing and storing of data, SQL Server is awesome for that.
Microsoft has a bad rep, but the libraries/tools/services they have are pretty powerful, bug-free, and easy to implement.
Only downside seems to be cost, but with BizSpark you don't have to worry about it for 3 years. And after 3 years you really shouldn't have to worry about it either because paying for it shouldn't be a problem.
While working on it, I had all the pieces put together to quickly make a mobile version of hacker news http://toadjaw.com/hn that offers an article text viewer and screenshots of the article. So all that's in .net.
I've mentioned elsewhere that the overall project is about 75% done. Not ready for public use yet, but close. If anybody is really interested in beta testing, let me know.
granted, we're a web 2.0 health care company, so we're more of a hybrid.
http://tinpanvalley.tumblr.com/post/796605832/why-startups-d...
Now before you mod me into oblivion think about it. What does Microsoft want? To sell more licenses. So if you wander into MS and say you want to use their stack to do X but you need buy in from some people they will know who to talk to to make it happen. That way everyone benefits.
...which is no surprise, as they offer transaction web monitoring with Internet Explorer ;)
Yes, you can, many people do, but it's less common, which is why basing a startup on an MS stack is less common.
tjoos.com was a start up that used a MS web stack.
saasu.com is sticking with their MS based web stack.
http://www.microsoft.com/bizspark/ is aimed directly at start up software/web companies.
open > closed