←Older revision | Revision as of 12:37, 7 May 2019 | ||
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. |