Scripting is on David Miller’s Lightroom 2 wishlist:

…Photoshop, Illustrator, and others support a variety of scripting languages: JavaScript (supported on both Mac and Windows), AppleScript (only on the Mac), and Visual Basic (only on Windows).

However, Lightroom follows a different path; its interface & application logic is built using an embedded programming language called Lua, rather than using Adobe’s existing toolkit & libraries (which explains a lot regarding why Lightroom looks and behaves so differently from its cousins in the Creative Suite). Those who have cobbled together enough JavaScript to automate other Adobe applications (or just about any web browser) would do well to start brushing up on Lua in preparation for the introduction of scripting support in Lightroom (whenever that happens to be). The good news is that a strong grasp on the fundamentals of JavaScript (or any other scripting or “full-fledged programming” language, for that matter) will definitely go a long way when adding a new language to your toolbelt.

While it’s true that users will not have too big a jump from JS to Lua, it’s also important to make it clear that Lua-only scripting would be too Adobe-centric.

While Photoshop is more for custom editing of individual images and interaction with other programs is limited, a bulk processing program with DAM aspirations will interact with a far wider range of non-Adobe business software. And that means dealing with their native languages. For example, one might want to use AppleScript to migrate metadata from a legacy Filemaker database (or Aperture!), or use VB to pass filenames and editing details to an invoicing template in Word or update a job costing database. We simply can’t assume LR controls that interaction. So what it then needs is a triangle of platform-specific languages, similar to Photoshop’s JS+VB+AS, but Lua+VB+AS.

A secondary but still important issue is that users will want to exploit their AS or VB skills and re-use existing code, not learn a new language so their creation runs across platforms. For many a PC coder, the Mac is irrelevant (and vice versa).