Programming languages are tools for writing software. A language has three main components:
- Syntax: defines the form of programs; how expressions, commands, declarations are built and put together to form a program
- Semantics: give meaning to programs; how they behave when they are executed
- Implementation: software system that can read a program and execute it in a machine, plus useful tools (editors, debuggers, etc)