On Sat, Jul 02, 2005 at 11:48:37PM -0700, Dakota Jack wrote: } What is your basis for your assessment of .NET and Struts? What sort } of problem are you talking about/
My assessment is based on my own development experience with both, plus lurking on this list for a few years. I will reiterate that I am not interested in converting Java/Struts developers to C#/.NET developers; I want Java and Struts to be the best they can be, and that knowing the competition is a step toward that. I posted something fairly in-depth about the advantages of C#-the-language over Java-the-language. Check the archives for the last couple of days. A few of those advantages have to do with the .NET runtime itself (in particular, 1) properties being first-class reflectable objects, just like methods and members, rather than derived from the JavaBeans get/set naming convention, and 2) events and delegate (method pointer) types being first-class reflectable objects rather than using interfaces for handlers). For now, Java has the advantages of generics and anonymous inner classes over C#, but the next version of C# (due out this year, and what I'm hearing about the betas leads me to believe that it will actually be out this year) supports both of those and simplifies a few other common idioms (iteration, in particular). I have not done any comparison of .NET vs. Java performance, nor have I compared their garbage collection strategies or threading models. They seem to be pretty similar, and they can be expected to maintain very similar performance profiles since the optimization techniques for such things are old in academia and well-published. Their different choices of performance tradeoffs may eventually effect their usefulness for particular purposes, at which point it may be appropriate to choose one or the other based on one's specific application. The APIs (system libraries and extension libraries) considered part of either Java or .NET are pretty similar. Java has a much larger set of third-party free libraries (in good part thanks to Apache's Jakarta project), but many of those are being ported to .NET. On the other hand, there are many commercially-licensed components for .NET, and there are likely to be more, simply because it is in the Microsoft world. I don't have exact (or meaningful) figures on this, so take it with a grain of salt. Anecdotally, I can say that in a previous project I sought a particular ASP.NET control and found dozens of candidates, commercial and otherwise, and the one that best suited our application was commercial. (We bought it, we used it, their tech support was excellent (including accepting patches from me), and it did what we needed.) Comparing JSP and Struts to ASP.NET turns up sharp corners in both. It's very easy to encapsulate functionality in a custom tag in ASP.NET, much harder to do so for JSP. Struts abstracts away the specifics of the generated HTML (both outgoing HTML and incoming form data), which supports the MVC model; ASP.NET requires a bit more hoop-jumping to do so. Validation, both server-side and client-side, is far easier in ASP.NET than with Struts. ASP.NET has almost no configuration required other than the .aspx/.ascx (equivalent to .jsp) files themselves, whereas Struts requires a configuration file that grows increasingly complicated as the site grows larger (though, to its credit, it does centralize the transition graph of the site). Neither Struts nor ASP.NET cares much about business objects, but both can deal with them just like any other object. Finally, while ASP.NET scales well from a single page to an entire site, Struts doesn't really shine until you get to at least 5-10 separate forms/pages. I hope this is a useful answer to your question. --Greg --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]