Executing C extensions is difficult because the C extension of the API is just the inside of the MRI displayed as a header file. You do not program against a pure API - you program against all implementation details and internal MRI design decisions.
JRuby Java extensions have exactly the same problem! The JRuby Java Extension APIs are just the inside of JRuby, and you are not programming against the APIs; instead, you are programming against all the details of JRuby implementations and design decisions.
- C Java , , , JRuby, .
, C , . Java, Java, .
https://youtu.be/YLtjkP9bD_U?t=1562