-
- Programming Languages Reading Group
- BCS Modular Languages Group
- egcs project home page
- The Fox Project: Advanced Languages for Systems Software
- The objective of the Fox Project in the School of Computer
Science at Carnegie Mellon is to advance the art of
programming-language design and implementation, and
simultaneously to apply principles of programming languages to
advance the art of systems building. The work of the project
includes theoretical studies of programming languages and their
properties, development of new compiler and run-time technology,
and empirical studies of the application of advanced language
techniques to real-world programming problems, especially in the
areas of high-performance networks and operating systems.
- High Performance Languages and Systems Research Group
- Inter-Language Unification -- ILU
- The Inter-Language Unification system (ILU) is a multi-language
object interface system. The object interfaces provided by ILU
hides implementation distinctions between different languages,
address spaces, and operating system types. ILU can be used to
build multi-lingual object-oriented libraries ("class libraries")
with well-specified language-independent interfaces; to implement
distributed systems; and to define and document interfaces
between the modules of non-distributed programs. ILU interfaces
can be specified in either the OMG's CORBA Interface Definition
Language (OMG IDL), or ILU's Interface Specification Language
(ISL).
- MSPLS Home Page
- The Midwest Society for Programming Languages and Systems is a
group of people who are interested in programming languages,
programming systems, and system software in general... and happen
to be located somewhere near the midwestern USA.
- North Eastern Programmers Network
- NEPN is a free information service provided by Diio Software for
programmers everywhere. We publish a newsletter monthly, which is
available right here on our homepage. or thtough our E-Mailing
List. The purpose of this Homepage and newsletter is to provide
programmers with a FREE source of programming techniques and info
on new products and langauges. The main focus of NEPN thus far
has been C++ Programming, but we are always taking articles from
people like YOU for our newsletter.
- The PREPARE Project
- PREPARE is a major European effort that aims at the creation of a
compiler and programming environment for parallel architectures.
- Programming Languages Group at UIUC
- The Teaching About Programming Languages Project
back to Programming Languages
-
- Advanced Programming Language Design Text
- Full electronic text for Advanced Programming Language Design by
Raphael A. Finkel Addison-Wesley, 1996 ISBN 0-8053-1191-2,
Hardcover, 496 pages, 1996
- CMU Systems and Languages Overview
- DACS Programming Languages Resources
- Foundations of O-O Languages
- Programming Language Critiques
- Programming Language Exploration
- Language Coding Standards/Style Commentaries
- Research Language Overviews
- Scripting Language choices, Cameron Laird
- Scripting Languages choices: more info, Cameron Laird
- Timing Experiments with Scripting and User-Interface Language, Brian W. Kernighans pap
- Workshop on Software Engineering and Programming Languages
back to Programming Languages
-
- Programmer's Oasis Links
- Programming Languages Links, UMass
- ACM SIGPLAN
- ANTLR - Free langauge translation tool
- ANTLR (formerly PCCTS) is a language tool that provides a
framework for constructing recognizers, compilers, and
translators from grammatical descriptions containing C, C++, or
Java actions.
- Catalog of Compiler Construction Tools
- Catalog of Free Compilers and Interpreters
- Cetus Links: OOPLs
- Cetus Links: O-O Libraries
- The Compiler Connection
- Compiler Internet Resources
- Dick Botting's Programming Languages Page
- IIT Tools for compiling
- The Language List
- Philip Wadler's home page
- Programming Language and Compiler Bibliographies
- Programming Language and Compiler Research Groups
- The Programming Languages List
- Programming Language Journals, Books, and Publishers
- Programming Language Semantics at Northeastern University
- Programming Languages (Computer Technology)
- Programmers Page
- Researchers in Programming Languages and Compilers
- Resources for Programming Language Research
- The Retrocomputing Museum
- Interesting information about a plethora of dead and ancient
programming languages.
- SEL-HPC Compilers & Interpreters Archive
back to Programming Languages
-
-
-
-
-
-
- Cetus Links: Eiffel
- ISE Eiffel Home Page
- Geoff's Universal Eiffel Resource Locator
- The Eiffel Page
- Design by Contract
- An Invitation to Eiffel: Principles
- Another Eiffel Page
- Eiffel & Java : The Best of Both Worlds
- Eiffel : An Advanced Introduction
- Eiffel FAQ
- Eiffel Liberty - Online Magazine
- Eiffel public FTP archive at U. Wales, Cardiff
- Eiffel Public Software
- Eiffel Reference
- Eiffel: What you always wanted to know
- EiffelWorld Magazine
- EPEE - The Eiffel Parallel Execution Environment
- Everything Eiffel Home Page
- Getting started with Eiffel
- Gustave Library Home Page
- ISE Eiffel Technology papers
- ISE O-O Technology papers
- MOOSE Eiffel Style Guide
- Principles of Eiffel
- SIG Computer
- SmallEiffel - The GNU Eiffel Compiler
- SmallEiffel on Macintosh
- Teaching Eiffel: A Web Page
- The Eiffel-Java Page
- Tower Technology Corporation
- Visual Eiffel Homepage
back to Programming Languages
-
- ACM SIGAda
- Ada and Java
- Ada College Course Materials
- Ada FAQ
- Ada for the Web
- Ada Home
- Ada Implementations of Design Patterns
- Ada Internet Resources
- Ada Programmers' FAQ
- Ada Resources for Educators and Students
- Ada2HTML Tutorial
- AdaBasis
- AdaCore's GNAT Home Page
- AdaIC: The Ada Information Clearinghouse
- Adatcl - Gnat Ada Bindings for TCL
- Cetus Links: Ada
- Flinders University Ada Page
- GRASP : a GUI IDE for GNAT
- GRASP stands for Graphical Representations of Algorithms and Data
Structures. It is a visual design/code enviornment for use with
GNAT (the GNu Ada Translator).
- PAL: The Public Ada Library
- Programmer's Oasis - Ada
- STSC Ada Page
- The Ada95 Booch Components (Free!)
- TAP: The Ada Project
- WebAda Welcome Page
- X11/Ada 95 Programmer's Homepage
back to Programming Languages
-
-
- The Agora Programming Language
- Agora is a reflective prototype-based object-oriented programming
language that is entirely (and solely!) based on message passing.
- The BETA Programming Language
- gbeta - a free Beta implementation
- The Blue Page - Teaching Object Oriented Programming
- The Claire Programming Language
- 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.
- The Clay Project
- The Clay project is a wide ranging project involving the design
of the Clay language and its application to researches in the
cognitive sciences.
- The Cause Programming Langauge
- Cause is an object-based programming language that focuses on the
goals of simplicity, performance, functionality, and
extensibility. It includes a built-in relational database,
automatic documentation, full function and computer capabilities,
and a sophisticated report builder. Cause programming consists
of two simple tasks: creating Resources and connecting Steps.
Resources are the objects that make up the program. Steps put the
Resources to work.
- The Cecil Programming Language
- 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.
- The Clean Programming Language
- Concurrent Clean is a general purpose, higher order, pure and
lazy functional programming language for the development of
sequential, parallel and distributed real world applications.
Clean is a language in the spirit of other modern lazy functional
languages like Haskell and Miranda. People familiar with these
languages will have no difficulty to program in Clean. The Clean
compiler has the nice property that it runs on small platforms
(Mac, PC, Sun), while it compiles very quickly and produces code
of state-of-the-art quality.
- Common Lisp and CLOS
- Common Lisp & CLOS links at Cetus
- The Dylan Programming Language
- Dylan World
- The E Programming Language
- E is a programming language for writing distributed applications.
It combines Sun's Java programming language with some powerful
enhancements: communications extensions for the development of
distributed applications; optimistic computation, a powerful
method for reducing the effect of communications latency in
distributed systems; and an improved security model based on
capability semantics and public-key cryptography, permitting
fine-grained control over access to system resources without
sacrificing security.
- The Elf Meta-Language
- Elf is a constraint logic programming language based on the LF
Logical Framework. It is intended as a uniform meta-language for
specifying, implementing, and proving properties of programming
languages and logics.
- The Emerald Programming Language
- bigFORTH
- The Haskell Home Page
- 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 this language.
- The Icon Programming Language
- 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.
- INTERCAL Resource Page
- The Leda Programming Language
- Leda is a multiparadigm programming language. The idea of a
multiparadigm language is to provide a framework in which
programmers can work in a variety of styles, freely intermixing
constructs from different paradigms. The techniques supported by
Leda include imparative programming, the object-oriented
approach, logic programming, and functional programming.
- The LIFE Programming Language
- 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.
- The Limbo Programming Language
- 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.
- Lisp, an interactive tutorial
- Planet Mawl
- MAWL is a new programming language that brings the net to a whole
new level. It will radically change the way interactive services
are created. MAWL is a language developed at Bell Labs
specifically for implementing sophisticated Web services in an
easy, straightforward, reliable, safe and scalable way.
- The Mercury Programming Language
- Mercury is a logic-based programming language that has strong
type and mode systems that detect a large percentage of program
errors at compile time. The information provided by the type and
mode systems then allows the efficiency of the implementation to
be significantly increased.
- The ML Programming Language
- Modula-3 Home Page
- NESL: A Parallel Programming Language
- 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, and a langauge-based
performance model.
back to Other Programming Languages
-
- The Oberon Home Page, ETH Zurich
- Oberon is the name of a modern integrated software environment
for single-user workstations. It includes a language in the
Pascal / Modula tradition and a highly effective and compact
operating platform.
- The Oberon Reference Site
- VisualOberon
- The Obliq Programming Language
- 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.
- Objective-C Home Page
- The Orca Parallel Programming Language
- The Oz Programming System
- Phantom Home Page
- The Pizza Language and Compiler Site
- Pizza is an extension of Java with three important new features:
Parametric polymorphism (although superficially similar to C++'s
templates, this implementation is based on the Hindley/Milner
typing systems of ML and Haskell). First-class functions (similar
to the blocks of Smalltalk, functions and procedures may be
passed as parameters, stored in variables and returned from
methods). Class cases and pattern matching. Pizza includes
support for visitor-style patterns directly in the language,
allowing much more expressive and readable code. Pizza compiles
programs to ordinary Java Byte Code, and interfaces with existing
Java code, retaining the broad compatibility of Java.
- The Python Programming Language
- Python Programming Intro
- pSather home page - parallel Sather
- The Sather Programming 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 links at Cetus
- The Scheme Programming Language
- Scheme Intro: Langauge and Implementation
- The Self Programming Language
- Self, Cetus Links
- Self Tutorial
- Self, a quick tutorial
- The Simula Programming Language
- Simula, an Introduction
- Simula links at Cetus
- Sina
- Sina is a concurrent object-oriented programming language, and it
is the first language to adopt the Composition Filters Object
Model (CFOM). The CFOM is an extension to the object-oriented
model and can express a number of concepts in a reusable and
extensible way. The Sina language has been developed by the
TRESE project as an expressive vehicle for the Composition
Filters Object Model. The TRESE project (part of the SETI Group
at the Computer Science Department of the University of Twente,
The Netherlands) performs activities related to research on
compositional object technology.
- The Theta Programming Language
- Theta is a new object oriented programming language under
development by the Programming Methodology group, to be used in
Thor. Some of Theta's features are: Separate type and class
hierarchies, Multiple super-types, Single inheritance,
Constrained parametric polymorphism, and Subtype polymorphism.
- TkGofer
- TkGofer is a library (a prelude file) of functions for writing
graphical user interfaces in the functional language Gofer. The
library provides a convenient, abstract and high-level way to
write window-oriented applications. The implementation rests on
modern concepts like monads and constructor classes. For the
implementation of graphical IO we added a few primitives to the
standard Gofer interpreter to communicate with the graphical
toolkit Tcl/Tk.
- The TOM Programming Language
- TOM is an object oriented programming language. To highlight a
few features: it is dynamic; it provides very simple (as in
`elegant') multiple inheritance; methods are overloaded on both
argument and return types; instances as well as classes are true
objects; they can be extended and modified at run time and at
compile time; objects are managed by a non-atomic garbage
collector; returns are multi-valued; methods have pre- and
postconditions; and the exception mechanism, like every part of
the language, is an attempt at the right balance between arcane,
baroque, simple, elegant and, foremost, usable. (This balance is,
of course, subject to the objectivity of the designers)
- The Transframe Programming Language
- The design philosophy of Transframe is to provide a diversity in
terms of a simple, transformable framework that can be adapted to
various specific problem domains. Transframe provides a
framework that can be adapted to achieve the power of dynamic
typing for rapid development, but can also be transformed into
static model to preserve the efficiency and quality of the
current static typed languages. The gap between dynamic
programming and static programming vanishes. Transframe enables a
software development environment that provide run-time
class/function creation and modification and the power of
polymorphism provided by a dynamic language. Meanwhile,
Transframe enables a software product that has the equal size and
speed to the equivalent product developed by traditional static
languages. The framework produces models (classes) that can be
frozen and melt freely between dynamic/static environment. The
penalty is scalable depending on the required degree of
dynamicity or polymorphism for a final product.
- TXL Home Page
- TXL is a programming language and rapid prototyping system
specifically designed to support transformational programming.
The basic paradigm of TXL involves transforming input to output
using a set of structural transformation rules that describe by
example how different parts of the input are to be changed into
output. Each TXL program defines its own context free grammar
according to which the input is to be structured, and rules are
constrained to preserve grammatical structure in order to
guarantee a well-formed result.
- The Tycoon Project
- Tycoon is a polymorphic persistent programming environment for
the development of data-intensive applications in open
environments. The Tycoon system emphasizes system scalability and
interoperability with commercial servers like Ingres, Oracle,
ObjectStore, O2, Inquery, SAP R/3, NeWS, StarView, C and C++
libraries, Sun-RPC, DCE-RPC and Kerberos.
- The UFO Project
- The United Functions and Objects project has developed a
programming language which unites functional and Object Oriented
Programming techniques. A large subset of UFO is a pure,
higher-order functional language incorporating the OO notions of
classes, inheritance, and dynamic binding. Another important
aspect is the provision of multi-dimensional functional arrays,
with integrated loop structures and monolithic operators, which
generalise those of SISAL. However, unlike SISAL, UFO is not a
pure functional language. It has stateful objects, which allow
programs to be written in a concurrent object-oriented style
where appropriate. Safeguards are provided, both in the semantics
of operations on stateful objects and in the type system, to
minimise the problems associated with introducing state.
- The YAFL Programming Language
- The YAFL Programming Language is a middle term research project
which covers the design and the implementation of a new
object-oriented language, as well as several attached programming
tools. This paper first describes the language and its underlying
principles. It also provides some information about the
experience gained when using it.
back to Other Programming Languages
back to Programming Languages