Kinds of Computer Languages
- Imperative
- Specifies how a computation is to be done.
- Examples: C, C++, C#, Fortran, Java
- Declarative
- Specifies what computation is to be done.
- Examples: Haskell, ML, Prolog
- von Neumann
- One whose computational model is based on the von Neumann architecture.
- Basic means of computation is through the modification of variables (computing via side effects).
- Statements influence subsequent computations by changing the value of memory.
- Examples: C, C++, C#, Fortran, Java
- Object-oriented
- Program consists of interacting objects.
- Each object has its own internal state and executable functions (methods) to manage that state.
- Object-oriented programming is based on encapsulation, modularity, polymorphism, and inheritance.
- Examples: C++, C#, Java, OCaml, Simula 67, Smalltalk
- Scripting
- An interpreted language with high-level operators for "gluing together" computations.
- Examples: AWK, Perl, PHP, Python, Ruby
- Functional
- One whose computational model is based on the recursive definition of functions (lambda calculus).
- Examples: Haskell, Lisp, ML.
- Parallel
- One that allows a computation to run concurrently on multiple processors.
- Examples
- Libraries: POSIX threads, MPI
- Languages: Ada, Cilk, OpenCL, Chapel, X10
- Architecture: CUDA (parallel programming architecture for GPUs)
- Domain specific
- Many areas have special-purpose languages to facilitate the creation of applications.
- Examples
- YACC for creating parsers
- LEX for creating lexical analyzers
- MATLAB for numerical computations
- SQL for database applications
- Markup
- Not programming languages in the sense of being Turing complete, but widely used for document preparation.
- Examples: HTML, XHTML, XML
No comments:
Post a Comment