Garry's Mod with Wiremod comes with an assembly language (HL-ZASM) and programming language (Expression 2). Currently a system called Starfall is being developed which compiles to Garry's Mod Lua and is incredibly fast when compared to Expression 2.
Random E2 code of mine for development purposes with EGP screens:
@name
@inputs Active WL:wirelink
@persist
@trigger
if(Active & ~Active)
{
WL:egpTextLayout(1,"Random Test.",vec2(200,200),vec2(500,500))
}
if(Active)
{
interval(50)
Number = randint(1024)
Number2 = vec2(Number,Number)
Number3 = vec4(Number,Number,5000,40)
WL:egpBox(2,Number2,Number2)
WL:egpColor(1,Number3)
WL:egpColor(2,Number3)
} else
{
WL:egpClear()
}