@RoverV

I very much agree with you that the java ecosystem has a vast plethora
of frameworks to help us along, mind you C# is starting to pick up the
pace with codeplex and IoC/DI frameworks like Unity. They also didn't
really need a NIO because they got IO right from the beginning. The
build system also got replaced in .NET 2.0 to behave more like ant
(though IMHO it still sucks), and there's always nant.

I must point out though that in your list of benefits to the Java
language there aren't really any rich client benefits, they're biased
towards backends.

Properties, Events and Delegates are the three things that really go
hand in hand with rich client development. For someone who might be a
server side developer where most tasks are stateless they may seem a
little useless. I haven't used JavaFX yet, but if it's statefull then
it could definately benefit from these three components.

Take the following swing snippet

myButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        // Handle action event
    }
}

Does it look neater to see this instead?

myButton.ActionPerformed += new EventHandler(doMyButtonAction);
// And have the event handler elsewhere.
private void doMyButtonAction(Object sender, ActionEvent args) {
    // Handle action event.
}

The real pain though is trying to fire an event in Java, you need to
hold a collection of listeners, then traverse over them fireing events
one after the other.

Firing an event in C# is as simple as calling it, just like a method,
it will traverse the function pointer graph for you.

MyEvent(Object, MyEventArgs);

-Brett


On Tue, Nov 4, 2008 at 8:08 PM, RogerV <[EMAIL PROTECTED]> wrote:
>
> For my current employer I've written a lot C# .NET application code
> and Java middle-tier code.
>
> On balance, if I were to be tossed on a desert island and could have a
> choice of only one of these 2 languages, I'd opt for Java (as long as
> I get an Internet connection and Maven). In the end I find it more
> powerful (except in the area of interfacing to non-managed C libraries
> and OS APIs - C# shines in that department).
>
> Sure C# has more language feature goodies, but Java surpasses in
> certain other areas:
>
> *) JMS messaging (all manner of implementations available, from
> various hard-core and full featured enterprise versions, to various
> free, open source, to interesting experimental designs)
> *) Spring Framework - this has made dependency injection second nature
> for Java programmers. Plus a lot of great helper and template class
> stuff that makes short work of many routine things we deal with in the
> middle-tier.
> *) Concurrency Library introduced in Java 5
> *) Java NIO (especially when coupled to Concurrency Library)
> *) iBATIS data mapper. Much more sensible (pragmatic and real world
> grounded) way to interface to relational databases than LINQ.
> *) Maven build tool (much better way to build and manage large
> software projects than Visual Studio)
> *) Hudson CI - great ease of use factor and pretty fair versatility
> *) More versatile applications servers, ranging from Tomcat, Jetty,
> MINA, Grizzly, to JBoss, Glassfish, et al. I've done a lot of a-
> typical development in app servers. Which was possible in environments
> like JBoss or Tomcat, which are actually very open-ended (especially
> when Spring Framework or EJB3 is in the picture). When I started doing
> JBoss JMS MDBs, I was doing a load-balanced cluster with little fuss
> or muss in no time. The .NET middle-tier stack wasn't comparable then
> and still isn't now. Too damn web focused.
> *) Just in general the vast eco system of libraries and frameworks,
> where much (if not most) of the good stuff is free and open source -
> and Maven is there to make it all easy to tap and incorporate with
> controlled rationality.
>
> I guess the point I'm making here is that it isn't so much Java the
> language per se that is the strength of Java (and it is a pretty
> decent language all in all) - it is the whole eco-system that
> encompasses the experience of being a Java developer. There's an
> immensity to that eco-system that levels down a whole ton of the
> niffty language features of the seemingly more fashionable languages.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to