4 ms·
Yes, you can certainly build a startup on .Net[1]. That said, there are some things you should consider carefully before you do: * Will you be able to recruit
by kogir 15y ago
Yes, you can certainly build a startup on .Net[1]. That said, there are some things you should consider carefully before you do:
* Will you be able to recruit top talent? In Seattle, not likely a problem. In the Bay Area, it's harder[2].
* Does the licensing cost make sense for your business? BizSpark is awesome, but it's not forever. In most cases the answer is yes, but not always[3].
* Are you willing to learn Linux too? You're going to run across something cool you want to use that only works on Linux, or works best on Linux. Redis, MongoDB, RabbitMQ, etc. come to mind.
I've built a startup on .Net before, and may do it again. The documentation for the whole Windows/.Net/SQL Server stack is amazing, and they're very predictable. With little effort you can learn enough to know how they'll perform, where they'll fall down next, and the next steps to move forward[4].
[1] I co-founded and was CTO of Loopt. We may have had product problems, but the tech never held us back.
[2] It's hard to find really good people willing to work on .Net in The Valley. They know their next gig will likely be at another startup, Facebook, or Google - .Net won't likely help you there.
[3] After BizSpark is over, look into SPLA licensing. It allows you to pay monthly for only what you use, and allows you to always be running the latest version. During all of Loopt Microsoft Licensing never cost more per month than an engineer, and the software saved us at least as much time and money. Remember, each time "The New Hotness" breaks, the time you spend debugging or migrating to something else is time you're not spending on your product.
[4] For example, Windows and SQL Server have great performance reporting. You'll know you need to get more RAM in a month, or switch to SSDs soon, long before you actually have problems.
- chaostheory 15y agoMy only concern about working with .NET has nothing to do with the language or the underlying tech. They're both fine. The problem is that the open source community on .NET (both C#, ASP.NET, & VB.NET) is anemic compared to virtually every other language, and I'd rather not reinvent wheels whenever possible. I know one way around this is use java open source, by either a source or bytecode translator from Java to C#. Is there anything good to know in terms of limitations of this approach? Are there alternatives? There's also the problem of using stuff that's targeted primarily for Mono, instead of .NET proper, and vice versa. That being said a good carpenter can still crank out a nice table with a rock and some wood, but the question is should he?
- kogir 15y agoI've found that when it doesn't make sense to keep everything in .Net, it's great to break things out into independent services. If there's something awesome you want to use in Java, like Lucene, expose it as a service and consume it from .Net. In fact, if you do this right, you end up with a bunch of clearly separated re-usable services like in AWS. It also helps prevent the "giant ball of spaghetti" architecture by making it impossible.
- chaostheory 15y agoWhat if the stuff you want is too small to break out into separate service? e.g. some little util library or even a something like a driver Also if you use a lot of libraries / apps from a specific language, doesn't it make more sense just to transition to that language instead, or does what .NET buy your team worth it to stay?
- kogir 15y agoIf you find yourself using primarily Java (nothing wrong with that, really), then just go all the way. I think the same is true for most any language. It's also valid to start doing everything new in a new language and gradually migrate away from where you started.
- jbigelow76 15y agoI know it was just a "for instance" but there is a .NET implementation of Lucene, open source and everything. http://incubator.apache.org/lucene.net/ http://incubator.apache.org/lucene.net/ The point being, "no open source community", "license costs" (see bizspark), the "MS is a desktop stack" are all popular myths that haven't been relevant for years. But your point of well defined, independent services is spot on.
- chaostheory 15y agoI didn't say "no open source community"; I said super small open source community compared to almost every major alternative. That isn't a myth. It's reality. Moreover Java has a lot more big projects that .NET just doesn't cover. Not to mention we're ignoring the tons of stuff you can find in Ruby, Python, and even PHP.