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

I'll share my personal opinion and experience.

For reasons like this, and I would add, scary security history, I decided against using Rails.

I've experimented with Django and lightweight Python frameworks, Node.js and Java 6 EE, among others.

What has worked best for me was C# + ASP.NET MVC. The C# language has several features that I find appealing and lead to clean, efficient code (such as dynamic, lambda, LINQ and async, among others). The modern incarnation of ASP.NET running under IIS is quite efficient and productive both in development, profiling & diagnostics, and in production.



I can't imagine why a startup would lock themselves into Microsoft's ecosystem knowing that the more you grow the more those licenses are going to bite.


Unless you are doing it totally wrong the license will cost far less than paying developer wages and if your team is more productive in that environment it is a net gain. I agree that if you have a startup with no revenue and everyone works for free the licensing can be an issue (unless you use Bizspark).


Some people just like C# and were successful:

StackOverflow: http://blog.stackoverflow.com/2008/09/what-was-stack-overflo...

Writely (aka Google Doc Documents) (with more technical details): http://radar.oreilly.com/2005/10/the-secret-sauce-of-writely...


I can't speak for others but in my case, consuming services of the Windows Azure platform takes care of licensing (there's not additional license costs). There is a degree of lock-in but there are also many benefits. As I said, it's my personal opinion and experience, based on the kind of applications I usually develop and the kind of market I work for (enterprise).


Because of the BizSpark program? I imagine three years worth of free software is sufficient time in most cases.


That reminds me of the reasoning during the housing bubble when people took adjustable rate mortgages with a low teaser rate, then got nailed when the higher rates kicked in. BizSpark payment shock after year 3.


As I understand it, companies get to keep any licenses they procure during the three year period at no charge upon graduating the program. Procuring additional licenses then starts to cost, but those are discounted for a two year period post-graduation.

Saying it's analogous to shady adjustable-rate mortgage practices is a bit of a stretch.


Maybe a small stretch.. But if you expect your company is going to be rapidly growing going into year four, you are going to go from zero software cost to very high software costs. After three years of commitment and investment are you going to spend the time to switch platforms? At that point you are stuck. Better to commit to free from the start.


I've done some web dev with node, python (GAE) and php. I ended up using C# + mono's web server for a recent project and was pleasantly surprised.

ASP.net is showing its age but there are some solid libraries, reasonably comprehensive documentation, and some nice new frameworks like MVC out there to use (I didn't even use a framework, just wrote 500 lines of wrapper logic so I could expose some REST services that handled JSON input/output and then built a connection pool for my Redis connections). If you know C# (or another .NET language) well enough, you can lean heavily on the type system and write automated tests for everything else and get all your errors/red tests displayed to you in your IDE. I hit very few runtime errors while building the services.

It's also pleasantly surprising how easy ASP.net deploys seem to be: rsync your app folder to the web server; the app.config and bin/ folders inside ensure that all your dependencies and configuration move over to the target machine. Mono's ASP.net server seems to support almost everything Microsoft's does, so I think I only ran into one behavioral difference (and it was documented, albeit a little hard to find).

ASP.net also has some of those same code reuse benefits you get with node.js, just in a different direction. Now if you have any native C# applications or libraries for doing interesting things, you can expose them as a web service trivially. JSIL's online sandbox (http://jsil.org/try) is literally just the compiler libraries deployed to a linux box with a 100-line shim over them that does compilation and caching and error reporting.


Now with ASP.NET Web API, developing REST/JSON endpoints got even better.


Have you tried F#? To my eye it takes those features you mention liking, and goes further with them. (Scala guy myself)


I took a look at F# but for the kind of applications I write, I prefer to follow mainstream, for the bigger ecosystem and less surprises, and C# is powerful enough for me.


Isn't one of the selling points of .NET that any language on the platform has full access to the whole .NET ecosystem?


I mean ecosystem in a broader sense, including help on Stack Overflow, sample code, etc.


I've actually been quite impressed with C# and .net as well, I can't always afford to use it, but it wasn't at all unpleasant to develop an app in.

The thing is, by the criteria and benchmarks the author of this post is using, asp.net MVC would be relegated to the dust bin for the same reason Rails was; it's at the bottom of his performance graph.


I'm interested on data about that. Can you share what you have? I've been able to find these datapoints[1] and they show ASP.NET MVC to be the fastest full-stack web framework they tested on Windows.

[1] http://www.techempower.com/benchmarks/#section=data-r6&hw=wi...


I may be reading it wrong, but in the benchmarks the author linked to showing database-access responses per second on EC2 Rails was getting ~700 and .net MVC getting a max of 1400 with a min of 400. That seems about equivalent given the best .net MVC version is using MongoDB for storage and Rails is using MySQL. Would be nice to see .net MVC with SQL Server or Rails with Mongoid.




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

Search: