Alphabetical list of programming languages
Most of the language descriptions have been snipped from resource pages
conserning them.
If you are looking for a development enviroment for a
given language and can not find one on the one of the relevant pages
listed below, the links on the index page
might prove helpful.
Back to index.
<bigwig> is a high-level programming language for developing interactive
Web services. Complete specifications are compiled into a conglomerate of
lower-level technologies such as HTML, CGI Scripts, JavaScript, HTTP
Authentication, and Java Applets.
The <bigwig> Project
[...] It embodies a rich set of functions and operators, a modern graphical
user interface with many widgets and automatic synchronization of widgets and
variables, asynchronous execution of functions associated with variables and
events, dynamic loading of user compiled subroutines, and many other features.
Execution is by a rather efficient interpreter. A+ was created at Morgan
Stanley. Primarily used in a computationally-intensive business environment,
many critical applications written in A+ have withstood the demands of real
world developers over many years. Written in an interpreted language, A+
applications tend to be portable.
A+: a programming language for actual programmers
ABC is an interactive programming language and
environment for personal computing, originally intended as a good
replacement for BASIC. It was designed by first doing a task analysis of
the programming task.
ABC is easy to learn (an hour or so for someone who has already
programmed), and yet easy to use. Originally intended as a language for
beginners, it has evolved into a powerful tool for beginners and experts
alike.
A Short Introduction to the ABC Language
Ada is a computer programming language originally designed to support
the construction of long-lived, highly reliable software systems. Its
design emphasizes readability, avoids error-prone notation, encourages
reuse and team coordination, and it is designed to be
efficiently implementable.
A significant advantage of Ada is its reduction of debugging time. Ada
tries to catch as many errors as reasonably possible, as early as
possible. Many errors are caught at compile-time by Ada that aren't
caught or are caught much later by other computer languages. Ada
programs also catch many errors at run-time if they can't be caught at
compile-time (this checking can be turned off to improve performance
if desired). In addition, Ada includes a problem (exception) handling
mechanism so that these problems can be dealt with at run-time.
The Home of the Brave Ada Programmers, AdaPower.com
Tool for creating interactive fiction. Alan has focused more on the authoring
aspects than on the programming.
The Alan Home Pages
ALF is a language which combines functional and logic programming
techniques. The foundation of ALF is Horn clause logic with equality which
consists of predicates and Horn clauses for logic programming, and functions
and equations for functional programming.
The ALF System
The youngest, and probably the most influental of the three big, classic
languages. (The other two being Lisp and Fortran.)
Open Directory's entry on Algol
ALLOY is a higher level parallel programming language appropriate
for programming massively parallel computing systems. It is based
on a combination of ideas from functional, object oriented and logic
programming languages.
Alloy resources at ftp.funet.fi
E is a powerful and flexible object oriented / procedural / unpure
functional higher programming language, mainly influenced by languages such
as C++, Ada, Lisp etc., and Amiga E a very fast compiler for it, with
features such as speed of >20000 lines/minute on a 7 Mhz amiga, inline
assembler and linker integrated into compiler, large set of integrated
functions, great module concept with v40 includes as modules, flexible
type-system, quoted expressions, immediate and typed lists, parametric and
inclusion polymorphism, exception handling, inheritance, data-hiding,
methods, multiple return values, default arguments, register allocation,
fast memory management, unification, LISP-Cells, gui-toolkit, (macro-)
preprocessor, very intuitive and powerful source-level debugger, easy
.library linking, and much more...
Amiga E on the Web
A comprehensive and powerful algebraic modeling language for
inear and nonlinear optimization problems, in discrete or continuous
variables.
AMPL Modeling language for Mathematical programming
Array Processing Language.
APL FAQ at University of Waterloo
awk is a programming language, named after its three original authors:
- Alfred V. Aho
- Brian W. Kernighan
- Peter J. Weinberger
they write:
"Awk is a convenient and expressive programming language that can be
applied to a wide variety of computing and data-manipulation tasks."
The GNU Awk User's Guide
B is a computer language intended for recursive, primarily non-numeric applications typified by system programming.
User's Reference to B
BASIC (standing for Beginner's All Purpose Symbolic Instruction
Code) is a system developed at Dartmouth College in 1964 under the
directory of J. Kemeny and T. Kurtz. It was implemented for the
G.E.225. It was meant to be a very simple language to learn and also
one that would be easy to translate. Furthermore, the designers wished
it to be a stepping-stone for students to learn on of the more powerful
languages such as FORTRAN or ALGOL.
The BASIC Archives, XST
BCPL is a simple typeless language that was designed in 1966 by Martin Richards
and implemented for the first time at MIT in the Spring of 1967.
BCPL, Martin Richards's BCPL Reference Manual, 1967
Object-oriented programming originated with the Simula language
developed by Kristen Nygaard in Oslo in the 1960s. Since then, OOP has achieved
great prominence with the commercial success of C++, Smalltalk, and Eiffel.
Now, from the birthplace of OOP, comes the new BETA programming language, for
which this book is both tutorial and reference. It provides a clear
introduction to the basic concepts of OOP and an easy learning curve from
simple programs to more advanced applications in BETA for students and
programmers.
The BETA Home Page
Rather low level language used, among other things, in the development
of VMS.
BLISS Language Reference Manual
Blue is an object-oriented programming language that was developed especially
for teaching. It runs in an integrated programming enviroment that includes
a graphical program structure editor, a text editor, a debugger, a library
browser, and more. It was developed for teaching ob[j]ect-oriented concepts
to first-year students.
The Blue Page - Teaching Object Oriented Programming
Business Rules! is the progeny of Workstation Basic. It will still support
legacy applications and still maintains the emphasis on using minimal system
resources that was so important early on. It has grown to incorporate many new
technologies including advanced indexing, the ability to access
platform-dependant devices directly with generic syntax calls, output spooling,
externalization of functions (libraries), many platform-independent commands
that mimic O.S. commands, Windows compatibility features and functionality, and
much more.
Business Rules!
According to The New Hacker's Dictionary:
C /n./
1. The third letter of the English alphabet. 2. ASCII 1000011. 3. The
name of a programming language designed by Dennis Ritchie during
the early 1970s and immediately used to reimplement Unix; so called
because many features derived from an earlier compiler named `B' in
commemoration of its parent, BCPL. (BCPL was in turn descended from an
earlier Algol-derived language, CPL.) Before Bjarne Stroustrup settled
the question by designing C++, there was a humorous debate over whether
C's successor should be named `D' or `P'. C became immensely popular
outside Bell Labs after about 1980 and is now the dominant language in
systems and microcomputer applications programming. See also languages
of choice, indent style.
C is often described, with a mixture of fondness and disdain varying
according to the speaker, as "a language that combines all the
elegance and power of assembly language with all the readability and
maintainability of assembly language".
C Resources on the web
An extension to the C language developed primarily by
B.Stroustrup at AT&T Bell Laboratories: it supports object-oriented
programming among other enhancements.
WWW C++ Information
Cecil is a purely object-oriented language intended to support rapid
construction of high-quality, extensible software. Cecil incorporates
multi-methods, a simple prototype-based object model, a mechanism to support a
structured form of computed inheritance, module-based encapsulation, and a
flexible static type system which allows statically- and dynamically-typed code
to mix freely.
UW Cecil/Vortex Project
Centum is an interpreted language that is intended to make it easy to
express algorithms in, and is a hybrid between functional programming
and object oriented programming.
Centum
Charity is functional in style. That is, programmers familiar with declarative
paradigms (functional and logic programmers) should find Charity easy to grasp.
Charity is based on the theory of strong categorical datatypes. These are
divided into two subclasses: the inductive datatypes (built up by constructors
in the familiar way) and the coinductive datatypes (broken down by
destructors). Programs over these datatypes are expressed by folds
(catamorphisms) and by unfolds (anamorphisms), respectively.
CHARITY - Home Page
CHILL (CCITT High Level Language) is a general procedural programming
language which is mainly used in the field of telecommunications. As a general
programming language it is by no means limited to this field. A number of CHILL
programming environments are also implemented in CHILL.
CHILL Homepage
CLAIRE is a high-level functional and object-oriented language with
advanced rule processing capabilities. It is intended to allow the programmer
to express complex algorithms with fewer lines and in an elegant and readable
manner.
CLAIRE - The Art of Elegant Programming
Lazy functional language.
Clean Homepage
COmmon Business Oriented Language. Sometimes referred to as a
subset of english, rather than a programming language.
Kobol, Fujitsu COBOL, Flexus COBOL
COMon Algorithmic Language. Originally intended as a language for beginners.
A language similar to BASIC with Pascal-like structure.
UniComal
This language is designed for modeling concurrency and advanced
computation. It provides lazy evaluation in multithreating[sic] programs,
with object-oriented and functional style of semanthic.
CORN Programming language
The cT programming language is an algorithmic language like C, Pascal,
Fortran, and Basic, but greatly enhanced by multimedia capabilities, including
easy-to-use support for color graphics, mouse interactions, and even movies in
QuickTime or Video for Windows format.
The cT Programming Language Archives
An evolutionary language that fuses parts of C,C++ and Java.
The D Programming Language, Book about D, D programming reference, D frontend for GCC, D compiler
«DIGITAL Command Language.» Used as the equivalent of a shell on
the VMS operating system.
OpenVMS Documentation
Dylan is a general-purpose high-level programming language, designed for
use both in application and systems programming. Dylan includes garbage
collection, run-time type checking, selective dynamism, error recovery,
and a module system. These features simplify programming and support
attractive debugging and development tools.
Gwydion Dylan
[...] secure distributed object platform and scripting language for writing
Capability-Based Smart Contracts.
ERights.Org
Eiffel is an advanced object-oriented programming language that
emphasizes the design and construction of high-quality and reusable
software.
SmallEiffel The GNU Eiffel Compiler
elastiC is a portable high-level object-oriented interpreted language with a C
like syntax.
elastiC World
Elf is a constraint logic programming language based on the LF Logical
Framework. [...] Elf is a uniform meta-language for specifying, implementing,
and proving properties of programming languages and logics.
The Elf Meta-Language
Erlang System/OTP is a platform-independent development environment as well as
a runtime platform pioneered by Ericsson [...]
Erlang Systems, Erlang
Euphoria is a simple, flexible, and easy-to-learn programming language.
It lets you quickly and easily develop programs for DOS and Windows. A Linux
version is coming soon. [...] Although Euphoria provides subscript checking,
uninitialized variable checking and numerous other run-time checks, it is
extremely fast. People have used it to develop high-speed 32-bit DOS games, as
well as 32-bit Windows programs.
The Official Euphoria Programming Page
Felix is new, high power, Open Source, community based programming
language which provides an ML style type system with a syntax that C++
programmers should find easy to learn. It generates C++ and supports
both use of C++ types as primitives, as well as embedding in existing
C++ written architectures in a natural manner.
Felix
ferite is a scripting language and engine all in one managable chunk. It
is designed to be easily extended in terms of API, and to be used within other
applications making them more configurable and useful to the end user. It has a
syntax similiar to a number of other langauges but remains clean and it's own
language. [The description from the Debian package mentions Perl, Python, C,
Java and Pascal as influences.]
ferite.org
Forth provides an interactive programming environment. Its primary
uses have been in scientific and industrial applications such as
instrumentation, robotics, process control, graphics and image
processing, artificial intelligence and business applications. The
principal advantages of Forth include rapid, interactive software
development and efficient use of computer hardware.
Forth is often spoken of as a language because that is its most visible
aspect. But in fact, Forth is both more and less than a conventional
programming language: more in that all the capabilities normally
associated with a large portfolio of separate programs (compilers,
editors, etc.) are included within its range and less in that it lacks
(deliberately) the complex syntax characteristic of most high-level
languages.
Forth Information on Taygeta, The ForthFreak wiki
One of the widely used, early languages. Big in number crunching programming.
Fortran related links
Sun's attempt at a new HPC language.
Links "The Fortress Language Spec v0.618"
Fuzzy Relational Inference Language. Logic programming language closely
related to Prolog, but adds fuzzy logic features.
Fril - Downloadable resources
GNU E is a persistent, object oriented programming language developed as part
of the Exodus project. GNU E extends C++ with the notion of persistent data,
program level data objects that can be transparently used across multiple
executions of a program, or multiple programs, without explicit input and
output operations.
GNU E at ftp.cs.wisc.edu
Guile is an interpreter for the Scheme programming language, nicely packaged as
a library you can link into your programs. Your program has full access to the
interpreter's data structures, so you can extend Guile with your own
primitives, datatypes and syntax. The result is a scripting language tailored
to your application.
Guile
Gödel is a declarative, general-purpose programming language in the family of
logic programming languages. It is a strongly typed language, the type system
being based on many-sorted logic with parametric polymorphism. It has a module
system. Gödel supports infinite precision integers, infinite precision
rationals, and also floating-point numbers. It can solve constraints over
finite domains of integers and also linear rational constraints. It supports
processing of finite sets. It also has a flexible computation rule and a
pruning operator which generalises the commit of the concurrent logic
programming languages. Considerable emphasis is placed on Gödel's meta-logical
facilities which provide significant support for meta-programs that do
analysis, transformation, compilation, verification, debugging, and so on.
The Gödel Programming Language
Haskell is a `purely functional' language. Computation proceeds by
replacing expressions with their value. While all computer languages
incorporate functions to some degree, Haskell programs are composed
solely of functions. Haskell is based on lambda calculus, hence the l we
use as a logo. The language is named for the logician Haskell B. Curry,
whose work provided much of the logical basis for our language.
Haskell
Hugo is a text adventure compiler and runtime engine, written by Kent Tessman.
ftp://ftp.gmd.de/if-archive/programming/hugo/
ICI is a programming language with a dynamic, object based data model with
the flow control constructs and operators of C. It is designed for use in
many environments, including embedded systems, as an adjunct to other
programs and as a text based interface to compiled libraries.
ICI at ftp.ntua.gr
Icon is a high-level, general-purpose programming language with a large
repertoire of features for processing data structures and character
strings. Icon is an imperative, procedural language with a syntax
reminiscent of C and Pascal, but with semantics at a much higher level.
The Icon Programming Language
A design system for interactive fiction.
Inform, ftp://ftp.gmd.de/if-archive/programming/
J is a very high level general-purpose language, with a strong emphasis
on functional programming and array processing. J was designed and
developed by Ken Iverson and Roger Hui, and implemented by Iverson
Software Inc (ISI).
J is distinguished by its simple and consistent rules, a large set of
built-in functions, powerful facilities for defining new operations, and
a general and systematic treatment of arrays. It is ideal for complex
analytical work, modelling, and rapid application development.
J Software
«Object-Oriented Programming for the Internet.»
JavaSoft Home Page
The language Joy is a purely functional programming language. Whereas all other
functional programming languages are based on the application of functions to
arguments, Joy is based on the composition of functions. All such functions
take a stack as argument and produce a stack as value. Consequently much of Joy
looks like ordinary postfix notation.
Main page for the programming language JOY
Kx Systems describes K as an application development kit integrating
- a concise language with powerful primitives and math notations
- a high performance data engine for bulk objects
- a graphical user interface
- built-in memory management
- interprocess communications
- web-server capabilities
- connectivity features
Kx Systems
NI LabVIEW is the graphical development environment for creating
flexible and scalable test, measurement, and control applications
rapidly and at minimal cost. With LabVIEW, engineers and scientists
interface with real-world signals, analyze data for meaningful
information, and share results and applications. Regardless of
experience, LabVIEW makes development fast and easy for all users.
National Instruments LabVIEW page
an experimental object-oriented rapid application development (RAD)
language with parameterized ("virtual") types, refactoring and component
support, which replaces text editors completely by structure editors
LavaPE: The Object- and Component-Oriented Lava Program Development Environment
LIFE (Logic, Inheritance, Functions, and Equations) is an experimental
programming language proposing to integrate three orthogonal programming
paradigms proven useful for symbolic computation. From the programmer's
standpoint, it may be perceived as a language taking after logic programming,
functional programming, and object-oriented programming. From a formal
perspective, it may be seen as an instance (or rather, a composition of three
instances) of a Constraint Logic Programming scheme due to Hoehfeld and Smolka
refining that of Jaffar and Lassez.
CLiki for the TUNES project: LIFE entry
Limbo is a programming language intended for applications running distributed
systems on small computers. It supports modular programming, strong type
checking at compile- and run-time, interprocess communication over typed
channels, automatic garbage collection, and simple abstract data types. It is
designed for safe execution even on small machines without hardware memory
protection.
The Limbo Programming Language
Lingo is a high level Windows programming language with automatic memory
management, simple class structure, large library, working example
programs, developer environment, dialog editor, compiler and debugger.
[...] Lingo has been under development for about 10 years.
Learn to Program with Lingo!
According to The New Hacker's Dictionary:
LISP /n./
[from `LISt Processing language', but mythically from `Lots of
Irritating Superfluous Parentheses'] AI's mother tongue, a language
based on the ideas of (a) variable-length lists and trees as
fundamental data types, and (b) the interpretation of code as
data and vice-versa. Invented by John McCarthy at MIT in the late
1950s, it is actually older than any other HLL still in use except
FORTRAN. Accordingly, it has undergone considerable adaptive radiation
over the years; modern variants are quite different in detail from the
original LISP 1.5. The dominant HLL among hackers until the early 1980s,
LISP now shares the throne with C.
Note: HLL is an acronym for "High-Level Language" (as opposed to for
instance assembler).
Common Lisp the Language, 2nd Edition
Logo is a computer programming language designed for use by learners,
including children. One of the ideas guiding its creation was the
principle "low floor, high ceiling." This means that it should be easy
for the novice programmer to get started (the "low floor") writing
programs and getting satisfaction doing so, but that the language should
be powerful and extensive in a "sky is the limit" sort of way (the "high
ceiling").
LOGO computer programming language for learners
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
The Programming Language Lua
MATLAB is an intuitive language and a technical computing environment. It
provides core mathematics and advanced graphical tools for data analysis,
visualization, and algorithm and application development.
The MathWorks: Developers of MATLAB
MC# - is a high-level object oriented programming language based on .NET
Platform created specially for developing complex industrial program
systems that could use multiprocessor architectures. It's an adaptation
of the base idea of Polyphonic C# language (nowadays also known as
Cdelta - Benton N., Cardelli L., Fournet C., Microsoft Research
Laboratory, Cambridge, UK) for the case when we have concurrent
distributed computations. This language has taken the best ideas from
languages: C#, Polyphonic C# (nowadays known as C-Omega or C# 3.0) and
T-System (T++ language).
MC# Home page
MCPL is a simple typeless language which is based on BCPL. It makes extensive
use of pattern matching somewhat related to that used in ML and Prolog, and
some other features come from C.
MCPL
Mercury is a new logic/functional programming language, which combines the
clarity and expressiveness of declarative programming with advanced static
analysis and error detection features. Its highly optimized execution algorithm
delivers efficiency far in excess of existing logic programming systems, and
close to conventional programming systems. Mercury addresses the problems of
large-scale program development, allowing modularity, separate compilation, and
numerous optimization/time trade-offs.
The Mercury home page
The aim of the Miranda system is to provide a modern functional language,
embedded in an `industrial quality' programming environment. It is now
being used at a growing number of sites for teaching functional programming and
as a vehicle for the rapid prototyping of software.
The Miranda Programming Language
ML (which stands for Meta-Language) is a family of advanced programming
languages with [usually] functional control structures, strict
semantics, a strict polymorphic type system, and parametrized
modules. It includes Standard ML, Lazy ML, CAML, CAML Light, and various
research languages. Implementations are available on many platforms,
including PCs, mainframes, most models of workstation, multi-processors
and supercomputers. ML has many thousands of users, is taught at many
universities (and is the first programming language taught at some).
A Gentle Introduction to ML
Modula-2 is a programming notation that corrects some of the
deficiencies of Pascal. It is suitable for learning programming, for
large projects written and maintained in the fashion of professional
software engineers, and for real time embedded systems.
A FAQ on Modula-2
Modula-3 is a member of the Pascal family of languages. Designed
in the late 1980s at Digital Equipment Corporation and Olivetti,
Modula-3 corrects many of the deficiencies of Pascal and Modula-2 for
practical software engineering. In particular, Modula-3 keeps the
simplicity of type safety of the earlier languages, while providing
new facilities for exception handling, concurrency, object-oriented
programming, and automatic garbage collection. Modula-3 is both a
practical implementation language for large software projects and an
excellent teaching language.
Modula-3 Home Page, Modula-3 Resource Page
Nemerle is a high-level statically-typed programming language for the
.NET platform. It offers functional, object-oriented and imperative
features. It has a simple C#-like syntax and a powerful meta-programming
system.
Nemerle home page
Multimedia authoring tool.
NeoSoft Corporation
NESL is a parallel language developed at Carnegie Mellon by the SCandAL
project. It integrates various ideas from the theory community (parallel
algorithms), the languages community (functional languages) and the system's
community (many of the implementation techniques). The most important new ideas
behind NESL are
- Nested data parallelism: this feature offers the benefits of data
parallelism, concise code that is easy to understand and debug, while being
well suited for irregular algorithms, such as algorithms on trees, graphs or
sparse matrices [...].
- A language based performance model: this gives a formal way to calculated
the work and depth of a program. These measures can be related to running
time on parallel machines.
NESL: A Parallel Programming Language
NetRexx is a new human-oriented programming language, designed as an
effective and simple alternative to the Java language. With NetRexx, you
can create programs and applets for the Java environment faster and more
easily than by programming in Java. Using Java classes is especially
easy in NetRexx, as the different types of numbers and strings that Java
expects are handled automatically by the language.
Inspired by two very different programming languages, Rexx and Java,
NetRexx blends the easy-to-learn syntax of Rexx with the robustness and
portability of the Java environment. The result is a language which is
tuned for both scripting and application development, and is therefore
truly general-purpose.
NetRexx at IBM
Oberon-2 is a general-purpose programming language in the tradit ion of
Pascal and Modula-2. Its most important features are block structure,
modularity, separate compilation, static typing with strong type
checking (also across module boundaries), and type extension with
type-bound procedures.Type extension makes Oberon-2 an object-oriented
language.
Optimizing Oberon-2 Compiler
Objective-C was designed by Brad J. Cox, whose primary purpose was to add
the main features of SmallTalk-80 to the C language. His work led to an
object-oriented language, with a complete programming enviroment inspired
by SmallTalk-80, even comprising a large part of the later's basic library.
comp.lang.objective-c Newsgroup FAQs
Obliq is a lexically-scoped untyped interpreted language that supports
distributed object-oriented computation. An Obliq computation may involve
multiple threads of control within an address space, multiple address spaces on
a machine, heterogeneous machines over a local network, and multiple networks
over the Internet. Obliq objects have state and are local to a site. Obliq
computations can roam over the network, while maintaining network connections.
Obliq Quick Start
A programming language which facilitates writing parallel programs,
allowing the programmer to specify whether processes are to be executed
sequentially or in parallel. Based on CSP, it was originally developed
for the Transputer.
The Occam Archive
GNU Octave is a high-level language, primarily intended for numerical
computations. It provides a convenient command line interface for solving
linear and nonlinear problems numerically, and for performing other numerical
experiments using a language that is mostly compatible with Matlab. It may also
be used as a batch-oriented language.
Octave Home Page
[...] a concurrent object-oriented language with dataflow synchronization. Oz
combines concurrent and distributed programming with logical constraint-based
inference, [...]
The Mozart Programming System
PASCAL is a programming language named after the 17th century
mathematican Blaise Pascal. Pascal
- provides a teaching language that highlights concepts common to all
computer languages
- standardises the language in such a way that it makes programs easy
to write
Strict rules make it difficult for the programmer to write bad code!
Pascal Programming
Perl is an interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
reports based on that information. It's also a good language for many
system management tasks. The language is intended to be practical (easy
to use, efficient, complete) rather than beautiful (tiny, elegant,
minimal). It combines (in the author's opinion, anyway) some of the best
features of C, sed, awk, and sh, so people familiar with those languages
should have little difficulty with it.
The Perl Language Home Page
Phantom is a new interpreted language designed to address some of the
problems presented by large-scale, interactive, distributed applications
such as distributed conferencing systems, multi-player games, and
collaborative work tools. Phantom combines the distributed lexical
scoping semantics of Obliq with a substantial language core.
Phantom Home Page
PHP Version 3.0 is an HTML-embedded scripting language. Much of its syntax is
borrowed from C, Java and Perl with a couple of unique PHP-specific features
thrown in. The goal of the language is to allow web developers to write
dynamically generated pages quickly.
PHP: Hypertext Preprocessor
Pike is a dynamic language with a syntax that looks like C. It is simple
to learn, doesn't need long compilation passes and has powerful builtin
data types that allows simple and fast data manipulation. Pike is GPL
which means that anybody can fetch if for free and use it for almost any
purpose they please.
Pike
PiXCL (PIxel-based eXtendable Command Language) is a [...]
Windows scripting language that includes a large set of image processing
commands and a TWAIN-device command set. It is intended to be used to
quickly create image acquisition, display and processing applications.
Includes string, integer, float, integer64 and double variable types and
arrays. Comes in three versions: FreePiXCL (unrestricted, earlier demo
version with 560 functions), PiXCL (700+ functions) and geoPiXCL (50+ extra
image processing and analysis functions). All versions include an EXE
compiler.
VYSOR Integration Inc
The PL/B programming language, which was originally developed in 1972 as
DATABUS(R), is currently the primary business programming language for over
250,000 workstations in over 40 countries and is supported by at least nine
independent compiler companies on a broad range of hardware and operating
systems.
PL/B supports highly interactive business application programming in individual
and shared network environments. It has been developed to be easily learned in
shorter time frames and by less experienced personnel than a majority of other
standard languages. The language structure lends itself not only to easy code
generation, but also to easy automated code analysis and reengineering which
J15 feels are important considerations for future business programming
environments.
Note: J15 is the technical committee for the development of the ANSI standard
for PL/B.
J15 - Programming Language PL/B
PL/I is a general-purpose programming language, which is used for
solving problems in a variety of fields such as commerce, science
(including mathematics, physics, chemistry), engineering (incl. civil,
electrical, aeronautics), medicine and so on. It can be used for
system programming, and the facilitites are such that it is rarely if
ever necessary to resort to machine-language or high-level language
programming to solve problems.
PL/I resources
It's a bit difficult to describe what Pliant is, since it is more a new
generation of language than an improvement in a given programming language
family. The main idea behind Pliant: instead of building a slightly new
language that has a few new interresting features, build a newer, very tiny
language with a very simple syntax, where most advanced features can be written
in the language itself, as modules.
Introduction to Pliant Programming Language
PostScript is a programming language optimized for printing graphics
and text (whether on paper, film, or CRT is immaterial). In the jargon
of the day, it is a page description language. It was introduced
by Adobe in 1985 and first (to my knowledge) appeared in the Apple
LaserWriter. The main purpose of PostScript was to provide a convenient
language in which to describe images in a device independent
manner. This device independence means that the image is described
without reference to any specific device features (e.g. printer
resolution) so that the same description could be used on any PostScript
printer (say, a LaserWriter or a Linotron) without modification.
A First Guide to Postscript
PROgrammation en LOGique. Designed originally for natural-language processing.
Prolog Resource Guide
Python is an interpreted, interactive, object-oriented programming
language. It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax. It has modules,
classes, exceptions, very high level dynamic data types, and dynamic
typing. There are interfaces to many system calls and libraries,
as well as to various windowing systems (X11, Motif, Tk, Mac, MFC,
Gtk, Qt). New built-in modules are easily written in in C or C++. Python
is also usable as an extension language for applications that need a
programmable interface.
Python Language Home Page
An Equational Programming Language. Q is a functional programming language
based on term rewriting. Thus, a Q program or "script" is simply a
collection of equations which are used to evaluate expressions in a
symbolic fashion.
Sourceforge, Encyklopedic article, "This document describes the Q programming language and system, version 4.5, 14 October 2003. Written by Albert Gräf, University of Mainz."
R, also known as `GNU S', is a system for statistical computation and graphics.
It consists of a language plus a run-time environment with graphics, a
debugger, access to certain system functions, and the ability to run programs
stored in script files. R implements a language which is not entirely unlike
the S language developed at AT&T Bell Laboratories by Rick Becker, John
Chambers and Allan Wilks. Indeed in the absence of an R manual, you can
(mostly) get along by using the S manual.
The R Project for Statistical Computing
REBOL Is...
In general terms, REBOL is a small, flexible language for sharing
content (documents, databases, programs, multimedia) between people,
computers, processes, and networks.
In technical terms, REBOL is a distributed object language which
interprets symbolic, dynamically-scoped, relational environments. (You
wanted to know... [...])
Home of the REBOL Language
Rexx is a procedural programming language that allows programs
and algorithms to be written in a clear and structured way. It is
easy to use by experts and casual users alike. Rexx has been designed
to make easy the manipulation of the kinds of symbolic objects that
people normally deal with such as words and numbers. Although Rexx has
the capability to issue commands to its host environment and to call
programs and functions written in other languages, Rexx is also designed
to be independent of its supporting system software when such commands
are kept to a minimum.
Ian's Rexx title page, Rexx Language Association website
RPG (Report Program Generator) is a programming language that originated as a
report-building program used in DEC and IBM minicomputer operating systems and
evolved into a fully procedural programming language. Its latest version, RPG
III, is supported by IBM's leading minicomputer system, the AS/400.
Historically, RPG has probably been the second most used programming language,
after COBOL, for commercial applications on mid-range computers.
Who Knew You Could Do That with RPG IV?
A descendant of Reverse Polish Lisp, obviously. Intended for symbolic and
scientific computation. Almost fully compatible with RPL on HP-28S.
RPL/2
Ruby is the interpreted scripting language for quick and easy object-oriented
programming. It has many features to process text files and to do system
management tasks (as in perl).
Ruby Home Page
S is a very high level language and an environment for data analysis and
graphics. S was written by Richard A. Becker, John M. Chambers, and Allan R.
Wilks of AT&T Bell Laboratories Statistics Research Department. More
recently, other Bell Labs researchers have made major contributions to a new
modeling capability in S. The S language is the form in which S users express
their computations. The environment provides facilities for data management,
support for many graphics devices, etc. S is useful for computation in a wide
range of applications. It's a very general tool, so that applications are not
restricted to any particular subject area.
A Guide to the S Language
Sather is an object oriented language designed to be simple, efficient,
safe, flexible and non-proprietary. One way of placing it in the "space
of languages" is to say that it aims to be as efficient as C, C++, or
Fortran, as elegant as and safer than Eiffel, and support higher-order
functions and iteration abstraction as well as Common Lisp, CLU or
Scheme.
Sather home page
Scheme is a statically scoped and properly tail-recursive
dialect of the Lisp programming language invented by Guy Lewis Steele
Jr. and Gerald Jay Sussman. It was designed to have an exceptionally
clear and simple semantics and few different ways to form expressions. A
wide variety of programming paradigms, including imperative, functional,
and message passing styles, find convenient expression in Scheme.
Scheme
Designed for expressive power and malleability, Self combines
a pure, prototype-based object model with uniform access to state and
behavior. Unlike other languages, Self allows objects to inherit state
and to change their patterns of inheritance dynamically.
The Self Project
SET Language. One of the few languages with sets as a
basic data type.
/pub/languages/setl2 at cs.nyu.edu, Programming with Sets
SIMULA is an object-oriented programming language. It has been applied to
almost all kinds of data processing.
The language was defined in 1967 in the "SIMULA Common Base Language". The
language definition has been maintained by the SIMULA Standards Group (SSG),
and the latest definition is found in the "SIMULA Standard", adopted by the SSG
in 1986.
SIMULA has been implemented on almost all types of computers, ranging from
large mainframes to workstations and PC's.
Simula history
A High Performance, Portable, Parallel Programming Language.
Sisal Lives
An early object-oriented language that arguably takes the idea of OO to
an extreme. Designed to be extremely easily usable.
www.smalltalk.org Main Page
SNOBOL is a special purposed language developed to provide a powerful means of
doing character string manipulation. Accordingly SNOBOL has a collection of
powerful operations for doing string pattern matchings. The most common early
application of SNOBOL was to write text editors.
The SNOBOL Programming Language, SNOBOL LANGUAGE WEB PAGE
SR (Synchronizing Resources) is a language for writing concurrent
programs. The main language constructs are resources and
operations. Resources encapsulate processes and variables they share;
operations provide the primary mechanism for process interaction. SR
provides a novel integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and remote procedure
call, rendezvous, message passing, dynamic process creation, multicast,
and semaphores are supported. SR also supports shared global variables
and operations.
The SR Programming Language
TADS stands for "Text Adventure Development System".
ftp://ftp.gmd.de/if-archive/programming/tads/
Tcl (Tool Command Language; pronounce "tickle") is a string-based
scripting language and an interpreter for that language that is designed
to be easy to embed in other applications.
Tcl Developer Site
Some of Theta's features are:
- Separate type and class hierarchies.
- Multiple super-types
- Single inheritance
- Constrained parametric polymorphism
- Subtype polymorphism
Theta
An object oriented language derived from C. The language promotes usability, as
opposed to reusability.
TOM
The Turing family of programming languages feature an easy to learn syntax that
provides strong error checking to make programming easier. They include all of
Pascal's features and more. While Turing is a completely "safe" language,
providing no direct access to the hardware, it's extension, Object Oriented
Turing, includes concurrency, exception handling, objects, classes and
inheritance, and systems programming language features; it is an alternative to
languages like C and Modula.
Turing and Object Oriented Turing Home Page
Visual Basic was originally thought of as a replacement for the Windows
shell, using insertable third party objects as components in the user
interface. Microsoft bought the rights to the idea from Alan Cooper in
1988, and replaced the crude scripting language with a modified version
of their QuickBasic, making it a programming language with a visual UI
designer. The commercial product was released in 1992.
Visual Basic Instinct
WinBatch is an easy-to-use yet very powerful programming tool - capable of
automating any task involving Windows. Use it for simple tasks like
connecting PC's to network servers, printing batch jobs out at odd hours,
and much more.
- Control for every Windows PC
- Macros for every purpose
- Works from desktop to Internet
At the heart of WinBatch is our Windows Interface Language (WIL). It's a
high-level programming language for automating Windows; hundreds of
Windows tasks are pre-coded for you. Operations that require pages of code
in other programming languages are just a single function call in WinBatch.
Winbatch, the Batch Language for Windows
The Yorick programming language includes scientific visualization functions
(with output to your screen, PostScript, or binary CGM), text and binary I/O
functions for reading and writing numbers by the millions, and basic linear
algebra functions adapted from the LAPACK library.
Yorick
ZPL is a new array programming language designed from first principles for fast
execution on both sequential and parallel computers. [...] Users with
scientific computing experience can generally learn ZPL in a few hours. Those
who have used MATLAB or Fortran 90 may already be acquainted with array
programming style.
The ZPL Parallell Programming Language
Last updated 2006-02-14.
Steinar Knutsen