Erlang Universal Binary Format? Anyone using it?

2020-05-24 09:22发布

I recently stumbled upon this 2002 conference paper (Getting Erlang to talk to the outside world by Joe Armstrong) and I was wondering whether this is a standard that was ignored or if there was any adoption?

Should I focus on Apache Thrift for inter-platform communication? (whatever solution I choose will involve at least Erlang)

4条回答
The star\"
2楼-- · 2020-05-24 09:43

UBF never really caught on. Here's what Armstrong had to say in 2008. As you look into Thrift you might also look into Protocol Buffers. You can find an Erlang implementation here.

Hope this helps.

查看更多
ら.Afraid
3楼-- · 2020-05-24 09:46

You might find the following information helpful about UBF (i.e. UBF User's Guide).

http://ubf.github.com/ubf/ubf-user-guide.en.html

This might help answer some of your questions about UBF. There is also an Erlang server and client implementation of Thrift using the UBF framework (https://github.com/ubf/ubf-thrift).

Joe N.

p.s. We have been using UBF, EBF, and JSF in a production environment for approximately ~5 years. The UBF contract checker is very helpful for developing, debugging, and deploying a system.

查看更多
唯我独甜
4楼-- · 2020-05-24 09:53

I think the Hibari guys are using it.

https://github.com/ubf/ubf/

查看更多
我命由我不由天
5楼-- · 2020-05-24 10:06

I don't know if anyone's using Erlang's binary serialization format per se, outside of Erlang programs; but BERT (Binary ERlang Term) is an Erlang-compatible binary data interchange format and RPC protocol specified and open-sourced by the GitHub guys. It's based on and fully binary-compatible with the Erlang external term format.

As you can see on the BERT website, there are implementations in a number of programming languages, including C++, JavaScript, Ruby, Python, Scala, Haskell, Go, Factor, Scheme, Clojure, and Common Lisp. The mailing list currently has 85+ members subscribed to it, so quite a few people are indeed using BERT, and hence indirectly the Erlang binary format.

In my own use, mostly in Ruby and Common Lisp applications, BERT has proved useful as essentially a binary form of S-expressions.

查看更多
登录 后发表回答