Is Lua based primarily on well-established programming-language ideas? -


lua occupies place in space of languages can embedded. primary ideas behind lua's design new ideas implementors, or lua well-executed combination of well-established ideas?

comparison of properties , features of lua other pls particularly appropriate.

this interesting question. day job study programming languages, , lua repay careful study. few other languages (perhaps icon , clu). please note language whole, not individual features, makes lua worthy of study.

is result of interesting new ideas implementors had, or result of execution of well-established ideas?

both. details, best source answer question paper the evolution of lua, appeared @ third acm symposium on history of programming languages. add few comments.

  • the use of lua tables only mutable, non-atomic type of data invented lua team. inspired developments in clu, , believe aware of similar work in awk , icon, refinement degree important contribution of lua team.

    tables have efficient implementation, invented lua team.

  • the functional features of lua have same semantics scheme, lua has unique implementation of first-class functions, think ought submit publication in journal of functional programming.

  • the api embedding has been refined on years. main distinguishing characteristic user-defined abstract types can participate in embedding. property makes lua api superior tcl api, example. lua api has undergone great deal of refinement on years, including since first publication @ version 2.5. lua designers deserve great deal of credit here.

  • the garbage-collection technology standard.

  • lua coroutines represent new take on old ideas. new take considered worthy of publication in acm transactions on programming languages , systems, again think lua team credit originality.

  • lua metatables related common lisp metaobject protocol.

i think lua's success result unique combination of strengths of lua team:

  • if read hopl paper, you'll see lua team aware of many developments in programming languages , able choose among best ideas. designers of popular scripting languages have been amateurs , have not been informed.

  • lua superbly designed pieces fit nicely, excellent power-to-weight ratio. result of lot of refinement on time, , puc-rio willing lua team work on language design , implementation instead of grinding out huge number of papers. work not have been done @ north american university.

  • lua superbly engineered. implementation staggeringly good. that's partly great work great engineers , partly opportunity keep revising design on 15-year period.

i'll close asking readers not underestimate difficulty of choosing , refining well-established ideas form coherent whole. extremely difficult work , seldom recognized should be.


Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -