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

An interesting middle ground might be writing it in C# (of all modern languages this possibly has the best features / tool-support ratio), but run it on Linux (Mono) and against e.g. PostgreSQL.

Assuming you want to dev on Windows (because of said tool support), you'll still pay licenses for Windows on the dev boxes and for Visual Studio, but not when hosting (or scaling, for that matter).



And that actually works great. We use .Net with postgresql, and lately we have been testing with mono and the results are amazing. Mono + Postgresql is a great combination.


Except that the MS CLR is way faster than the Mono CLR (especially under 'weird' loads like what a financial institution might face...)


I'm still testing big loads with mono. Once I figure out all the performance bottlenecks, I'll write a blog post about it.


Mono gets quite fast if you flip some command-line switches. The defaults are a middle-ground between fast startup time and fast execution. If you're a webapp, you probably don't care about startup time (this is off the top of my head, i forgot where i saw the stats)


Can you give us some detail on what are those command-line switches?


You of course checked the latest version of Mono?


No, I haven't. I mentioned somewhere else that I know of the versions from 2-3 ago. I did _very_ extensive benchmarking, and they were quite far away in edge conditions (example: very high GC load).


Are you getting good performance? Mono is at the bottom of most of the framework comparison benchmarks: http://www.techempower.com/benchmarks/


Do you use Entity Framework with LINQ? How does that work out for you?


I actually use Spring.Net + NHibernate... I do use LINQ accross the board, but for NHibernate I am using the Criteria based queries.

I am having some problems with Spring.net transactions for NHibernate, but everything else is working great.


Thanks, we are considering using mono to move away from windows platform. Won't be using .net tech in the long term. Would be nice to run our existing programs (linq to entity) with just little modifications though.


Do consider using Mono. So far it has been a pleasurable experience porting my apps. And C# is way cleaner than Java IMHO.


I thought I was the only one using C# and Postgres. Secret's out!


>" you'll still pay licenses for Windows on the dev boxes and for Visual Studio"

Would you? Wouldn't Visual Studio Express be enough for a lot of cases?


No. It lacks extension support and it also lacks MSTest support. This means no integrated unit testing. This means coding like it's 1996.

Of course, you can run an NUnit runner separately, or as a custom build step, but, well, that sucks.


I use the paid version of Visual Studio and I still avoid MSTest like the plague. I used it for a couple of projects because I thought the integration would be great, but it's awful. It's really slow, even if you use it as a shell for NUnit/xUnit.

I use NUnit/xUnit, and sometimes mspec, and testing from the command line or the N/xUnit GUI is not an issue for me.

FYI, there are even attempts at getting continuous testing working via console, as soon as you save a file in VS the tests are kicked off in the console. I tried it and it "worked", but so far I haven't integrated it into my workflow yet.


I can't speak for Mighty Moose (haven't used it), but NCrunch is pretty awesome. After using it for a few weeks, you feel like you've chopped an arm off when you start using a Visual Studio install without it and have to run tests manually or drop to the command line to run mocha tests.


Completely agree there. Consider using TestDriven.NET, it provides great integration with NUnit. I think it's really the integration that MSTest should've had. The only downside is that it doesn't seem to work with async tests, at least in the versions that I've used.


If you want to sacrifice some productivity then yeah, VS.Express would work.

(i.e. can't run unit-tests inside your IDE for example)


Hosting and scaling on Windows Azure is a pretty cost effective option to avoid "licensing".

http://www.windowsazure.com/en-us/pricing/calculator/




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: