I recently was reading through the O’Reilly Digital Media Blog, and stumbled across an interesting fact about Lightroom: Much of it is coded in LUA.
Now, I know most of you probably won’t care about this particular aspect of Lightroom, however in the future when script additions to Lightroom are available this will open up a huge realm of available plugins, additions, and will enable you to do virtually anything you could want to do. Basic scripting in LUA is straightforward and simple, but it still has the power and speed to handle complex operations quickly and efficiently. Possibly the most notable use of LUA (besides lightroom) is the game World Of Warcraft by Blizzard Entertainment where a large portion of the engine is handled by compiled LUA scripts, it also enables users to customize there game interface via there own LUA scripts.
Here’s an excerpt from “My Lightroom Wishlist” on the O’Reilly blog that detailed the section about LUA:
Adobe’s staple applications (such as Photoshop & Illustrator, and the recent additions to the family such as Flash & Dreamweaver from the Macromedia acquisition) share a common look and feel: concepts such as palettes, workspaces, and generally speaking, the whole application interface look more–or–less the same from one environment to the next. And there’s a good reason for that: they share a common library of code that takes care of the heavy lifting common to all of the applications. The foundations of the application’s scripting engine could be considered as part of this toolkit; 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.
Lata,
Paul Rohde