The ruby plugin should compile on 64-bit Windows since this change:
https://github.com/DFHack/dfhack/commit/9da2dcb8a26f7d953ea73a0c0e85ed370f900c8eBumber: you're obviously looking at the master branch, while you should be looking at the develop branch. Specifically, the existing "#else" clause should work on Win64, according to Qartar.
The problem is that
Ruby itself (before version 2) did not support 64-bit Windows at all. Even if the ruby plugin works, the interpreter will not, so the plugin is useless until we can get Ruby 2 working (possibly not too hard) or Ruby 1.8 working (which could be impossible).
Hmm. Just to float the idea, what are the arguments for and against dropping Ruby support?
Keep Ruby: seriously, it's fine. Why break what works? People actually do use it!
Drop Ruby:
- No API documentation at all
- Relatively poor structures API (I think? Hard to tell when there's no docs...)
The structures API is just as good as Lua's (otherwise it would be pretty useless). The way it's implemented makes it somewhat slower when you try to do certain things, from what I remember from BenLubar's projects, but that's not something that would be explained in detail in the API docs anyway.
- Standardising on Lua would free up developer resources
Yes, once we rewrite everything in Ruby, which is not a small task.
- Fewer scripts - there are 190 .lua and 38 .rb files in the dfhack repo; 147 to 28 in the scripts repo.
I got 42 to 11 on the develop branch (
https://github.com/DFHack/dfhack/find/develop). It's worth noting that those are all
libraries, so all that means is that the parts of the Lua API
written in Lua are more comprehensive and/or split into more files.
Yes, Ruby scripts outnumber Lua scripts, but C++ plugin files (244) outnumber both of them combined.
- Fixing and maintaining Ruby support might be a similar amount of work to dropping it and a one-off porting effort; especially if fixing it involves a useful degree of documentation.
Ruby 2 shouldn't be too much harder to get working. It just requires enough familiarity with the Ruby interpreter to fix whatever issues come up, which I don't have.
- It makes tooling more difficult (number of languages installed, cases for build systems, docs support, etc) for developers and deters new contributors.
Developers do not have to install Ruby, or Lua, at all. Both of those interpreters are bundled with DFHack.