Hacker Newsnew | past | comments | ask | show | jobs | submit | mlhamel's commentslogin

I'm wondering how do you share you shared types between languages if there's no schema ?


Looks like there's a type mapping chart for supported types: https://fory.apache.org/docs/docs/guide/xlang_type_mapping

Otherwise, the schema seems to be derived from the class being serialized for typed languages, or otherwise annotated in code. The serializer and deserializer code must be manually written to be compatible instead of both sides being codegen'd to match from a schema file. He's the example I found for python: https://fory.apache.org/docs/docs/guide/python_serialization...


You don’t need to hand‑write serializer code. In typed languages you just define your class or struct as usual; in dynamic languages you can use type hints.

When running in compatible mode, Fory automatically derives a compact schema from those definitions at runtime time and sends it along to peers for the first time serialization. That way, both sides know the structure without needing a separate schema file.

The idea is to make cross‑language exchange work out‑of‑the‑box, while still allowing teams to add an explicit IDL later if they want a single source of truth.


He's saying you need to hand-write the class or struct. You don't need to do that in systems with an explicit schema like Protobuf.


Exactly, i'm using protobuf, i've got those proto files which generate code in python, ruby, go and typescript. I can share the package into those different services and i'm gonna be sure i'll use common interface.

It's not clear for me how to achieve the same with fory?


I am confused on this as well, they list polyglot teams[0] as their top use case and consider not needing schema files a feature

[0] https://fory.apache.org/blog/2025/10/29/fory_rust_versatile_...


I am skeptical that it's possible to make this work in the long run.


I get your concern — for one or two languages, skipping an IDL can work well and keeps things simple.

But once you’re dealing with three or more languages, I agree an IDL becomes valuable as a single source of truth. That’s work we’ve started: adding optional IDL support so teams can generate data structures in each language from one shared definition.


Not explaining this case makes me wonder how much this lib is actually used in production. This was also the first question I asked myself.


This is our first release for Fory Rust. The Java and Python bindings has been used widely. You can see from https://fory.apache.org/user


jusqu'ici tout va bien!


Interesting comment: "Until now, everything has been going well" https://www.youtube.com/watch?v=AyKookhlYeA


No way, the movie is 30 years old now? Time to check the relevant xkcd

https://xkcd.com/891/

which itself is almost 15 years old... shiiiiiit


Yet the hard landing is inevitable.


Stupidity


Is there anywhere sources of putty available?



weird there's no not many python entries... where it seems there's way more than 16k package in it (ie: https://alexgaynor.net/2014/jan/03/pypi-download-statistics/)


I'm a bit confused. The more i read the doc, the more i feel it look Just Another Queue system. I don't really see the difference between Kafka and let's say RabbitMQ, Celery or also statsd...


There are differences, the biggest of which is throughput. Kafka can handle incredible load. The messaging semantics are also a bit different. Here's a pretty good comparison:

http://www.quora.com/RabbitMQ-vs-Kafka-which-one-for-durable...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: