ABC is an imperative language originally designed as a replacement for BASIC: interactive, very easy to learn, but structured, high-level, and easy to use. ABC has been designed iteratively, and the present version is the 4th iteration. The previous versions were called B (not to be confused with the predecessor of C).
It is suitable for general everyday programming, the sort of programming that you would use BASIC, Pascal, or AWK for. It is not a systems-programming language. It is an excellent teaching language, and because it is interactive, excellent for prototyping. It is much faster than Unix 'bc' for doing quick calculations.
ABC programs are typically very compact, around a quarter to a fifth the size of the equivalent Pascal or C program. However, this is not at the cost of readability, on the contrary in fact (see the examples below).
ABC is simple to learn due to the small number of types in the language (five). If you already know Pascal or something similar you can learn the whole language in an hour or so. It is easy to use because the data-types are very high-level.
The five types are: