The basic reasons, as far as I could see, were - Unfamiliarity with it. this meant that they had to learn another language, another set of programming idioms, and so on. - For the app programmers we were working with, Lua does not have wide applicability beyond our particular project, so there was some degree of "it's not a useful addition to my resume".
We addressed these two points by saying, basically, "The syntax and semantics of the language are easy to learn --- the hard part is things like programming models, libraries, and so on ... which have nothing to do with Lua, but are functions of the environment we made". We also pointed out the difference in size between the O'Reilly Python books and PiL --- as a first approximation of the complexity of the basic language.
- The application team did not fully grasp the reasons that we chose Lua for programming (instead of Java, Python, etc).
We dealt with this by carefully explaining why we chose Lua (such as its size, well thought out Lua/C API, portability, and license) and contrasting these with other languages.
- Lua didn't "just do things" that other languages might. One that hit us was performance -- initial tests of the application showed it taking 50x as much time as the same app coded in C++. A few simple optimizations got it down to about 5x, which was acceptable. These were optimizations that any modern C/C++ compiler would do automatically.
+1 on all this, which matches exactly my experience in the same situation.
—Tim
|