February 20th, 2007
Lightroom is 40% Lua
I came across an interview , trough JD on EP , about the development of Adobe Lightroom and how it was being programmed largely in a language called Lua.
So what we do with Lua is essentially all of the application logic from running the UI to managing what we actually do in the database. Pretty much every piece of code in the app that could be described as making decisions or implementing features is in Lua until you get down to the raw processing, which is in C++. The database engine is in C; the interface to the OS is in C++ and Objective C as appropriate to platform. But most of the actually interesting material in the app beyond the core database code (which is SQLite) and the raw processing code (which is essentially Adobe Camera Raw) is all in Lua.
I find this pretty amazing considering Lua isn't really object oriented and is dynamically typed. It looks to me like a primitive version of Actionscript 1. Of course a good editor can do a lot, but still I don't understand why the choose to program 40% of an application like lightroom in a language that seems makes it so easy to introduce typos in your code.