Frank W. Zammetti wrote:
Jonathan Revusky wrote:

For starters, development on Struts 1.x, a.k.a. Struts Classic, has been
more or less stagnant since about 2002.


Umm, since we all like dealing with "facts that are not in dispute"...

Struts 1.0, released June 2001
Struts 1.0.1, released January 2002
Struts 1.02, released February 2002
Struts 1.1, released June 2003
Struts 1.21 (Beta), released July 2004
Struts 1.2.2, released August 2004
Struts 1.2.4, released September 2004
Struts 1.2.6 (Beta), released December, 2004
Struts 1.2.7, released (as near as I can tell) May 2005
Struts 1.2.8, released (again, as near as I can tell) November 2005
Struts 1.2.9, released March 2006

So, since 2002, when you claim Struts has been "more or less stagnant" since, there have been 10 releases, so on average, a new release every 4.5 months, give or take.

I'm not sure what dictionary your looking in, but for a project as important to so many people as Struts, that seems like a more than reasonable release record. I'll grant you that not all those releases came with a bunch of new features, but that seems a bit unfair to me.

[sigh]

Frank,

I am actually not representing that I am an expert on Struts. When I have said that Struts is inferior to Webwork, I am simply going by what the Struts developers themselves say. Nonetheless, I get flamed, people telling me to stop bashing Struts.

When I say that Struts development has not done much since about 2002, I am going by what one of the principal developers has said in his own blog.

http://www.jroller.com/page/mrdon?entry=struts_is_alive_and_well

The above blog entry contains the following sentence:

"While it is true, the 1.x branch of Struts, termed "Struts Classic" hasn't changed much since, oh, 2002, it is still being actively developed with new (albeit minor) features all the time."

This is a "Struts is alive and well" blog entry and, nonetheless, it is tacitly admitted that basically nothing of any importance has happened since 2002.

What happens when you don't do any significant innovation for 4 years? Particularly in a field like java software? AFAICT, what this means is that you end up with something that is basically obsolete technology. And this is tacitly accepted by bringing in Webwork and labelling that as "Struts Action 2".


And let's not forget, 1.3 is coming, and it looks like pretty soon. 1.3 brings one of the biggest changes so far in terms of what opportunities it should open up. Whether that winds up being true or not is irrelevant, the fact is a lot of work went into it, and it *does* certainly represent a pretty big change.

IMO, it is irresponsible to encourage new people to start off building new projects on top of Struts 1.x. It is obsolete technology and will simply become more obsolete over time.


 > In the meantime, other web

application frameworks have been actively developed and are much more
advanced in what they offer. At this point, Struts 1.x is significantly
behind the state of the art in its application space.


That may be true, but let me ask this question: so what?

What do you mean "so what", Frank? If one is new to the java web application space, why on earth should one start using a framework like Struts Classic that (a) is not state of the art and (b) is not going to be developed any further?

WHY?


Does Struts as it exists today serve a great many people very well? Yes. Does everyone need every single new feature available out there? No. You know, I've had my complaints as well, but ultimately, if the offering is doing the job for so many, how does how far behind the state of the art it is really matter?

What you're saying is senseless IMO. In this discussion, the onus is not on me to explain why somebody new to the java web app space should not use Struts 1.x. The onus is on the other side of the debate to explain why somebody should use it, given that it is (a) quite far behind the state of the art and (b) is not going to be developed any further.

The onus is on you to explain why somebody should not do the common-sensical thing of looking for something that is state of the art and that will have an ongoing development effort behind it. Such a thing could be Webwork a.k.a. Struts Action 2, or *maybe* this Shale thing or it could be something else.


 > There is no

prospect of this changing. In fact, it will only become increasingly
technically obsolete over time.


Well, yes, as virtually every technology does over time.

Well, when something is obsolete and nobody is going to work on it any more, then...

Even if Struts had done everything right, added every technical advantage, kept pace with everyone else to the best of everyones' efforts, would there still have been other ideas out there that people wanted to try? Would there still have been alternatives developed that, at least in some ways, may have been better? Of course! This is how innovation happens.

Frank, I don't get your point.

Again, I think it is just completely irresponsible to encourage people who have no existing investment in Struts 1.x to make such an investment at this point in time, when the thing is not competitive in its space AND all further development is being abandoned.



All new development that is taking place under the so-called "Struts
umbrella" is either going to be on Struts Action 2 or Struts Shale.
Struts Action 2 is a completely different product, which is really the
rebranding of a competing framework, called Webwork.


True, but as always been the case in the past, compatibility is being taken very seriously.

Bah, humbug. You always have backward compatibility when you don't do anything. You have perfect backward compatibility when you simply never upgrade from whatever version of whatever it is you're using.

To even talk about backward compatibility as an asset only makes sense to talk about in a context where you have significant progress -- that Java 1.5 is still pretty much completely backward compatible with Java 1.0.x for example. Then it's meaningful to talk about backward compatibility because huge amounts of forward progress occurred.

When nothing significant has happened for four years, to be praising your own backward compatibility is just humbug.

You are clearly trying to insinuate that using Struts 1.x now will in some way hamper you in the future,

I'm not insinuating it. I'm saying it straight out.

and that's not the plan. I'm not involved in Struts development directly, but I do know how seriously these guys (and gal!) take backwards compatibility,

I say it again: HUMBUG!

Backwards compatibility only makes sense to talk about in a context of steady technical progress.

so an investment in Struts 1.x now is not a dead end because migrating a 1.x app to Action2 will be feasible. That's the plan.

Well, if you want to end up using Action2, it's just Webwork. You can use that right now. Why start by using Struts 1.x and then have all this code that needs to be migrated?


I think all of the above is objective information that is not in
dispute. Also, the implications are clear, which is that, starting new
projects with Struts 1.x is a very questionable decision at this stage
of history.


I absolutely disagree. Starting a project with Struts 1.x now is a decision that has to be weighed against the other options. Struts 1.x is very stable, quite mature, and frankly more than sufficient for a great many projects being undertaken today. There is a large base of expertise from which to hire. There is plenty of free help on the web.

I grant that's true, but, even given that, it looks to be a terrible decision.


I would agree you need to try and think ahead and see if the project might require any of the things that Struts lacks, or is likely to be lacking later.

Whatever Struts 1.x lacks, it will be lacking indefinitely, since development has been abandoned.

But to flat out say starting a new project with 1.x is a very questionable decision seems a thoroughly baseless conclusion. It is based on the preposition that Struts development has stagnated.

Frank, it gets painful to debate this with you or other people. Basically, you guys seem delusional to me. The fact that the Struts developers themselves do not care to carry on with the 1.x codebase basically says it all. This is a fact that has clear, inescapable implications.

Jonathan Revusky
--
lead developer, FreeMarker project, http://freemarker.org/



If you had said it hadn't moved as fast or as much as some would have liked, I believe I would have agreed. But stagnated? No, I don't believe that is a fair conclusion.

Well, in closing, my advice would be to spend a bit more time to get
familiar with what is cooking in this java web application space before
settling on your tool set. Have a look at Webwork, and Spring MVC and
maybe other new frameworks such as Stripes. (The case of Webwork is kind
of special, since Struts Action 2, the next generation Struts action
framework, actually *is* Webwork!) In any case, I put it to you that the
extra time invested in researching your toolset will be made up many
times over down the road.


I would agree with this part though. It sounds like Mario has the luxury of truly being able to decide what path to take. Not everyone gets that luxury. Exploring all the options is very good advice without question. But don't ignore 1.x either. It should be considered right along with all the other choices, and then make the best decision you can based on *your* conclusions.

Jonathan Revusky


Frank




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to