Erlang外部术语格式至少已更改一次(但此更改似乎早于存储在Erlang/OTP github存储库中的历史记录); 显然,它可能会在未来发生变化.
但是,作为一个实际问题,一般认为这种格式现在稳定是安全的吗?通过"稳定",我的意思是,对于任何术语T,term_to_binary将在任何当前或未来版本的Erlang中返回相同的二进制文件(不仅仅是它是否将返回binary_to_term将转换回相同的术语的二进制文件T).我对这个属性感兴趣,因为我想在磁盘上存储任意Erlang术语的哈希值,我希望现在和将来使用相同的术语来获得相同的哈希值.
如果假设术语格式稳定是不安全的,那么人们使用什么来进行有效和稳定的术语序列化?
小智 8
据说erlang将提供至少2个主要版本的兼容性.这意味着来自R14的BEAM文件,分发协议,外部术语格式等至少可以达到R16.
"一般情况下,我们只是在主要版本中破坏了向后兼容性,并且只是出于一个很好的理由,并且通常在事先首先弃用一个或两个版本的功能之后."