Will IceRPC support other languages? I've only found the C# version. #4266
-
Desired featureI plan to develop a game server based on C++, and I want to implement network communication with IceRPC, but I've only found the C# version. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Absolutely! While IceRPC currently supports only C#, we definitely plan to add support for more languages. It's taking a while because we spent a lot of time updating Ice. We brought into Ice various improvements first implemented in IceRPC C#. See https://github.com/orgs/zeroc-ice/discussions/4782 and https://docs.zeroc.com/ice/3.8/cpp/ice-3-8-0. You can view IceRPC for C# as a blueprint for future IceRPC implementations. The terminology and features (like invocation and dispatch pipelines) will be the same or at least similar. Right now, we're improving this C# blueprint with two important updates:
The better the blueprint, the easier it will be to use it as the starting point for other IceRPC implementations. Since you're using C++, you should have a look at Ice 3.8 for C++ for your game server. It provides a modern, C++17-based API, with some support for C++20 features (such as spans). We have no immediate plan to implement IceRPC in C++. The main difficulty is there is no standard library support for executors and tasks, like in C#, Python, Rust, Swift... Without executors and tasks, we can't provide a nice async API. C++26 may improve this situation with the std::execution framework but we haven't researched it yet. Better wait until C++26 and C++ compilers actually implement it! |
Beta Was this translation helpful? Give feedback.
Absolutely!
While IceRPC currently supports only C#, we definitely plan to add support for more languages. It's taking a while because we spent a lot of time updating Ice. We brought into Ice various improvements first implemented in IceRPC C#. See https://github.com/orgs/zeroc-ice/discussions/4782 and https://docs.zeroc.com/ice/3.8/cpp/ice-3-8-0.
You can view IceRPC for C# as a blueprint for future IceRPC implementations. The terminology and features (like invocation and dispatch pipelines) will be the same or at least similar.
Right now, we're improving this C# blueprint with two important updates: