Black hole
From APIDesign
(New page: There is a significant difference between diamonds and stars. While diamonds are said to be forever, nobody considers stars eternal. As such...) |
|||
Line 1: | Line 1: | ||
- | There is a significant difference between [[Blogs:JaroslavTulach:Theory:DiamondsVsStars|diamonds and stars]]. While diamonds are said to be forever, nobody considers stars eternal. As such the allegories are not the same. They are in fact quite different. If you get through the [[TheAPIBook|Practical API Design]] book to [[Evolving_the_API_Universe|chapter 15]] and [[End_Of_Life_Procedures|chapter 19]], you'll find out that if you have good support from runtime container, properly versioned | + | There is a significant difference between [[Blogs:JaroslavTulach:Theory:DiamondsVsStars|diamonds and stars]]. While diamonds are said to be forever, nobody considers stars eternal. As such the allegories are not the same. They are in fact quite different. If you get through the [[TheAPIBook|Practical API Design]] book to [[Evolving_the_API_Universe|chapter 15]] and [[End_Of_Life_Procedures|chapter 19]], you'll find out that if you have [[good]] support from [[NetBeans Runtime Container|runtime container]], [[Semantic versioning|properly versioned]] [[API]]s and you know how to allow [[co-existence]] of multiple versions of similar APIs, you can make your old APIs disappear, yet keep [[BackwardCompatibility]]. Of course, this is not a common operation, just like [[star]]s do not burn out everyday. However, if you really need to, you can send your [[API]] (aka your [[star]]) towards a [[black hole]] and make it disappear there. Moreover, you can do it in a completely ''user driven'' way, where the speed of dying is driven by number of remaining users of the old [[API]], e.g. observers of your star. This is all possible and the [[NetBeans]] project done that few times. |
Current revision
There is a significant difference between diamonds and stars. While diamonds are said to be forever, nobody considers stars eternal. As such the allegories are not the same. They are in fact quite different. If you get through the Practical API Design book to chapter 15 and chapter 19, you'll find out that if you have good support from runtime container, properly versioned APIs and you know how to allow co-existence of multiple versions of similar APIs, you can make your old APIs disappear, yet keep BackwardCompatibility. Of course, this is not a common operation, just like stars do not burn out everyday. However, if you really need to, you can send your API (aka your star) towards a black hole and make it disappear there. Moreover, you can do it in a completely user driven way, where the speed of dying is driven by number of remaining users of the old API, e.g. observers of your star. This is all possible and the NetBeans project done that few times.