I'll assume for UI you want to use the console, i.e. built-in video out and keyboard/pointer input. In that case, since you want good IDE support, consider Electron (https://electron.atom.io) which is sort of a Chromium + Node.js mashup. The familiar programming model of HTML5/DOM/CSS/JavaScript and the I/O and package management model of Node.js are available to you. Some rasPi Node.js I/O modules will work directly, or with some modification. You should be able to use any web-development IDE of your choice that works with Node.js and Chromium, even over-the-wire debugging. You can even start an HTTP API and/or serve a web interface in a few dozen lines of code! On the other hand, JIT-compilers and browsers are big and hungry, so there is little room to spare in 512MB. Avoid using other heavyweight frameworks and libraries, disable or bypass unneeded services, etc.
If you need something more lightweight, consider wxLua (http://wxlua.sourceforge.net/), which I haven't tried, but which appears to fit your bill. It comes with some sort of code editor. I have successfully used the "periphery" module which supports GPIO, SPI, UART, and more. Beware, Lua is barebones and single-threaded. If you want multi-tasking, you must bring your own scheduler (the LOOP object oriented programming library has a few) and often you must hook things up to it manually.
If you wanted a great out-of-box experience, BeagleBone Black and its vendor Linux distro would have been the best choice. It has HDMI out, a fine web IDE (Cloud9) on board, an Ethernet gadget enabled by default, Node.js modules for much of its hardware ensemble, and many tutorials. On a general-purpose Linux like Armbian, you get to combine all the myriad possibilities for yourself. Poring over catalogs and web sites to learn all of what's available and to make tradeoffs between the options is half the fun. Welcome to embedded development I hope this helps.