@JML: Groovy is great as a straight shot to Java, having the same syntax, but less formality, making it more concise. It has a lot of nice features to boot. With that being said, it's still relatively easy to learn, but documentation isn't it's strong suit, and hasn't been for quite some time, which drive some devs away from using it over the long haul. It also used to be slow, but 2.0 is said to have changed that, and 3.0 looks promising as well. With regard to MT, if it was used to write the macro functions itself, it can make for more concise code that do the same thing as the current ones, for less. But, as I said earlier, I'm not sure if the Groovy fork calls the old functions, or was written from scratch to do the same things for less code, or a combination of both.
JamzTheMan wrote:Is there a reason the old MT script couldn't be kept for compatibility reasons? Something like the macro has a checkbox "Use legacy script" that will send it to the old parser. That way people could migrate functions over time?
No reason at all. I'm totally for having multiple access points to just one API, though I would segregate macro code, and delegate them to their respective interpreters, rather than letting one do all the work. Segregation meaning, all or nothing, where a macro command gets sent whole to a particular parser, rather than sifting through it and sending bits to where it would be understood. Lines from other languages that are mixed in gets ignored, or interpreted plainly. The trick there, though, is to write that accessible API, and MT script isn't exactly that, but I also don't think most users will mind the sacrifices made on efficiency, and the like, if it ends up having more than one way to write for MT.
I think that's why the talk has always been about moving to another language instead of maintaining backward compatibility to MT script. It's a nightmare to write such a consolidated interpreter, and having multiple interpreters goes against the lean application ideals evident on the latter parts of MT's code.
Just my 2 cents, though
