Other languages?

Discussion in 'Plugin Development' started by robhol, Feb 13, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    robhol

    So, at the outset of this project, there was a lot of hype about supporting multiple languages for plugins. At the moment, this has yet to become anything other than a gimmick nobody's seen yet, and I don't think it's even been discussed for a long time.

    Now, first of all: this isn't a call for immediate action; I'm just laying the idea out there. All I'm wondering is, does anybody have any definite plans for frameworks that enable plugin development in other languages yet? Which languages can we expect to see support for?

    I'd love to be able to program in C# or Lua (both of which annoy me a whopping lot less than Java does - despite Lua's lack of proper OOP, it's still a quite comfortable language) and I could easily see the benefit of other languages, like Python, or maybe Squirrel. (Oh, and Brainfuck, anyone? :p)

    Many of these languages would also likely be quicker. (For the parts that don't interact with the java layer, anyway...)

    I'm guessing this would require some form of modification to Bukkit before it's plausible, and it should probably wait until the number of breaking changes per week has dropped enough as to not cause aneurisms, ulcers and heart attacks anymore, but I don't think it's ever too early to discuss..

    What was the devs' idea on this anyway? Would there be a middle-ware plugin or something? Since you claimed it would be possible to support "all" languages, I'm curious about this one.
     
  2. Offline

    Byteflux

    Bukkit already provides a Plugin and PluginLoader API that people can use to develop an implementation of the plugin loader interface. Writing plugins in JVM supported languages is rather easy if you don't mind writing your own plugin loader.

    I'm working on a plugin loader interface for my server called PyBukkit (which is just a Bukkit plugin) that enables Python plugin support via Jython. So far it works surprisingly well. I've also added an autoreloading functionality that would reload the Python plugins whenever code has changed on disk (much like Django's autoreload).

    Although, about the only benefit you'd really get (aside from a lack of desire to learn Java) from using an interpreted language for developing Bukkit plugins is development time, the needless recompiles etc etc.

    One more thing to add, if you haven't already seen, there's an existing Bukkit plugin called jxpl which enables scripting languages that support the javax.scripting engine to be used in plugin development. The majority of well known JVM supported languages will support the Java scripting engine (JRuby, Jython etc).
     
Thread Status:
Not open for further replies.

Share This Page