[rspec-users] exemplary way to show a list is sorted?

David Chelimsky dchelimsky at gmail.com
Tue Feb 10 23:21:16 EST 2009

On Tue, Feb 10, 2009 at 9:09 PM, James Byrne <lists at ruby-forum.com> wrote:
> Zach Dennis wrote:
>> On Tue, Feb 10, 2009 at 6:22 PM, James Byrne <lists at ruby-forum.com>
>> wrote:
>>> David Chelimsky wrote:
>>>> please use "should be >=" as "should >=" will eventually be deprecated
>>>> and removed.
>>> Removed?  You are not seriously contemplating forcing people to go back
>>> and rewrite formally working specifications simply to tidy up the syntax
>>> are you?
>> Forcing people, eh? You don't have to upgrade when that release is
>> made. No one is holding a gun to your head. You can always choose to
>> progress with the library, as it continues to evolve into new and
>> better ways of doing things.
> There are enterprises in which the stability of development tools and
> the confidence that one will not be forced to redo work already
> completed is considered somewhat important, whatever your own situation
> might be.  Likewise, assuming the costs of maintaining a customized
> variant of a general tool or foregoing future improvements in same to
> maintain the value of existing work is not a choice savoured by many
> firms that I can bring to mind, even if yours might be exceptional in
> this regard.  At issue is something commonly referred to as
> cost/benefit, which ultimately turns into profit and loss.
> I simply fail to see why evolving a tool in "better ways" necessarily
> requires that the formerly "better" but now depreciated method be
> removed.  Such action causes avoidable and pointless work. I consider my
> observation to be both reasonable and pertinent.

Keeping dead weight around has a cost as well, and has to be balanced
against the concerns you raise. As RSpec's lead maintainer, I reserve
the right to introduce well documented but
backwards-compatibility-breaking-changes in major releases (i.e. 2.x,
3.x, etc) if I think it's better for RSpec in the long run. This
change would be formally deprecated in a 1.x release and not removed
before the 2.0 release. I think you'll find that other libraries in
our space (ruby/OSS) operate under the same principles.

General operating principles aside, we can certainly have a
conversation about the relative merits and cost/benefits of this
change. For me, the fact that we can say "should >=" in RSpec is
unfortunate. It is ugly, and should not exist. It is also duplication
of code elsewhere in the system, which has its own cost, so this is
not only about tidying up syntax. It's about paying down technical
debt. It's about lowering the barrier of entry to contribution so more
people play along.

I don't want to make a bigger deal out of this than it is, but it
seems like we're already passed that point.


More information about the rspec-users mailing list