# Blocks language ### @description Language constructs for the Block editor. Blocks snap into each other to define the program that your @boardname@ will run. Blocks can be event (buttons, shake, ...) or need to be snapped into an event to run. The [on-start](/blocks/on-start) event runs first. ```namespaces for (let i = 0;i<5;++i) {} if (true){} let x = 0; Math.random(5); ``` ## See Also [logic](/blocks/logic), [loops](/blocks/loops), [math](/blocks/math), [variables](/blocks/variables), [on-start](/blocks/on-start), [javascript blocks](/blocks/javascript-blocks)