Overview
Different languages have different purposes, so it makes sense to talk about different kinds, or
types, of languages. Some types are:
Machine languages, that are interpreted directly in hardware
Assembly languages, that are thin wrappers over a corresponding machine language
High-level languages, that are anything machine-independent
System languages, that are designed for writing low-level tasks, like memory and process
management
Scripting languages, that are generally extremely high-level and powerful
Domain-specific languages, that are used in highly special-purpose areas only
Visual languages, that are non-text based
Esoteric languages, that are not really intended to be used, but are very interesting, funny, or
educational in some way
These types are not mutually exclusive: Perl is both high-level and scripting; C is considered
both high-level and system.
Other types people have identified: Toy, Educational, Very High-Level, Compiled, Interpreted,
Free-Form, Curly Brace, Applicative, Von Neumann, Expression-Oriented, Persistent,
Concurrent, Glue, Intermediate, Quantum, Hybrid. See Wikipedia’s category page on
programming language classificatio