7 ms·
Can you build a startup on .Net?
- joeblau 15y agoI was at the Node meetup in San Fran and after hearing about the BizSpark opportunity, I am seriously contemplating building out a startup on Microsoft's platform.
- Khao 15y agoI recently discovered about Microsoft's BizSpark program and I must say, I'm really tempted to try and build up a side project just so I can apply to BizSpark and have tons of free resources to build my side project. I love .Net and I think Azure is really good, even if the article says it's too cumbersome for a small project. I think the fact that developers can forget all about server configuration and implementation and just start a VM in one click is nice.
- dm8 15y agoI used to develop .Net applications and I love that platform. MSDN is awesome and Visual Studio is hands down the best IDE. I know at least two startups that participated in BizSpark and they get lots of free goodies from MSFT.
- gte910h 15y agoI have used several versions of Visual Studio, and while it's not Eclipse/slow/broken, I never really saw why everyone loves the hell out of VS's IDE. Can you show me a page highlighting why it's so good? (Not trolling, really trying to understand the love).
- edwinnathaniel 15y agoEclipse is awesome for the record. Especially given that it's free. Most people use VS.NET with Resharper while Eclipse has a few Resharper features built-in and more. Eclipse + Maven = great deal.
- falcolas 15y agoEclipse might not have any up-front monetary costs, but it has costs in lost productivity while waiting on it (which would arguably cost you more than a closed source license when applied to the value of a developer's time). It's gotten better, but it still has a ways to go.
- edwinnathaniel 15y agoMy machine is beefed up so I'm sure someone else's cost using less powerful machine (Intel P3 or something...) is more than mine. Ditto with VS.NET 2010 or future version of Microsoft IDE when used in older machines. Shall we count the cost of using plugins as well? Including OS boot time and such and such? Sorry, what I mean to say is that I don't know what you're talking about of this "waiting on it".
- jomohke 15y agoThere's also IntelliJ, an IDE from the guys that make Resharper. We moved from Eclipse to IntelliJ a few years ago and aren't looking back. It "just works", has (had?) more reliable and advanced refactoring, and the support for other languages (like JavaScript, Python and Ruby refactoring and debugging) is/was far ahead of Eclipse.
- Retric 15y ago
- subpixel 15y agoFWIW, Seamless.com is .net
- devinegan 15y agoI have a good friend who runs his bootstrapped startup (http://www.georiot.com/ http://www.georiot.com/) on Mono/Linux (http://mono-project.com/ASP.NET http://mono-project.com/ASP.NET). Utilizing some OSS helps to keep the cost down.
- anthonyjs 15y agoYes. As others have mentioned BizSpark is a fantastic resource. As a developer mostly using the .NET and MS ecosystem it’s enabled me to build using tools and technologies I am familiar with. I use Amazon EC2 to host the applications as Azure seems a bit more expensive. If you are experienced in the .NET space definitely look at Bizspark, even the exit fee isn’t much when you factor in all the tools you get to use for YEARS.
- rudyl 15y agoVisual Studio, especially when paired with Resharper is a tremendously productive dev environment. C# is a fantastic language and it's got a host of new features that make it possible to write in a more functional style, stuff like lambdas, expressions, type inference, dynamic types, anonymous types. The main problem is that people don't think about any of that when they think about .Net. They think about that festering bog of evil and spaghetti code that is WebForms.
- edwinnathaniel 15y agoWhat are the odds that people actually: 1) use the advanced features and not tripping themselves 2) use it frequently 3) and got a lot of productivity boost out of those features I would imagine most people will download 3rd-party libraries (open source or not) and tools to become productive. Not so much on the C# advanced features.
- web_chops 15y agoActually, the new features introduced in C# increases developer productivity quite a bit. More importantly they increase the readability of code by cutting down on the repetitive stuff. Once some one uses LINQ, lambdas and dynamics its hard to go back.
- edwinnathaniel 15y agoCan you explain how they can cut down lots of repetitive stuff? Not to knock you down but my experience with Java is that libraries typically help a lot as opposed to syntax.
- mquander 15y agoGo look at any documentation or discussion of any non-Java language, and see their examples of using their sequence abstractions, or generators (yield), or first-class functions. Those are not ideas which are unique to C#. If you just want to see a piece of code in C# that would have to be written totally differently in Java to be readable (unless you use some quite abstract third-party libraries like Guava to help) I picked one of my Stack Overflow answers at random: http://stackoverflow.com/questions/2966592/how-to-refactor-this-duplicated-linq-code/2966726#2966726 http://stackoverflow.com/questions/2966592/how-to-refactor-t...
- untog 15y agoOf course you can. People spend far, far too much time worrying about what programming language they should use for their project. You should not spend your time learning Ruby/node.js/Scala, you should launch your MVP with what you know. If you have to, you can change later- though from experience, there's little need to with .NET. I work for RecordSetter (http://www.recordsetter.com http://www.recordsetter.com) and we use ASP.NET MVC- back in the early days of the company, the CTO knew .NET very well, so he just used his existing knowledge. C# is a great language, Visual Studio is a great IDE, MVC is a great framework. And so on and so on. We aren't really suffering any ill effects as a result of our choice, and as others have noted, BizSpark membership is actually a great bonus. If anyone out there wants to play around with C# for the web but feels like the ASP.NET stack is too heavy (it can be), take a look at Nancy.FX (http://www.nancyfx.org/ http://www.nancyfx.org/). It's super lightweight and allows you to keep most of .NET out of your way.
- web_chops 15y agoI really love NancyFx. It's such a well thought out framework. If there is some feature missing, all you have to do is hook at the proper place. It really simplified building our startup (http://designduke.com http://designduke.com). Best part is that using a REST framework encourages you to move out most of the logic and functionality to client and it scales pretty well.
- friism 15y agoHave you considered running on AppHarbor instead of raw EC2? Nancy works great on our platform.
- option_greek 15y agoDo you have any link that compares performance of workers to EC2 instance types (for a raw idea of how much power an existing app needs) ? Also, how does deployment to IIS server and running multiple custom executables for various other tasks workout on your platform.. I mean can a worker run multiple applications ?
- abrudtkuhl 15y agoWe are a BizSpark startup using a combination of free tools and open source technology. Haven't spent a dime yet.
- rudyl 15y agoBTW, Azure is a nice scaling solution but it slows initial development way down, it's a pain to debug, and it locks you into a single hosting provider. Not a good solution for me and I think it's crazy that Microsoft keeps pushing it as a platform for early stage startups.
- mattcole 15y agoWould you be able to elaborate on how it slows initial development way down (and is a pain to debug!)? I've only played with it a little but the deployment story seemed quite nice.
- friism 15y agoHave you considered AppHarbor as a faster-turnaround alternative to Azure? https://appharbor.com/ https://appharbor.com/
- gigantor 15y agoJust some friendly advice, the excessive self promotion is doing you more harm than good
- nopassrecover 15y agoYeah I'd been looking at AppHarbor vs Amazon/RackSpace/Ninefold. I think this excessive value-less self promotion just ruled out one for me.
- perssontm 15y agoMicrosoft does the right thing here to give licenses away to startups. However, I would try to stick to their mainstream products which are likely to survive a few years ahead and avoid the "to-new-unproven" ones, mainly to make sure the product is still developed and maintained 3+ years down the line. I'd go for open source any day, but that brings other challenges instead. :)
- dawie 15y agoPlenty of Fish runs on .NET. Marcus says it's more scalable than most of it's Open Source counterparts...
- robin_reala 15y agoPlenty of Fish also store(d?) passwords in plaintext[1]. I wouldn’t particularly trust their technical decisions. http://grumomedia.com/why-plenty-of-fish-stores-passwords-in-plain-text/ http://grumomedia.com/why-plenty-of-fish-stores-passwords-in...
- lubos 15y agodidn't everyone store passwords in plaintext at some point of their career? your argument is pretty weak and didn't invalidate their claims that .NET is just as good as open source Linux stack when it comes to scalability.
- jurre 15y ago>> didn't everyone store passwords in plaintext at some point of their career? Never have, never will.
- mwsherman 15y agoThere are surprisingly few arguments about semicolons in the .Net community.
- crazygringo 15y agoWell put. Thanks for making me smile!
- Edootjuh 15y agoYou've never seen a VB.NET vs. C# argument? Call yourself lucky.
- lubos 15y agolast one I've seen was at least 5 years ago and even then it wasn't a big deal
- deleted 15y ago[deleted]
- bigdubs 15y agoa lot of that is because msft says it's a certain way and we all have to deal w/ it. not necessarily better.
- j45 15y agoYou can absolutely build a startup in any language that has a capable framework for the web. As mentioned in the article, StackOverflow is one prominent .net startup that comes to mind. Generally, customers don't care what you code in. It might matter if your customers are developers, but even then, there's API's. How well you code in your tool of choice may be relevant when you hit a million whatevers you want measure, but by then you'll probably be scaling anything you built. The most important thing is to have great momentum and see it through to a real result. You'll always do that best with the tools you're most familiar with, with the caveats listed above. Use decent habits to be friendly to your future self to keep the codebase reasonably something you want to keep working on. Don't strive for perfection, it never happens the first time. Sometimes as developers becoming entrepreneurs we get a little too focused on making our tooling so great that the attention doesn't always end up on the user experience and getting rid of their pain-points. Instead we can fall prey to solving our own pain points and staying in analysis paralysis.
- hkarthik 15y agoListen to the middle days of the first StackOverflow podcast and you'll hear that for a long time they ran StackOverflow on a single server. They were serving a million uniques with the web app and database running on a single box! It wasn’t even a very big box. As a former .NET guy, I think the hosting part of deploying .NET wasn't well addressed by this post. Jeff Atwood built and colocated a dedicated 2 or 3U server to run Stack Overflow. I certainly wouldn't call that an easy or recommended thing to do for a startup, especially if none of the founders have enough hardware and system administration experience. Compare this to signing up for EC2, Linode, or Rackspace and spinning up a Linux instance to run Rails, Django, or Node. Even easier to just spin something up for free on Heroku. These are mature, solid solutions being used by many startups today. There are a few providers like AppHarbor that are trying to make .NET hosting a bit more startup friendly, but there weren't any mention of those in this post.
- benologist 15y agoYou never had to get and configure/maintain dedicated servers to do .NET. The only two reasons that dictate dedicated or VPS hosting on .NET are the same as not .NET - you need more hardware or more privilege. Deployment's always had a variety of simple-to-complex options just like everything else.
- j45 15y agoI'm not primarily a .NET guy (I have done a fair bit though), but why wouldn't it be possible or reasonable to spin up a VPS instance of Windows if it's a platform you're totally familiar with (much like someone being familiar with a linux instance?) Firing up a linux instance does require more sysadmin skills from the command line (this can be non programmer skills to some), compared to a gui based OS. Disclaimer: I use linux myself but have spent enough years in the professional world to know that there are things that windows can do equally well, just don't ask it to do everything. A basic startup stack of IIS (included), mysql, and a framework (download asp.net MVC) doesn't take much setup.
- hkarthik 15y agoIt's definitely possible to spin up a Windows instance on EC2 and get it running. Many startups built on .NET do that today. As for the sysadmin on the software side, I agree most .NET devs that want to build something probably have those skills. It's the hardware aspect that I think needed to be addressed. The OP espoused the easy scalability of .NET using the Stackoverflow example without mentioning that they colocated with dedicated hardware.
- spencerfry 15y agoCarbonmade is built on .NET.
- dirkdk 15y agospeaking technology wise, of course you can use .NET to build a startup product. C# is a very mature and nice language, Visual Studio is the best IDE out there, beating Eclipse, XCode and TextMate hands down. Another issue is in what fields that these languages are used, what type of developer works there, and what kind of developer you need to hire next month to scale your products. Java is for banks, very big projects with integration with lots of legacy systems. .NET is more used inside of companies, integrating with Sharepoint, MS SQL server. Ruby on Rails is for hip independent developers that teach themselves and go for productivity. PHP is for easy web development. All these fields have different kind of developers that work in it. Figure out what kind of company you are, and choose technology accordingly.
- leon_ 15y ago> Visual Studio is the best IDE out there, beating Eclipse, XCode and TextMate hands down Well, that's a pretty bold statement. From my experience VS will beat the rest for .NET stuff - but C/C++ support is best with XCode.
- queryly 15y agoagree with webform is death statement. MS should remove it from asp.net. it is drag and drop programming for another age and another generation of developers.
- peppertree 15y agoAs Rails and Django become more complex, it's making more and more sense to give .NET and Java stacks a second look.
- vladpetroff 15y agoJust some quick numbers - in 1 week flat I've been able to create a working prototype for our start-up with the stack mentioned, coding in my spare time (after work and on the weekend). If you know your stuff you can get up and running in no time :) Our start-up (collectifly.com) is built exclusively on the .NET stack, with ASP.NET MVC as frontend and using a bunch of open source libraries like Twitter Bootstrap, jQuery, KnockoutJS and a few more. For the backend I'm currently experimenting with RavenDB not because I don't like SQL Server but because we're building a social graph, so a NOSQL database seems to fit better.
- deleted 15y ago[deleted]
- friism 15y agoHave you considered hosting on AppHarbor. Deployment as easy and fast, we can scale and we have a great hosted RavenDB add-on: https://appharbor.com/addons/ravenhq https://appharbor.com/addons/ravenhq
- reddit_clone 15y agoWhere is the kill file when you need it?
- vladpetroff 15y agoJust some quick numbers - in 1 week flat I've been able to create a working prototype for our start-up with the stack mentioned, coding in my spare time (after work and on the weekend). If you know your stuff you can get up and running in no time :) Our start-up (collectifly.com) is built exclusively on the .NET stack, with ASP.NET MVC as frontend and using a bunch of open source libraries like Twitter Bootstrap, jQuery, KnockoutJS and a few more. For the backend I'm currently experimenting with RavenDB not because I don't like SQL Server but because we're building a social graph, so a NOSQL database seems to fit better.
- mindcrime 15y agoI'm pretty sure you can build a startup around almost any mature, real-world tech stack... so, basically, exclude "esoteric" programming languages like Brainfuck, Intercal, Whitespace, etc. Otherwise, I think you could - if you chose to - build a startup around RPG/400 on an IBM iSeries, Fortran, COBOL on MVS on an IBM zSeries, Ada, .Net, Prolog, Pascal, Perl or whatever floats your boat. It's a question of the tradeoffs and the economics of each decision. Can you hire programmers? What are the licensing costs? What about the "ilities," like scalability, interoperability, reliability, etc? Maybe for some startups the right decision is .Net, or RPG, or Forth or Rexx or what-have-you. But I'm guessing for most startups, there are better choices. I'm also not sure that - even on a per startup basis - there is one ultimately right choice. More likely there are a handful of really good choices, a pile of so-so choices, and a long-tail of fairly ridiculous choices.
- fleitz 15y agoIf you ask this question then the answer is no, however, you probably can't build a startup in any language as you're too worried about what everyone else is doing rather than what your customers want. Seriously think about a young mark zuckerberg making facemash and worrying whether it could be a $100 billion dollar company if he wrote it in PHP. If anyone worries about these things just change your server headers so it looks like you're developing in whatever language they want. Its usually a good idea to change the headers anyway so that any automated attacks run the wrong scripts. Change your postfix to Exchange, change your nginx to IIS and vice versa.
- deleted 15y ago[deleted]
- drcube 15y ago"Bizspark is proof that Microsoft loves programmers and startups" No, it isn't. Not anymore than MS giving away free licenses for Office, VS and Windows to college students is proof that they love college kids. Not anymore than giving poor schools in Africa free licenses for Office and Windows means they love African schoolchildren. And not anymore than the junky giving free dope samples to kids means that he loves kids. It's just business.
- jf 15y agoYes, it's just business. I agree that you shouldn't ascribe the emotion of "love" to Microsoft, or any large corporation. But in the same vein, I don't think it's fair to equate them with a "junky giving free dope samples to kids".
- drcube 15y agoIt may or not be as morally wrong, depending on your view of Microsoft and/or drug dealers. But the motivations are exactly the same. This isn't just restaurants in the food court giving free samples to draw in more customers. They are deliberately building a dependence on their products and will reap the rewards later.
- thatusertwo 15y agoI heard one reasons myspace didn't scale was because it was hard to find people who had experience scaling so large.
- kogir 15y agoYes, 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?
- DrJokepu 15y agoAnyone thinking about building an .NET (ASP.NET MVC) based web application should strongly consider a Mono - PostgreSQL - Unix-based OS stack. You get the power of Unix (not a negligible thing in my opinion), PostgreSQL is simply awesome (and it's getting better every day) and Mono is really ready for primetime. Hosting will be cheaper as well. We've been doing this for a while and so far we had very good experiences.
- alexro 15y agoWhat web server you're running on? I've had very bad experience with xsp
- DrJokepu 15y agoApache with mod_mono.
- jackfoxy 15y agoWhat exactly is the power of Unix vs. say 64-bit Win2008 R2? The file system? I'll buy that, and that matters if you have a shitload of files. Anything else?
- DrJokepu 15y agoThe shell, for instance. It's much easier to get things sorted out in the command line than on Windows and Remote Desktop is a pain in the back. Once you're familiar enough with the shell and shell scripting, maintaining Windows servers can get very frustrating. I know that there's Cygwin and PowerShell on Windows but in my opinion they really aren't as useful as a native Unix environment. Another one is the easily accessible documentation in man pages. I don't think the Windows documentation and the KB articles are nearly as well organised as the man pages. Performance-wise, there really isn't that much difference; the latest versions of the Windows, Linux, *BSD and Darwin kernels are equally capable in my experience. In fact, I wouldn't recommend against NTFS as file storage; we use it to store a very large amount of data on Windows 2008 servers and we are very happy with it.
- shade 15y agoAs someone who's currently an experienced .net developer (based in NE Ohio), prefers working for smaller companies, and is getting the urge to look around and see what opportunities are out there, I have a question I'd like everyone's input on: is staying mostly .net-focused a viable idea, or am I taking on a serious career risk? I've worked with python and ruby a bit and am currently working my way through Programming Clojure, but right now I'm much more experienced with .net and it's where my comfort zone is. I try to keep abreast of what's happening elsewhere, but don't have as much time as I'd always like to try other technologies. I'm curious what people think - am I better off pushing harder on new stuff and hitting meetups, or is C#/MVC still a viable option despite Microsoft's current struggles? (Not that they're on the verge of disappearing or anything, but they definitely don't have the buzz in their favor right now...)
- noveltyaccount 15y agoThere are untold corporations whose entire enterprises are powered by .NET and Windows Server. You'll have an income stream on .NET for the remainder of your natural life, nothing to worry about. As for the small company bit, maybe. Small teams within a large company, sure.
- sakopov 15y agoHonestly, 3/4 years ago i would pick another platform because deploying code in .NET was a complete nightmare. Nowadays things have changed a bit. You have transforms. You have TeamBuild with TFS, which is very solid, but can still be a pain in the rear to get stuff going. Changing the build workflow and messing with MSBuild always seemed odd to me. I'm not even going to mention setting up and troubleshooting Web Deploy Service which is undocumented disaster. I personally use GIT and deploy to AppHarbor. The process is amazingly smooth and the entire experience with AppHarbor folks has been wonderful. In addition, I would agree with the statement that more knowledgeable and skilled devs have switched to ASP.NET MVC. There is no doubt in my mind. You need to have decent understanding of OOP to do pretty much anything in MVC. Not to say that you can't write bad code. You can, but folks that work in MVC are typically more serious developers.
- lomaxx 15y agoWe've built our app (http://keypay.com.au http://keypay.com.au) on .net and have zero complaints so far. The best thing is that with AppHarbor, it makes it easy to spend less time focusing on "the stack" and more time focusing on just getting stuff done. We build fast, release often and the .net stack is so mature that we spend very little time thinking about it and the majority of the time solving business problems.
- aneisf 15y agoTake a look at juggle.com. All .NET.
- amalag 15y agoThere was a post a few months ago about a startup that needed to redo their entire application in open source because their biz spark ran out. Anyone remember that? Maybe it's a good deal now, but it better be a good deal a couple years from now when it expires. Anyway I am just happy I don't have to do microsoft stuff.
- jason_slack 15y agoI am looking at BizSpark and I cannot tell if it includes Server deployment? Windows Server 2008, etc? Anyone know?
- Athtar 15y agoTo all those that are doing/have done startups on .NET, do you guys mind doing a few blog posts on the subject? What was working with .NET like? What worked for you? What didn't? What's the story when it comes to licensing, hosting, deployment, scalability, etc.? I know StackOverflow has a few posts on the topic but I wouldn't mind hearing from some of the other startups.
- keymone 15y agotitle goes "can you build?" article goes "should you build?" answer to title is yes. answer to article is depends. i would go with Rails simply because it's cheaper no matter how you look at it.
- keymone 15y agoon productivity of programming languages and environments: the more complex environment you need for programming language - the less productive that language actually is.