This article is about programming languages in general. For the project type, see Programming Language (Project Type).
A programming language is a set of rules and functions that let us use a computer. Programming languages are designed to make it easy for humans to write complex instructions. They function a lot like human languages: they have explicit grammars and a primitive vocabulary. Scratch is a programming language.
Syntax and grammar
Languages usually consist of the following parts:
- A parser: this converts a string of text into a data structure (Array or Object) that can easily be interpreted.
- An interpreter or compiler: this "understands" the data structure and interprets it.
- Primitives: these are built-in functions and values.
Languages usually have various primitive data types which can be expanded with OOP:
- Numbers, which are parsed as numbers
- Some languages consider integers, floating-point numbers, and doubles to be different data types.
- Strings, which are parsed as text
- Arrays, which are lists of elements
- Objects, which are dictionaries of key-value pairs.
- Functions, which are pieces of code which can be executed with Arguments.
Programming languages relevant to Scratch
Squeak was used to program the 1.x series of Scratch. It is a simple language designed to be human-readable and concise. See Squeak Tutorial for a simple introduction.
Adobe's Flash was used to program Scratch 2.0. It is programmed in ActionScript, which was based on ECMAScript.
Python is a simple interpreted scripting language that is used in the Scratch 2.0 back-end (server-side code). The forums run on DjangoBB, a Python library. Python is also used in many Scratch add-ons, including Kurt.
PHP is another server-side language which was used to build the Scratch 1.x server system (ScratchR).