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]