Teach you computation.Â When somebody has written an introductory text as good as SICP
using Lua, and Lua has a pedagogical implementation as sophisticated as PLT
Scheme (and HTDP
, by the same team, deserves mention as well), then I'll agree that Lua is as good for learning.Â Actually even then I think Scheme's simplicity and purity would win out; the fact that it is pretty close to a straighforward transcription of Lambda calculus is not a minor point.Â And the SICP Lectures are even available online
!Â What more could one ask for?
The basic flaw in the standard "which language is best for learning programming" is that the language is largely irrelevant.Â In fact one could teach everything you need to know without using a "real" programming language; a little lambda notation and something like Knuth's invented assembler language would do just fine, and might even be a better way to go.Â After that it's just a question of the practicalities of learning how to use a programmer's editor and deal with source code, compiler messages, etc.Â For that obviously Emacs is the One True solution.