HN Announcement comments:
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.
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.
I don't think it was open in the first place, was it?
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?
And a copy of the original SQL layer: https://github.com/jaytaylor/sql-layer
Some of those were acquired (either as a core developer in the case of CUPS, a codebase in the case of WebKit) but I'm not sure of other examples of open sourcing an acquired technology like this.
There's also: https://github.com/apple/foundationdb
Less risk of it being acquired by some unknown company in the future or collapsing through mismanagement.