You can use Java™ or C to implement a user-defined extension.
You can use C to implement all types of user-defined extension except for connectors. You can use Java to implement user-defined nodes and connectors only.
If you can, use Java for user-defined nodes and connectors, and use C for everything else.
You must compile user-defined nodes, parsers, and exits that are written in C into a loadable implementation library (LIL): that is, a shared library on Linux and UNIX systems, or a dynamic link library (DLL) on Windows systems. You must package user-defined nodes and connectors that are written in Java as a JAR file.
To achieve platform independence, use the ANSI standard C or Java programming languages, and avoid platform-specific code in your user-defined extension.