Torch7: A Matlab-like Environment for Machine Learning
Why not Python? It is hard to talk about a language without starting a flame war. While Lua is well known in the gaming programmer community (because of its speed advantage and great em- bedding capabilities), Python is more popular in a more general public. With no doubt, Python ships with more libraries. However, with no doubt5, “Integrating Lua with C is so easy a child could do it. Lua was designed for this also, from the beginning, and it shows6. This means that with a few hours’ work, any C or C++ library can become a Lua library.”. Another key advantage of Lua is its embedding capabilities: once code has been prototyped, it can be turned into a final system/product with very little extra work. Extra performance can be obtained using LuaJIT, yielding C-like performance for most of the pure Lua code. Lua being written in pure ANSI C, it can be easily compiled for arbitrary targets (cell-phones, embedded CPUs in FPGAs, DSP processors, …). Adding Lua’ speed advantage, the choice was a “no brainer”.