{{language|ZX Spectrum Basic
|exec=interpreted
|site=http://www.worldofspectrum.org/ZXBasicManual/}}
{{implementation|BASIC}}'''ZX Spectrum Basic''' is the [[BASIC]] built into the ROM of the ZX Spectrum Computer.

==Features==

* Language is interpreted (but third party compiler is available).
* Line numbers are required
* Line numbers must be no longer than four digits
* No [[named locations]]
* Some [[Terminal Control]] capabilities
* Supports [[colour]]
* Support for direct display [[graphics]]
* Support for sound via the [[speaker]]
* No support for [[scope]]d variables
* No support for [[structure]]d variables
* No [[command line parameter]]s
* No support for [[environment]]
* Supports output tho the [[line printer]] via the [[lprint]] command
* No direct support for error handling, but error handling can be achieved using assembly language by changing the [[error handler]] address
* Support for streams when using [[Interface 1]], but no support for [[freefile]]
* Can read keystrokes using <code>INKEY$</code>
* No support for multiple line <code>IF</code> conditionals
* No conditional compilation directives
* no [[hashbang]] mechanism
* Variables have to be defined before use
* The GO TO command has a space in the middle
* VAL function interprets expressions
* INPUT function can interpret expressions (unless LINE INPUT is used)

{{language programming paradigm|procedural}}
{{language programming paradigm|imperative}}