|
Programming languages are used for controlling the behavior of a machine (often a computer). Like human languages, programming languages have syntactic and semantic rules used to define meaning. // Programming language statements typically have conventions for: statement separators; statement terminators; and line continuation A statement separator is used to demarcate boundaries between two separate statements. ...
// Different languages use different symbols for the concatenation operator. ...
String functions are used in computer programming languages to manipulate a string or query information about a string (some do both). ...
An evaluation strategy (or reduction strategy) for a programming language is a set of (usually deterministic) rules for defining the evaluation of expressions under β-reduction. ...
The nearest living sibling to ALGOL 68 may be C++, making this a good comparison candidate: C++ doesnt have: PROC - nested functions, OP and PRIO - definable operator symbols and priorities, garbage collection, use before define, formatted transput using complex formatting declarations, := - assignment operation symbol (to avoid confusion with equal...
The C and C++ programming languages are closely related, as C++ grew out of C and is many ways a superset of the latter. ...
// C and Pascal are often compared* to each other, sometimes heatedly, probably because the languages have similar times of origin, influences, and purposes, and so represent two philosophical approaches to a similar need. ...
This is a comparison of the Java programming language with the C++ programming language. ...
This is a comparison of the C# programming language with the Java programming language. ...
The original . ...
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
A BlueGene supercomputer cabinet. ...
The term natural language is used to distinguish languages spoken and signed (by hand signals and facial expressions) by humans for general-purpose communication from constructs such as writing, computer-programming languages or the languages used in the study of formal logic, especially mathematical logic. ...
For other uses, see Syntax (disambiguation). ...
Semantics (Greek semantikos, giving signs, significant, symptomatic, from sema, sign) refers to the aspects of meaning that are expressed in a language, code, or other form of representation. ...
There are thousands of programming languages[1] and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but many professional programmers use dozens of different languages during their career. There are a lot of kinds of listing. ...
A programmer or software developer is someone who programs computers, that is, one who writes computer software. ...
General comparison
The following table compares general and technical information for a selection of commonly used programming languages. See the individual languages' articles for further information. A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
| Language | General model of execution | Influences | Paradigm(s) | Typing discipline | Introduced | | Ada | Compilation | Algol, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005) | concurrent, distributed, generic, imperative, object-oriented | static, strong, safe, nominative | 1983 | | APL | Usually interpreted, some compilers exist | | array-oriented programming | "types" are basically characters and numbers | 1964 | | BASIC | Interpreted and compiled | | | | 1963 | | C | Compilation | Algol, B | imperative, flow-driven | static, weak, unsafe | 1973 | | C++ | Compilation | C, Simula, Algol 68 | imperative, object-oriented, generic,multi-platform | static, strong, unsafe, nominative | 1985 | | C# | JIT compilation | Delphi, Java, C++, Ruby | imperative, object-oriented, generic, multi-platform | static, strong, both safe and unsafe | 2000 | | Clean | Compilation | Haskell | functional, generic | static, strong, type inference | 1987 | | COBOL | Compilation | FLOW-MATIC, COMTRAN | imperative, object-oriented | weak/strong | 1959 | | ColdFusion | JIT compilation | HTML | procedural, functional, object-oriented | dynamic (duck), weak | 1995 | | Common Lisp | Compilation | Lisp, Smalltalk | imperative, functional, object-oriented | dynamic, strong, safe | 1984 | | D | Compilation | C , C++, Java, C# | imperative, object-oriented, generic | static, strong, unsafe, contracts | 2000 | | Eiffel | Compilation | Ada, Simula | imperative, object-oriented, generic | static, strong, safe, nominative, contracts | 1985 | | Erlang | Compilation / Interpretation / JIT compilation | Prolog, Ericsson Pascal, CSP | functional, concurrent, distributed, multi-platform | dynamic, weak | 1987 | | Forth | Interpretation / Compilation | RPN, Assembly | imperative, stack-oriented | typeless | 1977 | | Fortran | Compilation | APL (Fortran 90), Algol 68 (Fortran 90), C (Fortran 2003) | imperative, procedural, object-oriented | static, strong, safe, nominative | 1957 | | Haskell | Interpretation / Compilation | Miranda, ML, λ-calculus | functional, generic, lazy evaluation | static, strong, type inference | 1990 | | Io | Interpretation | Smalltalk, Self, Lua, NewtonScript, Act1 | imperative, object-oriented | dynamic | 2002 | | Java | Interpretation / JIT compilation | C++, Objective-C, C#[2] | imperative, object-oriented, multi-platform, generic | static, strong | 1994 | | JavaScript | Interpretation | C, Self, awk, Perl | imperative, object-oriented, functional | dynamic | 1995 | | Lisp | Interpretation, Compilation | λ-calculus | functional | dynamic, strong | 1958 | | Lua | Interpretation, JIT compilation | Python, Icon, Lisp, Scheme | procedural, imperative, reflective | dynamic, strong, safe | 1993 | | Mathematica | Interpretation | Lisp, APL | functional, procedural | dynamic, strong | 1986 | | Objective-C | Compilation | C, Smalltalk | imperative, object-oriented | static/dynamic hybrid, strong | 1986 | | Objective Caml | Interpretation / Compilation | ML, Lisp | object-oriented, functional, imperative, generic | static, safe, structural, type inference | 1996 | | Object Pascal | Compilation | Pascal | imperative, object-oriented, multi-platform | static, strong, safe (but unsafe allowed), nominative | 1985 | | Pascal | Compilation | Algol | imperative | static, strong, safe | 1970 | | Perl | Interpretation | C, shell, awk, sed, Lisp | functional, object-oriented, procedural | dynamic | 1987 | | PHP | Interpretation | Perl, C, C++, Java | imperative, object-oriented | dynamic, weak | 1995 | | Prolog | Compilation (WAM) | | logic-oriented | dynamic, strong | 1972 | | Python | Interpretation / JIT compilation | ABC, C, Perl, Modula-3 | imperative, object-oriented, functional, aspect-oriented | dynamic (duck), strong | 1991 | | Ruby | Interpretation | Smalltalk, Perl, Python, Lisp | imperative, object-oriented, functional, aspect-oriented | dynamic (duck), strong | 1995 | | Scala | Interpretation / Compilation | Java | object-oriented, functional, generic | static, strong, partial type inference | 2003 | | Scheme | Interpretation / Compilation | Lisp, Algol 60 | functional | dynamic | 1975 | | Smalltalk | JIT compilation | Sketchpad, Simula | object-oriented, functional, concurrent, event-driven, imperative, declarative | dynamic, strong, safe, duck | 1971 | | Visual Basic | Compilation | QuickBASIC | component-oriented, event-driven | static/dynamic hybrid, weak/strong hybrid, safe, nominative | 1991 | | Visual Basic .NET | JIT compilation | Visual Basic | object-oriented, event-driven | static, strong | 2001 | | Visual Prolog | compilation | Prolog, C++, C#, Haskell, Standard ML | logical, object-oriented, functional, event-driven, imperative, declarative | static, strong, safe, nominative/structural | 1985 | A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Ada is a structured, statically typed imperative computer programming language designed by a team led by Jean Ichbiah of CII Honeywell Bull under contract to the United States Department of Defense during 1977â1983. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. ...
Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
For other uses, see Small Talk (disambiguation). ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
Concurrent programming languages are programming languages that use language constructs for concurrency. ...
This article or section should be merged with Distributed computing Distributed programming falls out of the use of computers to form networks. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
APL (for A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. ...
BASIC is a family of high-level programming languages. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. ...
B was the name of a programming language developed at Bell Labs. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Flow-driven programming is a computer programming paradigm used by traditional programs, which follow their own control flow pattern, only sometimes changing course at branch points. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
Simula introduced the object-oriented programming paradigm and thus can be considered the first object-oriented programming language and a predecessor to Smalltalk, C++, Java, and all modern class-based object-oriented languages. ...
ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and a more rigorously defined syntax and semantics. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
The title given to this article is incorrect due to technical limitations. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Delphi is the primary programming language of Borland Delphi. ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Ruby is a reflective, object-oriented programming language. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Clean is a purely functional programming language that, in some respects, is similar to the better-known Haskell programming language. ...
Look up compilation in Wiktionary, the free dictionary. ...
Haskell is a standardized pure functional programming language with non-strict semantics, named after the logician Haskell Curry. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
COBOL is a third-generation programming language, and one of the oldest programming languages still in active use. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
FLOW-MATIC, Originally B-0, and possibly the first English-like Data Processing language. ...
COMTRAN (COMmercial TRANslator) is a programming language which served as the forerunner to the COBOL language. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
This article or section does not adequately cite its references or sources. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
HTML, short for HyperText Markup Language, is the predominant markup language for the creation of web pages. ...
This does not adequately cite its references or sources. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, duck typing is a form of dynamic typing in which a variables value itself implicitly determines what the variable can do. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, standardised by ANSI X3. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
For other uses, see Small Talk (disambiguation). ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
D is an object-oriented, imperative system programming language designed by Walter Bright of Digital Mars as a re-engineering of C/C++. He has done this by re-designing many C++ features, and borrowing ideas from other programming languages. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
The title given to this article is incorrect due to technical limitations. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Design by contract, DBC or Programming by contract is a methodology for designing computer software. ...
Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and programmer productivity. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Ada is a structured, statically typed imperative computer programming language designed by a team led by Jean Ichbiah of CII Honeywell Bull during 1977â1983. ...
Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Design by contract, DBC or Programming by contract is a methodology for designing computer software. ...
Erlang is a general-purpose concurrent programming language and runtime system. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Prolog is a logic programming language. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Concurrent programming languages are programming languages that use language constructs for concurrency. ...
This article or section should be merged with Distributed computing Distributed programming falls out of the use of computers to form networks. ...
Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Forth is a programming language and programming environment, initially developed by Charles H. Moore at the US National Radio Astronomy Observatory in the early 1970s. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Postfix notation is a mathematical notation wherein every operator follows all of its operands. ...
An assembly language is a low-level language used in the writing of computer programs. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
A stack-oriented programming language is one that relies on a stack machine model for passing parameters. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
APL (for A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
This does not adequately cite its references or sources. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Haskell is a standardized pure functional programming language with non-strict semantics, named after the logician Haskell Curry. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Miranda is a non-strict purely functional programming language developed by Professor David Turner as a successor to his earlier programming languages SASL and KRC, using some concepts from ML and Hope. ...
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of...
The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In computer programming, lazy evaluation is a technique that attempts to delay computation of expressions until the results of the computation are known to be needed. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Wikibooks Programming has more about this subject: Io Io is a pure object-oriented programming language inspired by Smalltalk, Self, Lua, Lisp and NewtonScript. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
For other uses, see Small Talk (disambiguation). ...
This article or section does not cite its references or sources. ...
Lua has a number of meanings: For the Roman goddess, see Lua. ...
NewtonScript is a prototype based programming language created to write programs for the Apple Newton. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...
The title given to this article is incorrect due to technical limitations. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
JavaScript is the name of Netscape Communications Corporations and now the Mozilla Foundations implementation of the ECMAScript standard, a scripting language based on the concept of prototype-based programming. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
This article or section does not cite its references or sources. ...
AWK is a general purpose computer language that is designed for processing text-based data, either in files or data streams. ...
Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computing, the Lua (pronounced LOO-ah, or in IPA) programming language is a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Python is a high-level programming language first released by Guido van Rossum in 1991. ...
Icon is a very high-level programming language featuring goal directed execution and excellent facilities for managing strings and textual patterns. ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
The Scheme programming language is a functional programming language and a dialect of Lisp. ...
This does not adequately cite its references or sources. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
In computer science, reflection is the process by which a computer program of the appropriate type can be modified in the process of being executed, in a manner that depends on abstract features of its code and its runtime behavior. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
This article is about computer software. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
APL (for A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
This does not adequately cite its references or sources. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
For other uses, see Small Talk (disambiguation). ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Objective Caml (OCaml) is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy and others in 1996. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
A structual type system is a major class of type system, in which type compatibility and equivalence are determined by the types structure, and not through explicit declarations. ...
Object Pascal is an object oriented derivative of Pascal mostly known as the primary programming language of Borland Delphi. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
Screenshot of a sample Bash session, taken on Gentoo Linux. ...
AWK is a general purpose computer language that is designed for processing text-based data, either in files or data streams. ...
The correct title of this article is . ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
This does not adequately cite its references or sources. ...
PHP (PHP:Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic web pages. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Prolog is a logic programming language. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
WAM may stand for: Warren Abstract Machine Wet and messy sexual fetishism This page expands and disambiguates a three-letter-abbreviation. ...
Logic programming (which might better be called logical programming by analogy with mathematical programming and linear programming) is, in its broadest sense, the use of mathematical logic for computer programming. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Python is a high-level programming language first released by Guido van Rossum in 1991. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
ABC is an imperative general-purpose programming language and programming environment from CWI, Netherlands. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...
This article or section does not adequately cite its references or sources. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In software engineering, the programming paradigms of aspect-oriented programming (AOP), and aspect-oriented software development (AOSD) attempt to aid programmers in the separation of concerns, specifically cross-cutting concerns, as an advance in modularization. ...
In computer science, duck typing is a form of dynamic typing in which a variables value itself implicitly determines what the variable can do. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Ruby is a reflective, object-oriented programming language. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...
Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...
Python is a high-level programming language first released by Guido van Rossum in 1991. ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
In software engineering, the programming paradigms of aspect-oriented programming (AOP), and aspect-oriented software development (AOSD) attempt to aid programmers in the separation of concerns, specifically cross-cutting concerns, as an advance in modularization. ...
In computer science, duck typing is a form of dynamic typing in which a variables value itself implicitly determines what the variable can do. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Scala is a multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Generic programming is a style of computer programming where algorithms are written in an extended grammar and are made adaptable by specifying variable parts that are then somehow instantiated later by the compiler with respect to the base grammar. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
The Scheme programming language is a functional programming language and a dialect of Lisp. ...
In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
Algol (β Per / Beta Persei) is a bright star in the constellation Perseus. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
For other uses, see Small Talk (disambiguation). ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Sketchpad was a revolutionary computer program written by Ivan Sutherland in 1963 in the course of his PhD thesis. ...
Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Parallel programming (also concurrent programming), is a computer programming technique that provides for the execution of operations concurrently, either within a single computer, or across a number of systems. ...
Event-driven programming is a computer programming paradigm. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Declarative programming is a term with two distinct meanings, both of which are in current use. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Visual Basic (VB) is an event driven programming language and associated development environment from Microsoft for its COM programming model. ...
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ...
Microsoft QuickBASIC 4. ...
Software component representations: above the representation used in UML, below the representation commonly used by Microsofts COM objects. ...
Event-driven programming is a computer programming paradigm. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Visual Basic . ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Visual Basic (VB) is an event driven programming language and associated development environment from Microsoft for its COM programming model. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Event-driven programming is a computer programming paradigm. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Visual Prolog, also formerly known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. ...
Look up compilation in Wiktionary, the free dictionary. ...
Prolog is a logic programming language. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
The title given to this article is incorrect due to technical limitations. ...
// Haskell may refer ro: Haskell (programming language), a standardized pure functional programming language with non-strict semantics Haskell Indian Nations University, a four year degree granting university in Lawrence, Kansas which offers free tuition to members of registered Native American tribes in the United States Haskell Free Library and Opera...
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. ...
Logic programming is a declarative programming paradigm in which a set of attributes that a solution should have are specified rather than set of steps to obtain such a solution. ...
Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ...
Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...
Event-driven programming is a computer programming paradigm. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Declarative programming is a term with two distinct meanings, both of which are in current use. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ...
Expressiveness | Language | Statements ratio[3] | Lines ratio[4] | | C | 1 | 1 | | C++ | 2.5 | 1 | | Fortran | 2.5 | .8 | | Java | 2.5 | 1.5 | | MS Visual Basic | 4.5 | ? | | Perl | 6 | 6 | | Smalltalk | 6 | 6.25 | | Python | 6 | 6.5 | The literature on programming languages contains an abundance of informal claims about their relative expressive power, but there's no framework for formalizing such statements nor for deriving interesting consequences.[5] This chart provides two measures of expressiveness from two different sources. An additional measure of expressiveness, in GZip bytes, can be found with the Compare to tool on the The Computer Language Benchmarks Game.
Benchmarks Benchmarks are designed to mimic a particular type of workload on a component or system. The computer programs used for compiling some of the benchmark data in this section may not have been fully optimized, and the relevance of the data is disputed. The most accurate benchmarks are those that are customized to your particular situation. Other people's benchmark data may have some value to others, but proper interpretation brings many challenges. See this page about flawed benchmarks and comparisons. The Computer Language Benchmarks Game site contains a large number of micro-benchmarks of reader-contributed code snippets, with an interface that generates various charts and tables comparing specific programming languages and types of tests. In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it. ...
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it. ...
See also A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
References - ^ As of May 2006 Diarmuid Pigott's Encyclopedia of Computer Languages hosted at Murdoch University, Australia lists 8512 computer languages.
- ^ In Java 5.0, several features (the enhanced for loop, autoboxing, varargs, annotations and enums) were introduced, after proving themselves useful in the similar (and competing) language C#. [1][2][3]
- ^ Data from Code Complete. The Statements ratio column "shows typical ratios of source statements in several high-level languages to the equivalent code in C. A higher ratio means that each line of code in the language listed accomplishes more than does each line of code in C.
- ^ The ratio of line count tests won by each language to the number won by C when using the Compare to feature at http://shootout.alioth.debian.org/debian/c.php. Last updated May, 2006. C gcc was used for C, C++ g++ was used for C++, Fortran G95 was used for Fortran, Java JDK Server was used for Java, and Smalltalk GST was used for Smalltalk.
- ^ From On the Expressive Power of Programming Languages, Matthias Felleisen, ESOP '90 3rd European Symposium on Programming.
For the Manfred Mann album, see 2006 (album). ...
Murdoch University is a university with its main campus at Murdoch, 14km south of Perth, Western Australia, along South Street near the Kwinana Freeway ( ). It commenced operations as WAs second university in 1973, and opened its doors to its first students in 1975. ...
For each (or foreach) is a computer language idiom for traversing items in a collection. ...
In computer science, an object type (a. ...
In computer programming, a variadic function is a function of variable arity; that is, one which can take different numbers of arguments. ...
Annotation is extra information associated with a particular point in a document or other piece of information. ...
In computer programming, an enumerated type is a data type whose set of values is a finite list of identifiers chosen by the programmer. ...
The title given to this article is incorrect due to technical limitations. ...
Code Complete (ISBN 1556154844) is a 1993 software development book by Steve McConnell urging developers to get past code and fix programming and the big design up front waterfall model. ...
External links - 99-bottles-of-beer.net One program in 1071 variations
- The Computer Language Benchmarks Game at Alioth
- Language Study — Syntax across languages.
- Programming Language Comparison — A comparison of nine programming languages and related information.
- Computer Language Shootout Scorecard — Comparison of benchmark results for dozens of languages.
- Scriptometer scores — Multiple comparisons of 26 programming languages.
- Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java — PDF — 2003 study
- An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl — PDF — March 2000 refereed journal paper
- ABAP2Java.com Comparision and Translation of ABAP and Java
- An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program — PDF — March 2000 technical report
- Comparing Web Languages in Theory and Practice — PDF — Research to fulfill Kristofer J. Carlson's master's degree requirements.
- The Encyclopedia of Computer Languages — As of May 2006, the encyclopedia lists 8512 computer languages with 17837 bibliographic records featuring 11064 extracts.
- PLEAC Programming Language Examples Alike Cookbook.
- The hundred-year language by Paul Graham. Keynote from PyCon2003 (about Python): how languages evolve and what increase in CPU speed might bring us.
|