Summary of the benefits offered by GenC:
-
Composability & flexibility:
- Ability to freely compose building blocks to express your own application logic.
- Ability to integrate diverse SDKs, platforms, and ecosystems (e.g., LangChain, mobile platforms, cloud services, databases, models, etc.).
- Ability to express processing that combines on-device/on-prem and cloud components.
-
Portability & platform independence:
- Across programming languages (e.g., from Python to Java and C++).
- Across prototyping and production deployments (e.g., from Colab notebooks, to cloud servers, to mobile apps).
- Across different mobile and cloud platforms.
- Can be configured with minimal dependencies for lightweight deployments (e.g, on embedded/IoT and other specialized platforms).
-
Customizability:
- Ability to incorporate your own libraries and network services (models, databases, etc.) as GenC building blocks, and mix and match them with those that already exist.
- Ability to create your own custom runtimes.
-
Development velocity:
- Building blocks allow logic to be expressed succinctly, at high level, and easily modified.
- Portability enables prototype code to be deployed with minimal effort to production environments.
-
Performance & security:
- C++ runtime (faster, more secure than Python).
- Asynchronous and parallel functional programming model.
- Application logic, represented in a declarative form, can be statically analyzed, verified, optimized, and executed on scalable distributed platforms.