I am trying to understand why RLP was chosen and developed as an in-house protocol.I stumbled up this link which provides some insights:
https://github.com/ethereum/wiki/wiki/Design-Rationale
Trying to understand the paragraph below, a detailed explanation is greatly appreciated.
"The alternative to RLP would have been using an existing algorithm such as protobuf or BSON; however, we prefer RLP because of (1) simplicity of implementation, and (2) guaranteed absolute byte-perfect consistency. Key/value maps in many languages don't have an explicit ordering, and floating point formats have many special cases, potentially leading to the same data leading to different encodings and thus different hashes."