Project teams should consider very (very)
carefully the implications of increasing the level of their required execution
environments. In particular, consider what (dis)service you are doing
for your consumers. In what way will their lives or functionality
be improved by the move? "Needlessly" upping the required
EE limits the scenarios in which your function can be used. That
may in turn limit its uptake and spread.
If you find that upping the EE level
makes sense, it would be good to then consider method and techniques for
provising degraded function on lower EEs. For example, (and just
as an example) you might introduce a 1.5 layer over the 1.4-based APIs
or change the implementation to conditionally use 1.5 functionality.
Note also that careful consideration
should be paid to API evolution issues. If you create API that uses
1.5 language features, you should familiarize yourself with the implications
and gotchas associated with these structures. I don't remember the
details but do recall that there were some subtleties around generics that,
unless handled well, could severly limit you in the future (or break your
Finally, also consider that it may be
possible to limit the scope of this impact to a particular set fo (hopefully
higher level) plugins. As John pointed out in one of the replies,
the platform team is successfully targettting a wide ranges of EEs from
Foundation 1.0 to Java6 in its plugin set. PDE has first class support
for this approach so confusion and error should be virtually elimintaed.
All of this is not to say that you should
not use 1.5 etc but rather consider including in your plans the goal of
limiting dependencies as much as possible.
</spin down and I'll fade away...>
Doug Schaefer <DSchaefer@xxxxxxx> Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx
10/05/2006 04:13 PM
Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>