Regarding "added weight of compatibility stuff I will never use", one
of the main reasons I proposed this is that allows devlopers to decide
on a per-case basis when and where to support backward compatibility.
I.e. if the code .vs. benefit analysis doesn't make sense, don't
support it.

T.J, You make a good point about testing. Testing complexity to be
part of the benefit analysis.

I provided the delay() method above as one example of where this might
make sense.  But let me point to another example where I think
conditional backward compatibility would have been tremendously
valuable:  The Hash API change that happened in v1.6.  This broke a
_lot_ of code, and was a significant hurdle to teams that wanted to
upgrade.  At Zenbe, the 1.6 release put us in a real bind - it had a
lot of exciting new features, features that we desperately wanted
(e.g. real subclassing support), but we simply couldn't afford the
time required to identify and fix the 100's of dependencies we had on
Hash in our code base.  We ended up using a monkey-patched version of
1.6 on our production site for several months, while using the "real"
version of 1.6 in development and testing.  It would have been great
to have a switchable compatibility option in that case.

I'll risk shooting my own idea in the foot by pointing out that the
biggest issue with this idea is not what effect it has on the code,
but rather slippery slope it starts down.  Once you start providing
Compatibility support for one or two features, users are going to
start clamoring for it all over the place.  There should probably be
some firm guidelines about what factors decide whether or not a
feature supports this, and for what versions Compatibility support
will be provided for. (E.g. "Compatibility is only offered for the
previous dot-release" or something like that.)


On Oct 11, 2:46 pm, Allen Madsen <bla...@gmail.com> wrote:
> I have to agree with T.J. In addition to complexity, there is also a
> concern for size. If I am using the newest version of the code, why
> would I want the added weight of compatibility stuff I will never use?
>
> Allen Madsenhttp://www.allenmadsen.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to 
prototype-core-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to