Basic is out for me. I am an old hand at C and Makefiles. The Arduino route is out for similar reasons. I have spent the better part of a day beating a Makefile into a shape that I like (mostly ripping out extra fluff) and getting familiar with esptool (the python version), and am happy to report I just got my hello world program to run, but I get output that looks like this:
Hello, world!
mode : softAP(1a:fe:34:d4:xx:xx)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
chg_A3:-180
chg_A3:0
chg_A3:-180
chg_A3:0
chg_A3:-180
....
This is definitely progress. Apparently all the chg_A3 messages have something to do with the ESP8266 is adjusting its frequency offset, but it would be nice to make this go away until I actually want to use the wireless. I am now looking into something called: ESP8266_NONOS_SDK_V1.5.0_15_11_27.
As for Lua, it actually seemed well behaved, and I got a demo using the bmp180 i2c sensor to work, but had to do some tricks to get it to fit into what little memory NodeMCU left for user scripts. It seems to me that the bulk of the chip resources are being used to run NodeMCU, which would be fine if that was all the world was about, but having nothing left over for applications is kind of lame. My hope is that by writing C code myself, I will have all the code space being used by NodeMCU and Lua (which I understand is thousands of lines of C) for my own use.