Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2m-iwg] Why Lua? Why not Java as its done by Google for Android?

On Wed, Feb 6, 2013 at 12:17 AM, Amjath Sharief <amjathsharief@xxxxxxxxx> wrote:
Why Lua? Why not Java as its done by Google for Android?

This is a very legitimate business concern: some customers are afraid they won't find employees skilled enough to learn a new language at profitable speed. However:
  •  This view has been obsolete for at least a decade IMO. When learning a new language meant going from Cobol to C++, that was an awful gap to cross indeed. Since then we've learned to design learnable languages, and Lua is especially easy to learn, even largely accessible to non-developers (see for instance http://lua-users.org/lists/lua-l/2004-04/msg00164.html, "Lua's easy ramp-up time"). Conversely, libraries and frameworks have become dramatically more complex, so that today, a new language is often learned faster than a new API. Some people haven't had an opportunity yet to realize this, though.

  • Anyway, whether some users' fear of anything but "the one true language" is justified or not, if that's what they want and what they'll buy, we'd better provide it. The thing is, for embedded development, most of those who believe in a Single True Language believe this language to be C (or some subset of C++), not Java.

  • We've taken this business need into account. Many services in Mihini are rendered by an agent running in its own process, and user applications communicate with it through a protocol which is designed for ease of porting (essentially JSON over a local socket). Porting to a new language simply means porting the user-side of the agent connector, and we've tried to push all of the intelligence on the agent's side, so that it doesn't need to be ported. We provide a Lua connector because our experience convinced us that it's the most productive solution, and a C connector to cater for the most conservative users. It's perfectly possible to write a Java connector, but no compelling business opportunity has surfaced yet, so it's not one of our current top priorities.

Back to the top