Programming Language - Taxonomies

Taxonomies

For more details on this topic, see Categorical list of programming languages.

There is no overarching classification scheme for programming languages. A given programming language does not usually have a single ancestor language. Languages commonly arise by combining the elements of several predecessor languages with new ideas in circulation at the time. Ideas that originate in one language will diffuse throughout a family of related languages, and then leap suddenly across familial gaps to appear in an entirely different family.

The task is further complicated by the fact that languages can be classified along multiple axes. For example, Java is both an object-oriented language (because it encourages object-oriented organization) and a concurrent language (because it contains built-in constructs for running multiple threads in parallel). Python is an object-oriented scripting language.

In broad strokes, programming languages divide into programming paradigms and a classification by intended domain of use. Traditionally, programming languages have been regarded as describing computation in terms of imperative sentences, i.e. issuing commands. These are generally called imperative programming languages. A great deal of research in programming languages has been aimed at blurring the distinction between a program as a set of instructions and a program as an assertion about the desired answer, which is the main feature of declarative programming. More refined paradigms include procedural programming, object-oriented programming, functional programming, and logic programming; some languages are hybrids of paradigms or multi-paradigmatic. An assembly language is not so much a paradigm as a direct model of an underlying machine architecture. By purpose, programming languages might be considered general purpose, system programming languages, scripting languages, domain-specific languages, or concurrent/distributed languages (or a combination of these). Some general purpose languages were designed largely with educational goals.

A programming language may also be classified by factors unrelated to programming paradigm. For instance, most programming languages use English language keywords, while a minority do not. Other languages may be classified as being deliberately esoteric or not.

Read more about this topic:  Programming Language

Other articles related to "taxonomies":

Decision Support Matrix - Taxonomies
... Another taxonomy for DSS has been created by Daniel Power ... Using the mode of assistance as the criterion, Power differentiates communication-driven DSS, data-driven DSS, document-driven DSS, knowledge-driven DSS, and model-driven DSS ...
Thomas Vander Wal - Concepts - Folksonomy
... It refers to taxonomies created by users applying their own tags to pieces of information (including articles, pictures, and websites) ... These user generated taxonomies stand in contrast to professionally created ontologies and taxonomies used for resource discovery and retrieval in more traditional knowledge organization systems ...
Rhetoric Of Science - Developments and Trends - Incommensurability
... Kuhn sought to determine ways of representing concepts and taxonomies by frames (Barker 224-230) ... milieu accounted for in two incommensurable taxonomies, and that this compatibility is the platform for rational comparison between rival taxonomies (Barker 230-231) ...
Transfer Of Learning - Transfer Taxonomies
... Taxonomies are concerned with distinguishing different types of transfer, and therefore less involved with labeling the actual vehicle of transfer, i.e ... Hence, a key problem with many transfer taxonomies is that they offer an excessive number of labels for different types of transfer without engaging in a discussion of the underlying concepts that ... from the effect-based distinction between negative and positive transfer, taxonomies have largely been constructed along two, mostly tacit, dimensions ...
Taxonomy - Non-biological Taxonomies
... Taxonomies of the more generic kinds of things typically stem from philosophical investigations ... Anthropologists have observed that taxonomies are generally embedded in local cultural and social systems, and serve various social functions ... Other taxonomies, such as those analyzed by Durkheim and Lévi-Strauss, are sometimes called folk taxonomies to distinguish them from scientific taxonomies ...