Brad Appleton's Programming Languages Links

Last update: Thu Feb 26 16:29:18 CST 1998


Brad Appleton
Software Tools Developer
E-mail: brad@bradapp.net
WWW: www.bradapp.net/

819 links to Programming Languages on the World Wide Web.

Detailed Table of Contents


Programming Language Groups and Projects

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


Programming Languages Guides and Tutorials

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


Programming Language Resources

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


Perl


Tcl/Tk


C++


Java


Smalltalk


Eiffel

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


Ada

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


Other Programming Languages


Programming Languages: A-N

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


Programming Languages: O-Z

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


back to Brad Appleton's WWW Links

back to Brad Appleton's Home Page