22 May 2005
Grokking the Virtual Machine
This month we consider Javascript's syntactic cousin, Lua:  

a = {}
a["b"] = "c"  

This code is valid in both Lua and Javascript; the first line creates a Javascript "associative array", or in Lua, a "table".  In both languages these constructs serve as "objects", so both of the following are valid statements for retrieving the "b" property of "a":  


Other similarities include that functions are first-class values in both languages: they can be stored in variables, passed as arguments, and returned as results.  Furthermore, both languages support "lexical closures", which allow "data hiding" (see last month's column).  

Lua may well be the lowest-level of the C-based scripting languages: it is a "register-based" virtual machine, and has some hooks directly into C.  Lua originated in Brazil but, designed especially for embedding, is popular worldwide, particularly with game programmers.  Look into Lua, and become a better Javascript programmer!
Posted by htmatters at 3:56 PM | Comments (0)
Blue Dragon Redux & CFEclipse
First some corrections to last month's column regarding NewAtlanta's free  ColdFusion implementation, "BlueDragon", specifically the Linux version.  As of version 6.2, distributions more current than RedHat 9, including Fedora  Core 1/2/3, are indeed supported.  Furthermore, configuration issues,  particularly integrating BlueDragon with Apache, can be overcome through a  thorough reading of the installation guide. 

Since BlueDragon comes in a free version, let's consider another free tool  for ColdFusion, the Eclipse plugin "cfeclipse".   Eclipse is now the de  facto Java IDE (60% now use it, according to onjava.com's 2004 survey), and  is becoming more popular for other languages because of it's plug-in  architecture.  CFEclipse does not provide WYSIWYG editing, but if you also  develop in Java, perhaps even custom ColdFusion tags, then Eclipse with  CFEclipse really makes sense.
All the software you will need to get up and running with CFEclipse is  available at the following sites:

Posted by htmatters at 3:00 PM | Comments (3)