My earliest exposure to programming was through a language called Logo, which was designed especially for teaching children to code. The idea is that the commands drive a digital robot, which can draw lines on a computer screen. The original project actually used a physical robot
(link to WikiPedia). I've made several implementations over the years; here are the two most recent:
- Logo Redux
This interface is designed to help the user see how lines of code are evaluated and executed. The language borrows from BASIC to declare variables and functions.
This interface is designed for code to be entered by clicking buttons and adjusting sliders and other graphical input controls. Textual input is not necessary, although it is possible. Loops are supported, but more advanced features such as variables and functions are not yet.