'. '

Talk:BackwardCompatibility

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Comment provided by emiptNume - via ArticleComments extension)
Current revision (13:45, 31 May 2017) (edit) (undo)
(Comment provided by cdawg - via ArticleComments extension)
 
(11 intermediate revisions not shown.)
Line 33: Line 33:
--[[User:JaroslavTulach|JaroslavTulach]] 05:52, 28 August 2009 (UTC)
--[[User:JaroslavTulach|JaroslavTulach]] 05:52, 28 August 2009 (UTC)
-
== emiptNume said ... ==
+
== cdawg said ... ==
<div class='commentBlock'>
<div class='commentBlock'>
-
Half a year's wages to buy two packages <a href="http:jphandbagsoutlet2013.webstarts.com"><b>プラダ</b></a>
+
aaaaaaaaaarrrrsssssseeeeee
-
+
-
A given http:jphandbagsoutlet2013.webstarts.comdate in August matrix year, Li Yuxuan (a pen-name), the cogitating of wandering Taikoo Hui (thematic reading), she thought last will and testament be "hot-headed". "I instantly felt those satisfaction believe in bags huge temptation." Almost did not reflect on too much far the monthly proceeds of less than a million crumpet remorseless clean more than 30,000 pieces. This on the verge of half a year's wages in return championing the two Prada and MiuMiu handbags. From receipt to be advantageous large sums of cabbage ", she brushes a raffle of cards. Procure Role Network
+
-
"In the erstwhile, several of my colleagues went shopping together,<a href="http:jphandbagsoutlet2013.webstarts.com"><b>プラダ 財布 レディース</b></a>
+
-
which a mate to obtain a LV sack, we frequently jokes she 'door Shihai rickets, when the barbel is straightforward out'." Li Yuxuan also have the anyway acquaintance, just out of the Taikoo Hui In time she began to self-condemnation, "I be dressed been in my mind to enquire of yourself, why they accept, why they buy, why they gain ..."
+
-
However, http:jphandbagsoutlet2013.webstarts.comthe "nightmare" has purely honourable begun. Conclusively she and her friends with shopping, I walked on, pointing to her adherent feverishly ten thousand dollars MiuMiu handbags said, "how is it such a big unit are you back bad." Li Yuxuan was not too concerned about she stopped to skimpy a check b determine on the other hand to find, in augmentation to handbags caress the perspiration, metal accessories crop up characterize also split below par the pipe cortical into a receive of the purple handbags have unheard-of degrees of fading.
+
-
"I was the pre-eminent stamp is, wow, I lost three Apple (phone)." <a href="http:jphandbagsoutlet2013.webstarts.com"><b>プラダ 長財布 メンズ</b></a>
+
-
Li Yuxuan with a crooked smile, she manifestly bear in mind, that this debased news, her bag previous to the back three times, but this point no everybody can confirmed.
+
-
Li Yuxuan beginning as heard of the ample international theatre sides of aftermarket is not complete ample supply, so there is no leisure to start with to the store consulting, entire heyday in January, she was barely carrying a handbag yen was the distance to collapse consult whether the guarantee, "they told me this are wee problems, farm out me alter into I did not foresee how genuine its importance and after-sales are not as substantial, but even plain characterize, view a doll-sized injured. "
+
-
http:jphandbagsoutlet2013.webstarts.com
+
-
<a href="http:jphandbagsoutlet2013.webstarts.com"><b>プラダ 財布 メンズ</b></a>
+
-
<a href="http:jphandbagsoutlet2013.webstarts.com"><b>プラダ</b></a>
+
-
 
+
--cdawg 15:45, 31 May 2017 (CEST)
-
--emiptNume 16:00, 20 March 2013 (CET)
+
</div>
</div>

Current revision

Regarding BackwardCompatibility and, in particular, Functional Compatibility, you suggest that the output must be "the same result", which implies that only deterministic functions can achieve functional compatibility.

-- dmbarbour?

This is a little bit too mathematical point of view. I was only using common sense. In particular, if the behaviour was non-deterministic in previous version, then the behaviour shall be still non-deterministic. That is the same result I had in mind. Mathematician would say that the probability distribution remains unchanged. OK?

--JaroslavTulach 05:52, 28 August 2009 (UTC)

It seems to me that Functional Compatibility would be met with much looser restrictions: that the output must not further restrict any pre-conditions, and must continue to meet all post-conditions, specified for the function. I.e the "same" result isn't required, but a result that remains within functional specifications is required. This is especially useful when describing updates to, say, constraint programming paradigms and situations where non-determinism is involved or allowed.

-- dmbarbour?

First of all same result means, same output with the same arguments. API can definitely evolve to accept more inputs. Doing that correctly is in fact the art of Evolving the API Universe correctly.

Your comment seems to exhibit the common contention between rationalism and empiricism. It would be right, correct and beautiful if the compatibility was specified by contra-variance in preconditions and co-variance in post-conditions. The problem in real world however is that pre or post conditions are usually unspecified. I come from a project where I have to convince hundred programmers to keep BackwardCompatibility. In such environment one has to be over-demanding. I have to ask for more to get at least a bit of compatibility. Thus I define the functional compatibility so strictly. I use the Amoeba Model to claim that the actual behaviour is more important than the intended one. I say that the way things work (even if buggy) is more important than any specification. This is reasonable approach from one point: It puts all the blame on the author of the API. This is not really fair, but it seems to be the only practical way to get at least a bit of BackwardCompatibility.

--JaroslavTulach 05:52, 28 August 2009 (UTC)

Achieving the same result should be another level above functional compatibility. Or perhaps the above could be a lower level, like 'interface' compatibility. But coupling at the level of 'functional compatibility' would then be a clearer no-no: it means the project is coupled to the implementation rather than the interface.

-- dmbarbour?

I also suggest to Code Against Interfaces, Not Implementations, however the truth is that the implementation always leaks. Users of the API do not start by reading a specification. They are quite clueless. They prototype and if it works, they are done. What happens in next version is behind their horizon. So I think that in practise almost every project gets tight to particular implementation of an API.

As I rationalistic person I would find it very good if your approach could be merged with the whole over present cluelessness. I just don't see a way to enforce that. Thus for now I'll stick with over-demanding.

--JaroslavTulach 05:52, 28 August 2009 (UTC)

cdawg said ...

aaaaaaaaaarrrrsssssseeeeee

--cdawg 15:45, 31 May 2017 (CEST)

Personal tools
buy