The A-Z of Programming Languages: Lua

Professor Roberto Ierusalimschy offers an in-depth examination of what he believes to be the most successful programming language not born in a developed country.

What languages do you currently work with?

The language I work with most nowadays is C, both in the implementation of Lua and in some libraries. I also use Lua frequently, for tasks such as text processing and system automation. In the past I have worked with several different languages: I have substantial programming with Fortran, Mumps, SNOBOL, Smalltalk, Scheme, Pascal and C++, plus assemblers for various machines.

Is there a particular tool which you feel could really do with having Lua embedded in it?

It is hard to think about a tool that would not benefit from an embedded scripting facility, and Lua is an obvious choice for that support.

In your opinion, what lasting legacy has Lua brought to computer development?

I think it is far too early to talk about any "lasting" legacy from Lua. But I think Lua has had already some impact on language design. The notion of co-routines, as implemented in Lua, has brought some novelties to that area. Also the object model adopted by Lua, based in delegation, is often cited. In the implementation aspect, Lua was a big showcase for register-based virtual machines.

Lua is also a showcase for the idea that "small is beautiful", that software does not need to be bloated to be useful.

Where do you envisage Lua's future lying?

Scripting. It is a pity that the term "scripting language" is becoming a synonym for "dynamic language". A scripting language, as its name implies, is a language that is mainly used for scripting. The origins of the name are the shell languages that have been used to script other programs. Tcl enlarged it for scripting a program, but later people started applying the term for languages like Perl or Python, which are not scripting languages (in that original meaning) at all. They are dynamic languages. For real scripting, Lua is becoming a dominant language.

What are you most proud of in terms of the language's initial development and continuing use?

I am very proud that Lua achieved all this popularity given where it came from. From all languages ever to achieve some level of popularity, Lua is the only one not created in a developed country. Actually, besides Lua and Ruby, I guess all those languages were created in the US or Western Europe.

Where do you see computer programming languages heading in the next 5 to 20 years?

The easy part of predicting the next 20 years is that it will take a long time to be proved wrong. But we may try the reverse: where were we 20 years back, in the 80's?

I am old enough to remember the Fifth Generation project. Many people claimed at that time that in the far future (which is now) we would all be programming in Prolog :) In the short term, Ada seemed set to become the dominant language in most areas. It is interesting that the seeds of relevant changes in programming languages were already there. Object-oriented programming was on the rise; OOPSLA was created in 1986. But at that time no one would have bet on C++ overcoming Ada.

So, I would say that the seeds for the next 20 years are already out there, but they are probably not what people think or expect.

Do you have any advice for up-and-coming programmers?

Learn Lua :)

More seriously, I really subscribe to the idea that "if the only tool you have is a hammer, you treat everything like a nail". So, programmers should learn several languages and learn how to use the strengths of each one effectively. It is no use to learn several languages if you do not respect their differences.

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags a-z of programming languageslua

More about Adobe SystemsMicrosoftMITRIO TINTOWikipedia

Show Comments