Hi,
For the criterias below, what a technology stack would fit best?
- Cross-platform (Linux/Windows).
- Ability to run as a service (daemon).
- Powerful object-oriented data access (O/R-mapping).
- Multiple databases support (MsSql, Oracle, MySQl, SqlLite, Postgress).
- Web application can be tested (Unit and Integration testing).
- Reasonable or no development price (includes IDE and other tools).
- Reasonable or free licensing (price of OS, Databases etc).
- Very small dev team (1-5 people).
- Windows/.NET background of the team.
I would easily choose .NET as a platform with ASP.NET MVC/NHibernate. I am good at .NET and doing it for about 3 years or so. So that is easiest choice for me.
But there seem to be too many issues running ASP.NET on Mono. Mostly I found those on the net. But the ones I am aware of are:
- different versions of Mono on different hosts
- different behaviuor of some objects on different platforms (Ayende wrote in his blog some time ago about this)
- conservative garbage collector
- legal issues with MS.
I particularly like Ruby as a language, but not too sure if it requires a lot of tricks to satisfy points 2, 3, 4.
As for Java, for some reason I just can't do it. Every time I have to think to write get/set instead of a property, I fall back to C#. I would do Java if there would be no .NET 2/3.
So 2 main questions:
- What language would fit best?
- What related technologies would be useful?