On Sat, Oct 1, 2011 at 5:27 PM, Eli Barzilay <e...@barzilay.org> wrote: > Just now, Robby Findler wrote: >> >> Why is this work lessed by changing the name from plot to >> plot/compat? > > Because of the name. `compat' means "you're lucky that it works, if > something is broken, then just do the work and upgrade your code". > (Yes, I know that it doesn't mean just that, it's leaning more in that > direction.) > > >> For the record, I complained about that. (And then later was bitten >> by it :) > > OK, as someone who was bitten by the same (but wanted it), I'll make a > point from it: IIRC, the alternative was having a `web-server2', and > leaving `web-server' as the compatibility layer. How much code has > changed as a result of *not* doing that? IMO, that's making progress: > when you have to touch the file, you will often "just as well" just > use the new code instead of sticking to the compatibility stuff. > Having `web-server' stay the same in addition to a bunch of > `web-serverN' means more choice -- in a bad way. (A point that was > discussed recently from a different angle: having too many options is > not always a good thing. A point that is painfully obvious for any > iGadget user...) In any case, it's more choice that also lets you > conveniently slip up and not update your code, which overall > translates to a bunch of additional work. Worse, letting you go on > with unmodified code very often means that the code will not be > modified, and we get into the "dark side of compatibility" with some > ridiculously old code that is unlikely to ever be dropped. (And I > won't get into the "size matters" meta-point.) > > So obviously there is a line here: on one hand you put effort in > compatibility layers and have more stability and less innovation, and > on the other side you have changing libraries but of course more > innovation. A good point to balance at is therefore an inherently > subjective point, and depends on the effort that the author wants to > invest. To make it more fun, it also depends on factors like "how > much code is affected", "how important is that code", and "how easy it > is to update that code", and that's exactly why I'm saying that > generalizations are impossible and each case needs to be judged > independently. > > In the current case of `plot', I think that all of the above > considerations are overwhelmingly pointing at an obvious side. But > that's subjective, and different than what you think. It's a pity > that it turned into such a pile of verbiage instead of being just a > poll. > > (And that was yet another 400 words too many, so I'll shut up now.)
I agree with all that in the case of the web-server (although I wish that there was a better error message). (And I was going to add more about how I think plot is different, but I realized I was just writing the same thing I wrote before, so I saved whoever gets this far another 100 or so words :). Robby _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users