Hacker News new | ask | show | jobs
by mort96 1261 days ago
This is going to sound like I'm moving the goal posts, because, well, I am. I apologize. But what I notice with all those ports are that they're all in languages other than C (or C++), which means they're pretty much confined to their language's ecosystem; there is no port that's prepared to take the place of the Facebook zstd library. If I want to write, say, Common Lisp bindings, I'm not going to write them against the Java port. The one which comes the closest is probably the Rust port, since Rust is establishing itself as a core low-level language which people write bindings to, but the Rust port is only a decompressor.

I'm also concerned with the term "port". I don't know exactly what you put in the term, but to me, it sounds like someone basically translated the C code directly to other languages. What I would be looking for is more like a "clean re-implementation" by an independent group of people who properly understand all the algorithms which are used and where all the code is written from scratch without the Facebook code as a "crutch". This would ensure that whatever Facebook does, there will be a group of people that is capable of fixing tricky bugs in the algorithms or implementing further optimizations. Basically, I would want the alternative implementation to be as unrelated to Facebook's libzstd as Clang is to GCC.

All of that said though, from a purely technical perspective, zstd seems like a truly great piece of engineering. Kudos. Though I will never understand what drives great developers to dedicate their life to producing value for Facebook.

1 comments

money and probably the fact that they are near to other great developers...