Nel calcolare cosa si intende per compatibilità binaria ?
L'ho letto nel contesto della serializzazione / deserializzazione che questo processo di serializzazione / deserializzazione dovrebbe essere compatibile con i binari. Cosa significa in questo contesto? In particolare, mi interessa capire il ruolo della compatibilità binaria in un linguaggio come Java che si occupa del codice byte.
Questa citazione proviene da Java efficace:
When a serializable class is revised, it is important to check that it is possible to serialize an instance in the new release and deserialize it in old releases, and vice versa. The amount of testing required is thus proportional to the product of the number of serializable classes and the number of releases, which can be large. These tests cannot be con-structed automatically because, in addition to binary compatibility, you must test forsemantic compatibility. In other words, you must ensure both that the serialization-deserialization process succeeds and that it results in a faithful replica of the original object. The greater the change to a serializable class, the greater the need for testing. The need is reduced if a custom serialized form is carefully designed when the class is first written (Items 75, 78), but it does not vanish entirely.