From Java to C# and back to Java again

Recently i had to manage with a big rewrite project. The system i’m working on is not ”rocket science”, but it has it’s history and it’s quirks (plenty). Some of the things missing were AuditTrail’s, multiplatformsupport, and easy handling of adding new sources of information.
The system is written half in C#/Java. Why?
Because there never was an long-term strategy toolchoice, different developers have been using their favourite tools at different points in time, or in different parts of the architecture. The positive thing about the project i’m in, is that the people doesn’t seem particulary cemented in any of the enviroments, which is good for avoiding ”religionwars”

So, this would be a major rewrite.Yes.
I havn’t myself been doing Java-development since somewhere around JDK 1.4 a couple of years ago. Since then i’ve been mostly working in .NET/C#/ASP.NET.(I even took the certifications MCPD for Enterprise Application Developers – Amen).

But, now we needed among other things, a stable ORM and a good AuditTrail to cope with.
First we looked at LINQ for SQL,, but it’s a bit too lightweight, and it’s future seems to be unsure. So, we headed for the EF. framework… well. NO.. Maybe the next version… but we couldn’t wait for the next version.
That lead us too Hibernate/nHibernate… and look and behold. JPA was what we been looking for..
Now all we needed was a AuditTrail… and again, there it WERE in eNvers.Does C# have an eqvivalent? I found this so far.

Ok, so EJB 3 and JPA is a major, major lift from the old complicated models. Good!

But what about the working-enviroments,,,, one thing i like about .Net is that it’s soooo easy to get started in VS. Last time i tried Eclipse and Netbeans, they sadly needed a bit more effort to get into.(Altough very good when they were configured)
So i downloaded the latest NetBeans — *wow*
They HAVE been inspired by the ”bundle it” approach from Visual studio.

For me, it’s a strength knowing ”both” worlds of Java and .Net, and using them were it seems appropiate. As of now, i tend to use Java for backbone-functionality and were longterm architecture is important, and .Net for GUI/lightweight/RAD development.
This may change, i looking forward to next version of JSF etc.

I will follow up this blogpost.

Use the tool that’s right for you, don’t stagnate in any special tool, and have an open mind. If you’re a .Net developer, try out some stuff from the Java-world, and if you’re into Java, try some .Net. It gives you better credit if you can be neutral and know how to use the right tool for the right job

Right now,I’m quite a Java-fan again:) – altough missing some of the syntactic sugar from C#.