| ||
|
This community works best when people use their real names. Please
register for a free account.
Other Groups: Joel on Software Business of Software Design of Software (CLOSED) .NET Questions (CLOSED) TechInterview.org CityDesk FogBugz Fog Creek Copilot The Old Forum Your hosts: Albert D. Kallal Li-Fan Chen Stephen Jones |
I'm posting this for a friend, since he can't seem to sign up; he's tried like 6 times and never gotten any confirmation emails. I even tried to use my own email for him and still nothing - was registration disabled or something? Anyways, my friend and I had lunch yesterday and we were talking about startups since I'm trying (in vain it seems, since real life always seems to intervene, which is probably why you're saying "You're still debating this?") to create a subscription-based app. I told him that I've decided to use Ruby on Rails because the hosting is cheaper, even if I'm using some kind of cloud-based service. He asks me why I don't use .NET, since I'm familiar with C# (although I haven't used it in a while) and technically I have a BizSpark membership so I have the software. I honestly considered this but then I pointed out that there is always a lot of associated fees with doing Microsoft development, and since I'm a startup that means I have pretty much no money except the meager amount I can use from my personal funds. Yes, I'll have to pay for hosting no matter what, but the hosting is cheaper when I don't have to pay for usage rights. For instance, I looked at some cloud-based .NET hosting (I'm really looking at cloud based so I can scale easily and have redundancy - if I can get my app launched it's going to be mission critical for the companies using it and any downtime at all is pretty much going to make them leave). GoGrid, for instance, has reasonable pricing but then there's the fine print that says it's an extra 100/250/300 dollar charge per month if you're using SQL Server versions other than Express. His argument is that you can start with Express since it's up to 4GB of storage (and to be honest, my target market would not have many data entities, say no more than 300 or so records per client) and expand as needed when more people sign up, which means I'll have more money coming in. I counter with the fact that yes, that's true but that's extra money that would be total profit if I was using LAMP or in my case Rails/Apache/MySQL since there is no "license fee". He goes on to say that's true, but .NET is a more robust platform and I know it better (although right now that's debatable since I've never done much past base .NET 2.0 development; LINQ and such are foreign to me), and then he pulls the trump card of saying that our area is still heavily dominated by .NET so if my startup doesn't take off, wouldn't it better to have up to date experience with .NET if I need to look for a regular job, than to have experience with Rails when nobody is looking for Rails developers? I have been interested in ASP.NET MVC and LINQ, truth be told, but Rails is very nice too for the little bit I've been using it. I certainly know Windows better than Linux. So which of us is right? Does my friend have a point that I'd probably be more productive in ASP.NET (not to mention it's something that has more longterm benefits if the startup doesn't take off) and that having to pay a bit extra isn't such a huge issue, or am I correct in saying that the less money I have to spend, being a bootstrapped startup and one with basically no initial capital whatsoever, the better?
Your friend is correct. By the time you have 4 gigs of data that you need to maintain, the extra money will be trivial. $300/month is the cost of 3 hours of development, and you get to defer that costs until you succeed. Use the platform where you are most productive.
Yes, your friend is correct. You'll likely be more productive in .NET. I switched from LAMP to ASP.NET without even knowing much .NET. It was really easy to pick up and I ended up being so much more productive in .NET. I could also reuse my .NET in desktop utility applications that I used behind the scenes, and that ended up being incredibly important. You can get all the express versions of Visual Studio and SQL Server for free, and that should be enough for most uses. If you're worried about database costs down the road, keep in mind that if you get to those levels of data you'll probably have the revenue to pay for it. If you don't, you can still use the open source databases with ASP.NET, you're not locked to SQL Server in any way.
If you're contemplating RoR, then its by definition the kind of app where any competent programmer can go 1000 mph without needing Ruby-specific experience. I should think that .NET experience qualifies you as well as anyone else for RoR. Interesting reading for when you actually start being popular (and yet before you're being profitable): http://www.codinghorror.com/blog/archives/001279.html Oh and Ruby has problems scaling apparently. I don't buy that.
Our discussion was more along the lines of why I should look at ASP.NET MVC instead of RoR for the app, when I'm comfortable with both but new to Rails and two years removed from ASP.NET. The way I see it is like this: * ASP.NET would take slightly longer to build because I'd have to do some infrastructure things myself that Rails has readily available, via plugins and the like. Ex: billing would have to be done myself in ASP.NET, while with Rails I can buy Ben Curtis' SaaS RailsKit for $250 and get billing already taken care of. * RoR is a new technology to me for the most part and comes with the added issue of having to learn enough Linux to get by (although I was going to alleviate this by using Heroku). Also I've had trouble in the past adjusting my mindset to follow the "Rails Way" especially when it comes to "I just want to do X, but I dont know how to tell Rails I want to do X". This is like my fourth attempt to sit down and learn Rails, mainly because I always end up running into these situations where I know what I want, but dont know exactly how to fit it in to the Rails conventions * Rails hosting would be cheaper up front, but either I'd have no control over the environment (if I went with Heroku) or would have to learn enough Linux to set it up properly. Conversely Windows hosting would be more expensive but is relatively easy to set up and is an environment I'm familiar with for the most part. * The tools to develop Rails are largely free (excepting things like Textmate). .NET tools are costly but as I said in my original post I have BizSpark membership for another two years or so so this is an irrelevant issue unless I host the app myself because I would have to pay the license fees after my BizSpark membership is done (moot point since I would not host it myself anyway). * .NET would be a better overall career choice due to market demand, in case the startup doesn't pan out. Spending a few months on design and learning ASP.NET MVC, and let's say Entity Framework or Silverlight or something ike that would *really* help my professional career if I had to look for a regular development job again. On the flip side, Rails is largely still the "new hotness" in web development and the community keeps growing and creating plug-and-play addons.
I think you're overstating the benefit of your last point - gaining .NET vs. RoR experience. People are going to either recognize that you pursued independent learning and not really care about the specific technology, or judge you solely on the outcome of the project (which under this scenario failed). The only jobs that have N years of X technology on your resume will help with are crummy agency jobs that you don't want, where the brain-dead recruiter asks "how many year of experience do you have with C#? what about ASP.NET? OK, what about VB? and VB.NET? uh-huh, and Microsoft .NET?" I'd suggest you pick the technology based on what you really want to do or learn. There are very long, lonely periods in buiding a software product and if you're not enjoying the process you will be in trouble. If RoR floats your boat then you should pick that. If you enjoy .NET go that direction. If you don't really care, you could already be in trouble.
>it's going to be mission critical for the companies using it< If that is really the case, then you can charge enough to pay for ASP hosting. >There are very long, lonely periods in building a software product and if you're not enjoying the process you will be in trouble.< Very true. If you still can't decide, then go with the platform that is capable of producing the best final result. Actually, just go with the platform that has the best components and the best support (it should be the same platform for both). Do you really want to spend most of your time adding enhancements to the standard framework, or having to figure out for yourself what went wrong because you can't draw on multiple sources of help?
I'm the friend Wayne was talking about (wow, I got like four emails at once from the registration thing here). Basically my point is that there are a ton of companies here who use .NET for their work; there are none who use, know or care about Ruby on Rails. If his startup doesn't work out, then I think he'd be better off having used ASP.NET MVC, LINQ to SQL or whatever ORM, and brushing up on his C# skills if it comes down to looking for a "regular" job. Yeah, it's great to know another language (and I think Ruby is a beautiful language) but it's not gonna help when a hiring manager or a recruiter (there are a ton of them here too - nearly every job is through some agency) wants a .NET guy and Wayne can only say that he hasn't used .NET in like 3 years, but he wrote a failed web application in Ruby on Rails. | |
Powered by FogBugz
