5. Discussion and conclusion

The support for serialization is required in all currently used programming languages, because there still a growing need to exchange information [18]. The perfect solution, meeting all requirements, does not exist, because the requirements are contradictory:


The programming languages that support reflection have simplified serialize/ deserialize process, but other environments needing several technical issues should be resolved, as depicted in Section 2. The existing libraries to serialization require constant development and modernization; because the programming languages are modernized, new standards are implemented, and additional new programming languages are being developed and become used. Our new cereal\_fwd library addressed the forward compatibility problem for C++ serialization. The library is publicly accessible at https://github.com/breiker/cereal\_fwd under BSD-like licence.

## Acknowledgements

This work was supported by the Statutory Founds of Institute of Computer Science.
