Redmine plugins must, well, plug into Redmine. Thus, they need to use internal Redmine APIs (written in and accessible with Ruby) to register its functions and embed into the application. Very often, plugins extend or overwrite parts of Redmine to implement their functionality. Plugins embed themselves into Redmine and run in the same processes to form an integrated program.
As such, you are required to use the same Ruby version as Redmine itself run at. While it may be theoretically possible to write your plugin in C (or compatible languages) and use Ruby's C interfaces, this would most certainly be MUCH more painful than just writing Ruby and would still mostly resemble the equivalent Ruby anyways.
If you want to develop external functionality in a different language, you can however access Redmine via its REST API from any external program using any language you like. It will not be a plugin though and will not extend Redmine itself.