The reason for Java being used here, if I had to guess, is they have experience running Java in production and the Java bindings are the most mature (in my opinion). Writing the record layer in C++ would probably be overkill. The reason the Java bindings are the most mature is probably because they needed to be to write this :)
Mind to elaborate on why C++ would be overkill? I understand the layered architecture decouples data model from underlying storage so it can be implemented in whatever language. To me, Flow and not having GC makes C++ a good choice.
https://techcrunch.com/2015/03/24/apple-acquires-durable-dat...
I don't think it was open in the first place, was it?
Also, it’s just as possible that open sourcing it earlier could have just bogged down the decision making because of alignment issues and caused it to fail.
Open sourcing is great and the more companies like Apple do it the better, but assuming that earlier is always better doesn’t seem justified.
1) https://en.wikipedia.org/wiki/Enterprise_Objects_Framework
So it seems like services in languages like Go, Rust, python, node, etc are essentially forced to dream up a bespoke wire protocol and revert to the client-server approach. Am I missing something?
[0] https://www.foundationdb.org/files/record-layer-paper.pdf