Computer Language
Functional Programming Languages
Functional programming languages
define every computation as a mathematical evaluation. They focus on the
application of functions. Many of the functional programming languages are
bound to mathematical calculations.
Charity
It is a purely
functional, not-Turing-complete language, which means that all its programs are
guaranteed to terminate. Charity was designed at the University of Calgary, a
public University in Canada.
Clean
It is a purely
functional programming language that supports portability across platforms,
automatic garbage collection, multiple data structures and referential
transparency, which means that a function with a given input will always give
the same output.
Curry
It is a functional logic
programming language that implements functional and logic programming as well
as constraint programming, wherein the relationships between variables are
stated in the form of constraints.
Erlang
It is a concurrent
programming language that includes a sequential subset, which supports
functional programming. Ericsson developed Erlang as a distributed soft
real-time and fault-tolerant language and released it as an open source
computer programming language in 1998. It is one of the most popularly used
functional programming languages.
F#
It targets the .NET
Framework and supports both functional as well as imperative object-oriented
programming. Don Syme at the Microsoft Research developed this language, which
is now being developed at the Microsoft Developer Division. F Sharp, as it is
called, will soon be integrated into the .NET Framework and Visual Studio.
Haskell
Named in honor of
Haskell Curry, a logician, Haskell is a standardized purely functional
language. It supports pattern matching, definable operators, single assignment,
algebraic data types and recursive functions.
Joy
It is a purely
functional language that is based on a composition of functions. Manfred von
Thun of La Trobe University in Australia developed this language.
Kite
It came up in 2006 with
a feature set consisting of a blend of object-oriented and functional
programming features. It is a fast-running language. Interestingly, Kite uses
the pipe character for functional calls rather than using the period or arrow
characters in other languages.
ML
Robin Milner and his
associates at the University of Edinburgh came up with ML in the 1970s. It is
an impure functional language as it supports imperative programming. Standard
ML is popular among compiler writers and is a modular, functional programming language.
Alice is a dialect of Standard ML, which supports distributed computing,
multithreading and constraint programming. Caml is another dialect of ML and is
a statically typed language that supports automatic memory management. Ocaml is
the implementation of Caml that is developed as an open source project. JoCaml
is a version of Ocaml based on join-calculus.
Nemerle
It is a statically typed
programming language that is designed for the .NET platform. Programs in
Nemerle are compiled into an intermediate language bytecode. It supports
functional, imperative, and object-oriented programming.
OPAL
The name stands for
Optimized Applicative Language and is a functional programming language
developed at the Technical University of Berlin.
OPS5
It is a rule-based
production system computer language that became the first language to be used
in an expert system.
Q
It is called Q for being
an equational programming language. It is an interpreted functional language
that was designed by Albert Graf at the University of Mainz in Germany. It can
be described as a set of equations used to evaluate expressions.
Compiled Programming Languages
A compiled language is a
programming language whose implementations are typically compilers (translators
that generate machine code from source code), and not interpreters
(step-by-step executors of source code, where no pre-runtime translation takes
place). (Wikipedia)
Ada
It is a statically
typed, structured, imperative programming language that is based on Pascal. A
team of CII Honeywell Bull that was led by Jean Ichbiah developed Ada. The Ada
compilers are validated for mission-critical systems. Ada is an internationally
standardized computer programming language.
ALGOL
Algorithmic Language, as
it is called, is actually a family of imperative programming languages that was
developed in the middle 1950s. It proved instrumental in the creation of
programming languages like BCPL, B and C. Ole-Johan Dahl and Kristen Nygaard of
the Norwegian Computing Center in Oslo were the brains behind Simula.
C
Dennis Ritchie at the
Bell Telephone Laboratories developed C to be used on the Unix platform. It is
a general-purpose, cross-platform, procedural, imperative programming language.
It is used for implementing system software and application software and is one
of the most-used computer programming languages of today. The development of
C++ and C# was influenced by C.
C++
It consists of a
combination of high-level and low-level language features and is hence
considered as a middle-level programming language. Bjarne Stroustrup of Bell
Labs developed C++ as an extension of the C language. Originally known as ‘C
with Classes’, it came to be known as C++ from 1983. It is a multi-paradigm
language that supports procedural programming, generic programming,
object-oriented programming, and data abstraction.
C#
C Sharp is a
multi-paradigm programming language that supports imperative, generic and
object-oriented programming. It is a part of the Microsoft .NET Framework.
It is similar to C++ in its object-oriented syntax and is also influenced by
Java and Delphi.
CLEO
It is known as the Clear
Language for Expressing Orders and is a computer language for the LEO computer.
COBOL
The name stands for
Common Business-Oriented Language that is designed for the business and finance
domain. COBOL 2002 standard supports object-oriented programming. It is one of
the very old programming languages that are still in use.
Cobra
It is an object-oriented
programming language that runs on .NET and Mono frameworks. Chuck Esterbrook
developed it. Its design is influenced by languages like Python and C#. It
supports static and dynamic typing and is suited for unit tests. Today, it is
an open source project.
D
Originally designed as
an enhancement of C++, it is also influenced by Java, Eiffel, and C#. It is an
object-oriented, imperative, multi-paradigm system programming language
developed by Walter Bright of Digital Mars.
DASL
Acronym of Distributed
Application Specification Language, it is a high-level, strongly typed programming
language that was developed at the Sun Microsystems. It was created with an
intent to be used for developing web applications.
DIBOL
Acronym of Digital
Interactive Business Oriented Language, DIBOL is a general-purpose procedural
imperative programming language. It is fairly similar to COBOL as it’s best
suited for the development of Management Information Systems.
Fortran
It is a procedural,
imperative, general purpose computer programming language that works well for
scientific computations and numeric operations. After IBM developed it in the
1950s, it soon gained popularity in programming. It is very popular in the
field of high-performance computing. It is a structured and compiled
programming language that is a subset of Fortran95. Fortran 2003, a revised
version of Fortran supports object-oriented programming.
Java
It is a general-purpose
computer programming language that is concurrent, class-based, object-oriented,
and specifically designed to have as few implementation dependencies as
possible. Compiled Java code can run on all platforms that support Java without
the need for recompilation. It is a very popular language of the modern times.
JOVIAL
It is a high-order
computer programming language similar to ALGOL. It is best-suited to the design
and development of embedded systems.
Objective-C
It is a reflective
object-oriented programming language that adds messaging services to C.
SMALL
The name stands for
Small Machine Algol-like Language. It provides the programmers with abilities
to write an ALGOL-like code that can be run on small machines.
Smalltalk
It is a reflective,
object-oriented programming language that supports dynamic typing. Alan Kay,
Adele Goldberg, Dan Ingalls, Scott Wallace, Ted Kaehler and their associates at
Xerox PARC developed Smalltalk. They designed it for educational use and it
soon became popular. VisualWorks is a prominent implementation of Smalltalk.
Squeak is a programming language that is in the form of an implementation of
Smalltalk. Scratch is a visual programming language based on Squeak.
Turing
It was developed by Ric
Holt and James Cordy of the University of Toronto, Canada, in 1982. It was
named in honor of the British computer scientist, Alan Turing. This Pascal-like
language is a freeware since 2007.
Visual Basic
It is an event-driven
programming language that is packaged with an integrated development
environment. It inherits many of its features from BASIC. Its graphical
development features make it easy for beginners to learn VB.
Visual FoxPro
It is an object-oriented
and procedural programming language derived from FoxPro. It is integrated with
a relational database system of its own and does not require an additional
programming environment. It supports dynamic programming.
XL
It is created with an
intent to support concept programming, a programming paradigm that focuses on
how concepts residing in a programmer’s mind can be transformed into code
constructs. Programmers can reconfigure XL’s syntax and semantics.
Procedural Programming Languages
Procedural (imperative) programming
implies specifying the steps that the programs should take to reach to an
intended state. A procedure is a group of statements that can be referenced
through a procedure call. Procedures help in the reuse of code. Procedural
programming makes the programs structured and easily traceable for program
flow.
Bliss
It is a system
programming language and was one of the best-known languages of this type till
C came up. W.A. Wolf, D.B. Russell and A.N. Habermann of the Carnegie Mellon
University developed Bliss. It includes exception handling mechanisms,
coroutines and macros while it excludes the goto statement.
ChucK
It is a concurrent and
strongly timed audio programming language that runs on Mac OS X, Linux as well
as Microsoft Windows. It is especially known for the ability it gives to the
programmers to do some modifications even in the running programs.
CLIST
It is a procedural
programming language in the form of a set of commands that need to be executed
in a sequence like that of a batch file.
HyperTalk
It is a high-level
programming language that was intended to be used by programmers at the
beginner’s level. The programmers of this computer language were known as
authors and the act of writing programs was called scripting. HyperTalk was
designed by Dan Winker in 1987. Structurally, it resembles Pascal.
Modula-2
It is a general-purpose
procedural language created in 1978 by Niklaus Wirth at ETH. It is similar to
Pascal and has systems programming and multiprogramming features.
Oberon
Niklaus Wirth, the man
behind Pascal and Modula came up with Oberon in 1986. It was designed as a part
of the Oberon operating system. It is similar to Modula-2 but smaller than it.
Component Pascal
It is a programming
language that seems to be related to Pascal, but is actually incompatible with
it. It is actually a variant of Oberon-2. Lagoona is an experimental
programming language that supports component-oriented programming, a paradigm
of decomposing a system into logical or functional components. Michael Franz, a
student of Niklaus Wirth developed Lagoona. Seneca, better known as Oberon-2 is
an extension of the Oberon programming language.
MATLAB
It is a numerical
computing environment and a programming language that enables matrix
computations, function plotting, and algorithm implementation. It can also be
used for user interface creation. MathWorks created MATLAB.
Occam
It is an imperative
procedural language that was developed by David May and his colleagues at
INMOS. It is similar to Pascal. Occam-pi is a variant of Occam that has been
extended to include nested protocols, recursion, protocol inheritance, array
constructors and run-time process creation.
PL/C
It was developed for
being used to teach programming. It was created at the Cornell University in
the 1970s.
PL/I
It is an imperative
computer programming language targeted at scientific and engineering
applications. Mainly intended to perform data processing, it also supports
structured programming and recursion.
Rapira
It is a procedural programming
language that was used in teaching computer programming in Soviet schools.
Developed in the USSR, initially this language had Russian-based keywords.
English keywords were incorporated later.
RPG
This programming
language is used for business applications. It is available with the IBM’s
System I midrange computers.
Scripting Languages
Scripting languages are
programming languages that control an application. Scripts can execute
independent of any other application. They are mostly embedded in the
application that they control and are used to automate frequently executed
tasks like communicating with external programs.
AppleScript
It is a scripting
language that is built into the Mac OS.
Awk
Awk was born in the Bell
Labs in the 1970s. It is used for processing text-based data in data streams
and files and uses the string datatype, arrays, and regular expressions.
BeanShell
It is a java scripting
language that is syntactically similar to Java and runs on the Java Runtime
Environment along with scripting commands and syntax.
ColdFusion
It is an application
server and software development framework that comes with an associated
scripting language known as ColdFusion Markup Language. It is known as CFML and
is similar to HTML in terms of its syntax.
F-Script
It is an object-oriented
scripting language that is closely similar to Smalltalk with an additional
feature of array programming.
JASS
It is an event-driven
scripting language that provides the programmers with an extensive API.
Maya Embedded Language
Abbreviated as MEL, it
is a scripting language that is used to support tasks on the Maya software. Its
syntax resembles that of Perl.
Mondrian
This scripting language
is aimed for Internet use and is looked upon as being a combination of Haskell
and Java.
PHP
PHP is one of the very
popularly used general purpose scripting languages. It is developed for
creating dynamic web pages and supports a command line interface capability.
Revolution
It is a rapid
application development language that is based on HyperTalk. It is a
cross-platform language that supports dynamic typing.
Tcl
It is a scripting
language, which is believed to be easy to learn. It is used for rapid
prototyping and has found utility in embedded systems.
VBScript
It is an active
scripting language that Microsoft developed as a variation of Microsoft Visual
Basic. VBScript is a default component with each of the Desktop releases of
Microsoft Windows.
Windows PowerShell
It is Microsoft’s
command line shell and a scripting language. Released in 2006, it is available
with Windows XP, Windows Vista as also with Windows Server 3003 and Windows
Server 2008. It works in collaboration with Microsoft .NET Framework by
means of executables, forms of standalone applications, regular .NET classes,
cmdlets that are specialized .NET classes and scripts, the compositions of
cmdlets and imperative logic.
Markup Languages
A markup language is an
artificial language that uses annotations to text that define how the text is
to be displayed.
Curl
It is a reflective
object-oriented programming language. It is a markup language similar to HTML.
Curl is an object-oriented programming language supporting multiple
inheritance.
SGML
Standardized General
Markup Language (SGML) has descended from IBM’s Generalized Markup Language. It
is an ISO standard metalanguage that can define markup languages for documents.
It was designed with the intent of sharing machine-readable documents of large
projects that had to be retained for long years.
HTML
Hypertext Markup
Language, abbreviated as HTML, is the most prominent markup language that is
used for web pages. It is written in the form of HTML tags that are surrounded
by angular brackets. HTML tags describe the appearance of the text in a
document and can be embedded into certain other code to affect the web browser
behavior. HTML uses the SGML default syntax.
XML
The name stands for
Extensible Markup Language. It is extensible because it allows the users to
define their own XML elements. It supports the sharing of structured data over
the Internet and the encoding and serializing of data. It originated as a
subset of SGML. XPath is the XML Path Language that is used to select nodes
from an XML document. It supports the computation of values. XQuery is used to
query the collections of XML data. Extensible Stylesheet Language
Transformations (XSLT) is an XML-based language that is used for the
transformation of XML documents into human-readable formats. Apache Ant is a
tool for the automation of software build processes. It uses XML to describe
the build processes.
XHTML
It is a markup language
that is similar to HTML and follows the XML syntax. It is midway between HTML
and XML. XHTML documents allow automated processing of data.
Logic-based Programming Languages
Logic programming is a type of
programming paradigm which is largely based on formal logic. Any program
written in a logic programming language is a set of sentences in logical form,
expressing facts and rules about some problem domain. (Wikipedia)
ALF
Algebraic Logic Functional
Programming Language is a multi-paradigm programming language that is a
combination of functional programming and logic programming. ALF program
statements are compiled into instructions of an abstract machine. An emulator
written in C executes the programs of the abstract machine.
Fril
Fril language was
designed by Trevor Martin and Jim Baldwin at the University of Bristol in the
1980s. It is for first-order predicate calculus. It supports fuzzy sets and
metaprogramming and is based on the Prolog syntax.
Janus
Janus supports
concurrent and constraint programming.
Leda
This computer
programming language is a blend of logic-based, functional, imperative and
object-oriented programming. It is thus one of the multi-paradigm languages.
Oz
It is a multi-paradigm
language that supports functional, logic-based, imperative and object-oriented
programming. Oz also supports concurrent and distributed programming.
Constraint programming that is supported by Oz is one of the strengths of this
language.
Poplog
It is a powerful
multi-paradigm software development environment whose core language is POP-11.
All the languages of this development environment share a common language
editor and are incrementally compiled programming languages.
Prolog
It is a general-purpose
programming language that supports logic programming and is often linked with
artificial intelligence and computational linguistics. The language is
declarative and the program logic is expressed in the form of relations. Mercury
is a functional logic programming language that is based on Prolog. Strawberry
Prolog is a dialect of Prolog, which is supposed to be easy to use. Visual
Prolog is a strongly typed extension of Prolog that supports object-oriented
programming. It is a compiled logic-based programming language.
ROOP
It is a multi-paradigm
language that is built on C++. It is intended to be used with artificial
intelligence systems. Its features offer a blend of procedural, logic-based,
and object-oriented programming.
Concurrent Programming Languages
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.
In the latter case, the term distributed computing is used. (Wikipedia)
ABCL
It is actually a family
of Actor-Based Concurrent Languages, which was developed in Japan during the
1980s and the 1990s. ABCL/1, ABCL/R, and ABCL/R2 are some members of the ABCL
family.
Afnix
It is a multi-threaded
functional programming language. Its interpreter is written in C++. Its runtime
engine supports both 32 and 64 bit platforms.
Cilk
Created at the MIT
Laboratory in 1994, Cilk supports multithreaded parallel programming.
Concurrent Pascal
Per Brinch Hansen, a
Danish-American computer scientist created Concurrent Pascal for writing
operating systems and programming real-time systems.
E
It is an object-oriented
programming language that supports distributed programming. Mark Miller, Dan
Bornstein and associates at the Electric Communities developed E in 1997. Its
syntax resembles that of Java.
Joule
Joule is a concurrent
dataflow programming language that preceded the E programming language. It is
used for distributed applications.
Limbo
Developed at the Bell Labs,
Limbo is used for programming distributed systems. Its striking feature is its
compiler’s ability to generate architecture-independent object code. Limbo is
used for applications running on Inferno operating system. Alex that was
initially a part of the Plan 9 operating system is the predecessor of Limbo.
Pict
It is a statically typed
programming language, which is in the experimental stage today.
SALSA
Short for Simple Actor
Language System and Architecture, SALSA supports concurrent programming, message
passing, and distributed computing. It uses Java code for portability.
SR
Acronym of Synchronizing
Resources, SR is a concurrent programming language.
Object-Oriented Programming Languages
Object-oriented programming (OOP) is a programming paradigm
based on the concept of “objects”, which may contain data, in the form of
fields, often known as attributes; and code, in the form of procedures, often
known as methods. In OOP, computer programs are designed by making them out of
objects that interact with one another. (Wikipedia)
Agora
It is a prototype-based
object-oriented programming language that features message passing mechanisms.
BETA
It is an object-oriented
programming language wherein classes and procedures revolve around the same
concept and classes are defined as attributes of objects. It has strong
abstraction mechanisms. BETA also supports nested classes.
Cecil
This object-oriented
language was created by Craig Chambers at the University of Washington. It is
similar to Objective-C and Modula-3.
Lava
Lava is a visual
object-oriented interpreter-based programming language.
Lisaac
It was the first
compiled object-oriented programming language that was based on prototype
concepts. It also supports system programming.
MOO
It is a dynamically
typed prototype-based programming language that supports object-oriented
programming. It supports exception handling mechanisms and looping constructs.
Moto
It is an open source
server-side programming language that comes with state and session management
objects and database connectivity.
Object-Z
It was developed at the
University of Queensland, Australia. It extends the Z programming language by
adding object-oriented features to it.
Obliq
It is an interpreted
computer programming language that offers object-oriented programming features.
It supports untyped variables and was designed for distributed and
multithreaded computations.
Oxygene
Based on Object Pascal,
Oxygene is an object-oriented programming language with a rich feature set.
Previously, it was known as ‘Chrome’.
Pliant
It is based on a dynamic
compiler and comes with a unique ability of supporting low-level instruction
lists as well as high-level expressions.
Prograph
It is a visual
object-oriented multi-paradigm language that uses symbols to signify the
actions to be performed on data.
REBOL
REBOL is the acronym
given to Relative Expression Based Object Language. It is designed for use on
distributed platforms and in network communications.
Scala
The name Scala stands
for Scalable Language. It is a multi-paradigm programming language, which
offers object-oriented and functional programming features.
Self
It is an object-oriented
prototype-based computer programming language. NewtonScript is used to write
programs for Apple Newton and is largely influenced by Self.
Slate
This object-oriented
programming language is based on the concept of prototypes. It derives some of
its features from Smalltalk and some from the Self language. The Slate design
is intended at providing the programmers with an operating system-like
environment.
XOTcl
It is an object-oriented
extension of the Tool Command Language that supports metaclasses and dynamic
classes and methods.
IO
It is a pure
object-oriented programming language having a prototype-based object model. It
is small in size and can be executed on small portable virtual machines.
Comments
Post a Comment