Brad Appleton's Programming Languages LinksBrad Appleton's Programming Languages LinksLast update: Thu Feb 26 16:29:18 CST 1998Brad AppletonSoftware Tools DeveloperE-mail: brad@bradapp.netWWW: www.bradapp.net/819 links to Programming Languages on the World Wide Web. back to Brad Appleton's WWW Links back to Brad Appleton's Home PageProgramming Language Groups and Projects (11 links)Programming Languages Guides and Tutorials (12 links)Programming Language Resources (25 links)Perl (108 links)Tcl/Tk (80 links)C++ (153 links)Java (244 links)Smalltalk (69 links)Eiffel (31 links)Ada (25 links)Other Programming Languages (61 links)Detailed Table of ContentsProgramming Language Groups and Projects (11 links)Programming Languages Guides and Tutorials (12 links)Programming Language Resources (25 links)Perl (108 links)Perl Resources and Directories (36 links)Perl Training, Tutorials and Publications (23 links)Perl Projects and Development (32 links)Perl WWW & CGI Resources (17 links)Tcl/Tk (80 links)Tcl/Tk Resources (17 links)Tcl/Tk Tutorials, Training and Publications (18 links)Tcl Projects and Systems (45 links)C++ (153 links)C++ Resources and Directories (31 links)C++ Projects and Working Groups (25 links)C++ Libraries (47 links)C++ STL (19 links)C++ Training, Tutorials and Publications (37 links)C++ Coding Conventions (13 links)Java (244 links)Java Resources and Directories (39 links)Java Documentation (14 links)Java Training and Tutorials (25 links)Java Coding Conventions (6 links)Java Articles, Books, and Papers (29 links)Java Organizations and Vendors (15 links)Java Development Tools (19 links)Java Language Development/Extensions (29 links)Java with other Languages (19 links)Java Libraries (19 links)Java Apps (30 links)Smalltalk (69 links)Smalltalk Resources and Directories (20 links)Smalltalk Training, Tutorials and Publications (21 links)Smalltalk Projects and Working Groups (15 links)Squeak (5 links)Smalltalk Products and Vendors (13 links)Eiffel (31 links)Ada (25 links)Other Programming Languages (61 links)Programming Languages: A-N (29 links)Programming Languages: O-Z (32 links)Programming Language Groups and ProjectsProgramming Languages Reading GroupBCS Modular Languages Groupegcs project home pageThe Fox Project: Advanced Languages for Systems SoftwareThe objective of the Fox Project in the School of ComputerScience at Carnegie Mellon is to advance the art ofprogramming-language design and implementation, andsimultaneously to apply principles of programming languages toadvance the art of systems building. The work of the projectincludes theoretical studies of programming languages and theirproperties, development of new compiler and run-time technology,and empirical studies of the application of advanced languagetechniques to real-world programming problems, especially in theareas of high-performance networks and operating systems. High Performance Languages and Systems Research GroupInter-Language Unification -- ILUThe Inter-Language Unification system (ILU) is a multi-languageobject interface system. The object interfaces provided by ILUhides implementation distinctions between different languages,address spaces, and operating system types. ILU can be used tobuild multi-lingual object-oriented libraries ("class libraries")with well-specified language-independent interfaces; to implementdistributed systems; and to define and document interfacesbetween the modules of non-distributed programs. ILU interfacescan be specified in either the OMG's CORBA Interface DefinitionLanguage (OMG IDL), or ILU's Interface Specification Language(ISL). MSPLS Home PageThe Midwest Society for Programming Languages and Systems is agroup of people who are interested in programming languages,programming systems, and system software in general... and happento be located somewhere near the midwestern USA. North Eastern Programmers NetworkNEPN is a free information service provided by Diio Software forprogrammers everywhere. We publish a newsletter monthly, which isavailable right here on our homepage. or thtough our E-MailingList. The purpose of this Homepage and newsletter is to provideprogrammers with a FREE source of programming techniques and infoon new products and langauges. The main focus of NEPN thus farhas been C++ Programming, but we are always taking articles frompeople like YOU for our newsletter. The PREPARE ProjectPREPARE is a major European effort that aims at the creation of acompiler and programming environment for parallel architectures. Programming Languages Group at UIUCThe Teaching About Programming Languages Projectback to Programming LanguagesProgramming Languages Guides and TutorialsAdvanced Programming Language Design TextFull electronic text for Advanced Programming Language Design byRaphael A. Finkel Addison-Wesley, 1996 ISBN 0-8053-1191-2,Hardcover, 496 pages, 1996 CMU Systems and Languages OverviewDACS Programming Languages ResourcesFoundations of O-O LanguagesProgramming Language CritiquesProgramming Language ExplorationLanguage Coding Standards/Style CommentariesResearch Language OverviewsScripting Language choices, Cameron LairdScripting Languages choices: more info, Cameron LairdTiming Experiments with Scripting and User-Interface Language, Brian W. Kernighans papWorkshop on Software Engineering and Programming Languagesback to Programming LanguagesProgramming Language ResourcesProgrammer's Oasis LinksProgramming Languages Links, UMassACM SIGPLANANTLR - Free langauge translation toolANTLR (formerly PCCTS) is a language tool that provides aframework for constructing recognizers, compilers, andtranslators from grammatical descriptions containing C, C++, orJava actions. Catalog of Compiler Construction ToolsCatalog of Free Compilers and InterpretersCetus Links: OOPLsCetus Links: O-O LibrariesThe Compiler ConnectionCompiler Internet ResourcesDick Botting's Programming Languages PageIIT Tools for compilingThe Language ListPhilip Wadler's home pageProgramming Language and Compiler BibliographiesProgramming Language and Compiler Research GroupsThe Programming Languages ListProgramming Language Journals, Books, and PublishersProgramming Language Semantics at Northeastern UniversityProgramming Languages (Computer Technology)Programmers PageResearchers in Programming Languages and CompilersResources for Programming Language ResearchThe Retrocomputing MuseumInteresting information about a plethora of dead and ancientprogramming languages. SEL-HPC Compilers & Interpreters Archiveback to Programming LanguagesPerlTcl/TkC++JavaSmalltalkEiffelCetus Links: EiffelISE Eiffel Home PageGeoff's Universal Eiffel Resource LocatorThe Eiffel PageDesign by ContractAn Invitation to Eiffel: PrinciplesAnother Eiffel PageEiffel & Java : The Best of Both WorldsEiffel : An Advanced IntroductionEiffel FAQEiffel Liberty - Online MagazineEiffel public FTP archive at U. Wales, CardiffEiffel Public SoftwareEiffel ReferenceEiffel: What you always wanted to knowEiffelWorld MagazineEPEE - The Eiffel Parallel Execution EnvironmentEverything Eiffel Home PageGetting started with EiffelGustave Library Home PageISE Eiffel Technology papersISE O-O Technology papersMOOSE Eiffel Style GuidePrinciples of EiffelSIG ComputerSmallEiffel - The GNU Eiffel CompilerSmallEiffel on MacintoshTeaching Eiffel: A Web PageThe Eiffel-Java PageTower Technology CorporationVisual Eiffel Homepageback to Programming LanguagesAdaACM SIGAdaAda and JavaAda College Course MaterialsAda FAQAda for the WebAda HomeAda Implementations of Design PatternsAda Internet ResourcesAda Programmers' FAQAda Resources for Educators and StudentsAda2HTML TutorialAdaBasisAdaCore's GNAT Home PageAdaIC: The Ada Information ClearinghouseAdatcl - Gnat Ada Bindings for TCLCetus Links: AdaFlinders University Ada PageGRASP : a GUI IDE for GNATGRASP stands for Graphical Representations of Algorithms and DataStructures. It is a visual design/code enviornment for use withGNAT (the GNu Ada Translator). PAL: The Public Ada LibraryProgrammer's Oasis - AdaSTSC Ada PageThe Ada95 Booch Components (Free!)TAP: The Ada ProjectWebAda Welcome PageX11/Ada 95 Programmer's Homepageback to Programming LanguagesOther Programming Languages back to Programming Languages back to Brad Appleton's WWW Links back to Brad Appleton's Home PageProgramming Languages: A-N (29 links)Programming Languages: O-Z (32 links)Programming Languages: A-NThe Agora Programming LanguageAgora is a reflective prototype-based object-oriented programminglanguage that is entirely (and solely!) based on message passing. The BETA Programming Languagegbeta - a free Beta implementationThe Blue Page - Teaching Object Oriented ProgrammingThe Claire Programming LanguageCLAIRE is a high-level functional and object-oriented languagewith advanced rule processing capabilities. It is intended toallow the programmer to express complex algorithms with fewerlines and in an elegant and readable manner. The Clay ProjectThe Clay project is a wide ranging project involving the designof the Clay language and its application to researches in thecognitive sciences. The Cause Programming LangaugeCause is an object-based programming language that focuses on thegoals of simplicity, performance, functionality, andextensibility. It includes a built-in relational database,automatic documentation, full function and computer capabilities,and a sophisticated report builder. Cause programming consistsof two simple tasks: creating Resources and connecting Steps.Resources are the objects that make up the program. Steps put theResources to work. The Cecil Programming LanguageCecil is a purely object-oriented language intended to supportrapid construction of high-quality, extensible software. Cecilincorporates multi-methods, a simple prototype-based objectmodel, a mechanism to support a structured form of computedinheritance, module-based encapsulation, and a flexible statictype system which allows statically- and dynamically-typed codeto mix freely. The Clean Programming LanguageConcurrent Clean is a general purpose, higher order, pure andlazy functional programming language for the development ofsequential, parallel and distributed real world applications.Clean is a language in the spirit of other modern lazy functionallanguages like Haskell and Miranda. People familiar with theselanguages will have no difficulty to program in Clean. The Cleancompiler has the nice property that it runs on small platforms(Mac, PC, Sun), while it compiles very quickly and produces codeof state-of-the-art quality. Common Lisp and CLOSCommon Lisp & CLOS links at CetusThe Dylan Programming LanguageDylan WorldThe E Programming LanguageE is a programming language for writing distributed applications.It combines Sun's Java programming language with some powerfulenhancements: communications extensions for the development ofdistributed applications; optimistic computation, a powerfulmethod for reducing the effect of communications latency indistributed systems; and an improved security model based oncapability semantics and public-key cryptography, permittingfine-grained control over access to system resources withoutsacrificing security. The Elf Meta-LanguageElf is a constraint logic programming language based on the LFLogical Framework. It is intended as a uniform meta-language forspecifying, implementing, and proving properties of programminglanguages and logics. The Emerald Programming LanguagebigFORTHThe Haskell Home PageHaskell is a `purely functional' language. Computation proceedsby replacing expressions with their value. While all computerlanguages incorporate functions to some degree, Haskell programsare composed solely of functions. Haskell is based on lambdacalculus, hence the l we use as a logo. The language is named forthe logician Haskell B. Curry, whose work provided much of thelogical basis for this language. The Icon Programming LanguageIcon is a high-level, general-purpose programming language with alarge repertoire of features for processing data structures andcharacter strings. Icon is an imperative, procedural languagewith a syntax reminiscent of C and Pascal, but with semantics ata much higher level. INTERCAL Resource PageThe Leda Programming LanguageLeda is a multiparadigm programming language. The idea of amultiparadigm language is to provide a framework in whichprogrammers can work in a variety of styles, freely intermixingconstructs from different paradigms. The techniques supported byLeda include imparative programming, the object-orientedapproach, logic programming, and functional programming. The LIFE Programming LanguageLIFE (Logic, Inheritance, Functions, and Equations) is anexperimental programming language proposing to integrate threeorthogonal programming paradigms proven useful for symboliccomputation. From the programmer's standpoint, it may beperceived as a language taking after logic programming,functional programming, and object-oriented programming. From aformal perspective, it may be seen as an instance (or rather, acomposition of three instances) of a Constraint Logic Programmingscheme due to Hoehfeld and Smolka refining that of Jaffar andLassez. The Limbo Programming LanguageLimbo is a programming language intended for applications runningdistributed systems on small computers. It supports modularprogramming, strong type checking at compile- and run-time,interprocess communication over typed channels, automatic garbagecollection, and simple abstract data types. It is designed forsafe execution even on small machines without hardware memoryprotection. Lisp, an interactive tutorialPlanet MawlMAWL is a new programming language that brings the net to a wholenew level. It will radically change the way interactive servicesare created. MAWL is a language developed at Bell Labsspecifically for implementing sophisticated Web services in aneasy, straightforward, reliable, safe and scalable way. The Mercury Programming LanguageMercury is a logic-based programming language that has strongtype and mode systems that detect a large percentage of programerrors at compile time. The information provided by the type andmode systems then allows the efficiency of the implementation tobe significantly increased. The ML Programming LanguageModula-3 Home PageNESL: A Parallel Programming LanguageNESL is a parallel language developed at Carnegie Mellon by theSCandAL project. It integrates various ideas from the theorycommunity (parallel algorithms), the languages community(functional languages) and the system's community (many of theimplementation techniques). The most important new ideas behindNESL are Nested data parallelism, and a langauge-basedperformance model. back to Other Programming LanguagesProgramming Languages: O-ZThe Oberon Home Page, ETH ZurichOberon is the name of a modern integrated software environmentfor single-user workstations. It includes a language in thePascal / Modula tradition and a highly effective and compactoperating platform. The Oberon Reference SiteVisualOberonThe Obliq Programming LanguageObliq is a lexically-scoped untyped interpreted language thatsupports distributed object-oriented computation. An Obliqcomputation may involve multiple threads of control within anaddress space, multiple address spaces on a machine,heterogeneous machines over a local network, and multiplenetworks over the Internet. Obliq objects have state and arelocal to a site. Obliq computations can roam over the network,while maintaining network connections. Objective-C Home PageThe Orca Parallel Programming LanguageThe Oz Programming SystemPhantom Home PageThe Pizza Language and Compiler SitePizza is an extension of Java with three important new features:Parametric polymorphism (although superficially similar to C++'stemplates, this implementation is based on the Hindley/Milnertyping systems of ML and Haskell). First-class functions (similarto the blocks of Smalltalk, functions and procedures may bepassed as parameters, stored in variables and returned frommethods). Class cases and pattern matching. Pizza includessupport for visitor-style patterns directly in the language,allowing much more expressive and readable code. Pizza compilesprograms to ordinary Java Byte Code, and interfaces with existingJava code, retaining the broad compatibility of Java. The Python Programming LanguagePython Programming IntropSather home page - parallel SatherThe Sather Programming LanguageSather is an object oriented language designed to be simple,efficient, safe, flexible and non-proprietary. One way of placingit in the "space of languages" is to say that it aims to be asefficient as C, C++, or Fortran, as elegant as and safer thanEiffel, and support higher-order functions and iterationabstraction as well as Common Lisp, CLU or Scheme. Sather links at CetusThe Scheme Programming LanguageScheme Intro: Langauge and ImplementationThe Self Programming LanguageSelf, Cetus LinksSelf TutorialSelf, a quick tutorialThe Simula Programming LanguageSimula, an IntroductionSimula links at CetusSinaSina is a concurrent object-oriented programming language, and itis the first language to adopt the Composition Filters ObjectModel (CFOM). The CFOM is an extension to the object-orientedmodel and can express a number of concepts in a reusable andextensible way. The Sina language has been developed by theTRESE project as an expressive vehicle for the CompositionFilters Object Model. The TRESE project (part of the SETI Groupat the Computer Science Department of the University of Twente,The Netherlands) performs activities related to research oncompositional object technology. The Theta Programming LanguageTheta is a new object oriented programming language underdevelopment by the Programming Methodology group, to be used inThor. Some of Theta's features are: Separate type and classhierarchies, Multiple super-types, Single inheritance,Constrained parametric polymorphism, and Subtype polymorphism. TkGoferTkGofer is a library (a prelude file) of functions for writinggraphical user interfaces in the functional language Gofer. Thelibrary provides a convenient, abstract and high-level way towrite window-oriented applications. The implementation rests onmodern concepts like monads and constructor classes. For theimplementation of graphical IO we added a few primitives to thestandard Gofer interpreter to communicate with the graphicaltoolkit Tcl/Tk. The TOM Programming LanguageTOM is an object oriented programming language. To highlight afew features: it is dynamic; it provides very simple (as in`elegant') multiple inheritance; methods are overloaded on bothargument and return types; instances as well as classes are trueobjects; they can be extended and modified at run time and atcompile time; objects are managed by a non-atomic garbagecollector; returns are multi-valued; methods have pre- andpostconditions; and the exception mechanism, like every part ofthe 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 LanguageThe design philosophy of Transframe is to provide a diversity interms of a simple, transformable framework that can be adapted tovarious specific problem domains. Transframe provides aframework that can be adapted to achieve the power of dynamictyping for rapid development, but can also be transformed intostatic model to preserve the efficiency and quality of thecurrent static typed languages. The gap between dynamicprogramming and static programming vanishes. Transframe enables asoftware development environment that provide run-timeclass/function creation and modification and the power ofpolymorphism provided by a dynamic language. Meanwhile,Transframe enables a software product that has the equal size andspeed to the equivalent product developed by traditional staticlanguages. The framework produces models (classes) that can befrozen and melt freely between dynamic/static environment. Thepenalty is scalable depending on the required degree ofdynamicity or polymorphism for a final product. TXL Home PageTXL is a programming language and rapid prototyping systemspecifically designed to support transformational programming.The basic paradigm of TXL involves transforming input to outputusing a set of structural transformation rules that describe byexample how different parts of the input are to be changed intooutput. Each TXL program defines its own context free grammaraccording to which the input is to be structured, and rules areconstrained to preserve grammatical structure in order toguarantee a well-formed result. The Tycoon ProjectTycoon is a polymorphic persistent programming environment forthe development of data-intensive applications in openenvironments. The Tycoon system emphasizes system scalability andinteroperability 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 ProjectThe United Functions and Objects project has developed aprogramming language which unites functional and Object OrientedProgramming techniques. A large subset of UFO is a pure,higher-order functional language incorporating the OO notions ofclasses, inheritance, and dynamic binding. Another importantaspect is the provision of multi-dimensional functional arrays,with integrated loop structures and monolithic operators, whichgeneralise those of SISAL. However, unlike SISAL, UFO is not apure functional language. It has stateful objects, which allowprograms to be written in a concurrent object-oriented stylewhere appropriate. Safeguards are provided, both in the semanticsof operations on stateful objects and in the type system, tominimise the problems associated with introducing state. The YAFL Programming LanguageThe YAFL Programming Language is a middle term research projectwhich covers the design and the implementation of a newobject-oriented language, as well as several attached programmingtools. This paper first describes the language and its underlyingprinciples. It also provides some information about theexperience gained when using it. back to Other Programming Languagesback to Programming Languagesback to Brad Appleton's WWW Linksback to Brad Appleton's Home Page |
|