SAL Home PROGRAM Languages & Compilers

[an error occurred while processing this directive]

Computer languages are symbolic systems that computers eventually understand. They help your programs serve your needs. Compilers are programs that help to make this "understanding" happen. While the first generation of high-level programming languages, such as Fortran, are still in wide use and evolving, many new languages with higher level abstration capability are emerging. Since the nature of scientific research is to explore the unknown world and test new theories, programming languages are usually the most important interface between scientists and computers. For computer scientists, improving code execution efficiency on a given architecture and developing high level abstraction capability of the language are challenging.

Search SAL:
Languages & Compilers   ([CM] Commercial, [SR] Shareware, [GPL] GPL)

[B/D] -- interactive programming language for analyses of Bayes linear statistical problems.
ACL2 [GPL] -- programming language to model computer system and prove properties.
ADAMO -- scientific programming system based on the Entity- Relationship (ER) model.
ADL -- a specification language for programming interfaces.
Algae[GPL] -- a high-level interpreted language for numerical analysis.
AMC -- a compiler of C with model and object-oriented functionality.
APL --- a unique, general-purpose high level programming language

APL c compiler -- a compiler which translates APL to C code.
CAPLIB2 [GPL] -- an APL interpreter and a C library for APL calls.
Applix SHELF [GPL] -- an embedable fully featured programming language.
APRIL -- a symbolic programming language for multi-agent systems.
ASpecT -- a strict functional language.
Bywater BASIC -- ANSI BASIC interpreter.
CINQ [GPL] -- to create a BASIC compiler system.
Chipmunk Basic -- an old fashioned Basic interpreter.
Harbour [GPL] -- a project to develop a free, cross-platform compiler for Xbase language.
HotTEA -- an implementation of the BASIC language written in Java.
Instant Basic for Java [CM] -- pure Java certified 4GL tool similar to Visual Basic.
OmniBasic [CM] -- a structured dialect of Basic with many extensions.
OpenBasic [GPL] -- Basic interpreter and run-time system similar to Basic Four Business Basic.
PRO/5 [CM] -- business application development tools based on BBx BASIC language.
QB2C -- a QuickBASIC to C translator with X11 graphics support.
QueriX 4GL -- 4GL compilers which are Informix 4GL compatible.
NEW ScriptBasic [GPL] -- cross-platform BASIC scripting language.
STBasic [GPL] -- a structured BASIC interpreter.
VBVM -- a portable version of MS Visual Basic 5 virtual machine.
YABASIC [GPL] -- implements most comman BASIC elements with some graphics.
Zen -- a full featured BASIC interpreter.
BCPL/MCPL -- simple typeless languages.
b2c -- a compiler which reads BETA and translates it to C.
BETA System [CM] -- modern object-oriented language.
gbeta [GPL] -- a new implementation of a generalization of BETA language.
Blue -- an object-oriented programming language that was developed especially for teaching.
BOIL [GPL] -- C-like language with distributed programming, accounting, etc.
Brain [GPL] -- a fully object-oriented high level scripting language.
C/C++ --
Comeau C++ [CM] -- a multi-platform C++ front end compiler.
Compaq C for Linux Alpha -- Alpha chip optimized C compiler.
CH -- The CH language environment is a superset of C.
CINT -- a C/C++ interpreter which is aimed at processing C/C++ scripts.
Dynace -- an object-oriented extension to C.
egcs [GPL] -- an experimental step in the development of GCC.
EiC -- an extensible interactive, pointer-safe, bytecode C interpreter/compiler.
Fujitsu High Performance C/C++ and Fortran 95 Compiler [CM]
GCC [GPL] -- GNU C/C++/Objective-C compiler system.
KAI C++ [CM] -- an optimized cross-platform C++ compiler.
lcc -- a retargetable compiler for ANSI C.
OpenC++ -- a version of C++ with Metaobject Protocol.
optimizer [GPL] -- optimizes GCC/G++ assembler code to run with Pentium instructions.
Pentium-GCC [GPL] -- Pentium optimized GCC.
Portable Object Compiler -- an independent implementation of Objective C.
Portland Group parallelizing HPF, F77, C, and C++ Compilers [CM]
SGI Pro64 -- a suite of optimizing compiler development tools for Linux/Intel Itanium(TM) systems.
Stepstone Objective C compiler [CM] -- objective C compiler.
TenDRA -- a public domain C/C++ compiler and checker technology.
C-INTERCAL -- an implementation of language INTERCAL which look like no others.
Cecil/Vortex -- a language-independent optimizing compiler back-end for OO languages.
cim [GPL] -- a compiler for the programming language Simula.
CLAIRE -- a functional and OO language with advanced rule processing capabilities.
Clif [GPL] -- a C-like interpreter framework.
CM3 [CM] -- a cross-platform compiler and runtime libraries.
COBOL Interpreter -- a compact and easy to use COBOL interpreter.
ACUCOBOL-GT [CM] -- GUI-enhanced COBOL applications developing system.
Deskware COBOL Interpreter [CM] -- a compact and easy to use COBOL interpreter.
NEW PERCobol [CM] -- COBOL compiler bridging COBOL and Java technology.
tiny cobol [GPL] -- an effort to bring a free cobol compiler to Linux.
CompWork [SR] -- a framework for the TCL compiler suite.
DINO -- an interpreter with high level scripting dynamic-typed language.
EGR Cobra [CM] -- an interpreted programming language with C++--like syntax.
ECLiPSe -- a development environment for constraint programming applications.
Eiffel -- an advanced object-oriented programming language.
Eiffel/S_1.3S [SR] -- Eiffel Compiler for Linux.
Eon/Eiffel [SR] -- an implementation of the Eiffel Language.
ISE Eiffel[CM] -- includes wide range of products based on Eiffel.
SmallEiffel [GPL] -- a free Eiffel compiler.
TowerEiffel [CM] -- a complete software development environment.
NEW elastiC -- a portable high-level OO interpreted language with a C like syntax.
eNITL -- a scripting and template language engine for C++ applications.
Esterel -- a family of synchronous languages for programming reactive systems.
Euphoria -- a simple, flexible, fast, and easy to learn interpreted language.

Expect -- a scripting language to interace with programs such as FTP, telnet, fsck, etc.
Flick IDL Compiler -- a compiler for interface definition language.
Forth --
bigFORTH [GPL] -- a 32bit, native ANS Forth compiler.
Gforth [GPL] -- a fast and portable implementation of the ANS Forth language.
ficl -- a Forth interpreter writtenin C.
kForth [GPL] -- a simple Forth programming language and environment.
PFE [GPL] -- a programming environment for the programming language Forth.
ThisForth -- a macro-oriented Forth based on Standard (ANS) Forth
Fortran ---
Absoft Pro Fortran [CM] -- globally optimizing Fortran 77/90 compilers, and debugger.
Compaq Fortran for Linux Alpha -- Alpha optimized Fortran compiler.
F [CM] -- a carefully crafted subset of the most recent version of Fortran.
f2c -- a Fortran 77 to C translator.
f77reorder -- a f77 filter which solves some compatibility problem of f2c.
Fujitsu High Performance C/C++ and Fortran 95 Compiler [CM]
Lahey/Fujitsu Fortran 95 Express [CM] -- full Fortran 77, 90 and 95 language system.
NASoftwae FortranPlus [CM] -- a full implementation of Fortran90/95 standard.
NDP Fortran [CM] -- a full implementation of Fortran 77 with lots of extentions.
GNU Fortran [GPL] -- GNU Fortran compiler (g77).
g95 [GPL] -- a project to create a free, open source Fortran 95 compiler.
NAGWare f77 to f90 Converter[CM] -- a GUI for upgrading code to Fortran 90.
NAGWare f77 Tools [CM] -- processing/analysing/transforming Fortran 77 code.
NAGWare f90 Compiler [CM] -- Fortran 90 compiler from NAG.
NAGWare f90 Tools[CM] -- source-to-source translations of Fortran 77 and 90 code.
Portland Group parallelizing HPF, F77, C, and C++ Compilers [CM]
Ratfor -- converts the Rational Fortran dialect into ordinary Fortran 77.
SGI Pro64 -- a suite of optimizing compiler development tools for Linux/Intel Itanium(TM) systems.
VAST/77to90 [CM] -- a Fortran 77 to Fortran 90 translator.
VAST/f90 -- a Fortran 90 to g77 translator.
FPL -- a C-like interpreting script/macro language.
GNAT [GPL] -- a high-quality and complete compiler for Ada95 integrated into GCC.
GNU Sather [GPL] -- object oriented language which designed to be simple, efficient, safe.
Groovy Java Genetic Programming [GPL] -- a strongly-typed genetic programming experimentation platform.
Gödel -- a declarative, general-purpose programming language.
GOMscript [GPL] -- an interpreter for an object-oriented, C++-like, language.
Gorby [GPL] -- a small, stack-based scripting language.
Guile [GPL] -- includes an embeddable Scheme interpreter, several graphics options.
GOOPS [GPL] -- an object-oriented extension to Guile.
Gwydion Dylan -- an implementation of a dynamic language strongly resembling Dylan.
HASKELL -- a general purpose, purely functional programming language.
Hugs -- a functional programming system based on Haskell.
Glasgow Haskell Compiler -- an implementation of Haskell functional language.
ICI -- a general purpose interpretive programming language.
Icon -- programming language with features for processing text and data structures.
Jcon -- a Java-based Icon implementation.
NEW Internet C++ and ICVM -- an open alternative to Java and C-Sharp, and its virtual machine.
Inferno -- a network operating system and programming environment.
iPP [CM] -- a platform independent preprocessor written entirely in Java.
iScript -- a platform independent scripting language written entirely in Java.
J [CM] -- high level language emphasized on functional programming and array processing.
Jacl -- a Tcl interpreter for Java.
Java & JDK -- a powerful object oriented language and development environment.
CACAO -- 64 bit just-in-time (JIT) compiler for Java on Alpha processor.
DynamicJava -- a Java source interpreter written in Java.
EPP -- an extensible Java source-to-source pre-processor.
GCJ -- a GCC front end for compiling Java source and bytecode.
GJ -- a generic Java language extension.
Guavac [GPL] -- a standalone compiler for the Java programming language.
Harissa -- a compiler from Java bytecode to C and a Java interpreter.
Homebrew Decompiler [GPL] -- a decompiler for Java class files.
Instant Converter [CM] -- converts BASIC source code to Java source code.
J-Mate [CM] -- Java development environment.
j2c -- a translator from java .class to C program.
Jad -- a fast Java decompiler.
JavaParty -- an extension of Java with some important new features.
Japhar [GPL] -- Hungry Programmer's Java VM.
jas -- a Java bytecode assembler.
Jasmin [GPL] -- a Java assembler interface.
JavaCC (Java Compiler Compiler) -- a Java parser generator.
Jester -- an extension to Java to program reactive systems with Esterel constructs.
Jikes -- faster Java compilers that adheres to languages and VM specifications.
JUMP -- a bytecode compiler to compile JAVA source code.
Linux JDK -- IBM's port of Java 2 Platform to Linux.
Kaffe [GPL] -- a virtual machine design to execute Java bytecode.
KOPI [GPL] -- a completely open source Java compiler.
JOLT -- implementation of Sun's Java language and tools.
NetRexx -- a human-oriented language designed to be an alternative to Java.
PIZZA -- a substantial companion to Java.
Snacc -- A Java stub compiler for ASN.1 specifications.
Toba -- a Java-to-C translator.
TowerJ [CM] -- a high performance compiler for server-side Java.
TurboJ -- a high perfromacne Java compiler.
TYA [GPL] -- a JIT-compiler for Linux JDK.
WingDis [CM] -- a Java decompiler.
JEL [GPL] -- a library for evaluating a simple single line expressions in Java.
LDL [GPL] -- a language development laboratory.
LIFE -- an experimental language proposing to integrate logic/functional/OO programming.
Lisp -- a high-level language, especially popular for artificial intelligence.
Allegro CL -- a Common Lisp system for application development and deployment.
CLISP Common Lisp [GPL] -- a popular Common Lisp implementation.
CMU Common Lisp -- CMU implementation of Lisp.
Elisp (Emacs Lisp) [GPL] -- the language used to extend emacs.
EusLisp -- an integrated programming system for the research on intelligent robots.
GCL [GPL] -- implementation of Lisp that used to be known as Kyoto Common Lisp.
Graphic Lisp [GPL] -- portable Common Lisp language written in ANSI-C.
iLisp -- a small, multiplatform implementation of Lisp language.
Linux Poplog -- developing CLisp, Prolog, Pop-11 and standard ML.
LISP DEBUG [GPL] -- source level debugger with GUI for LISP program.
Screamer -- an extension of Common Lisp with nondeterministic programming.
Simple Lisp -- a simple lisp interpreter with symbolic math library for tensors.
NEW Steel Bank Common Lisp -- a development environment for Common Lisp.
xbvl -- a Lisp dialect.
Lua -- a simple, yet powerful, language for extending applications.
Marlais [GPL] -- an object-oriented dynamic language.
Maxtal Interscript -- an advanced literate programming system.
Mercury [GPL] -- logic programming language.
Micro Tools for Linux -- development tools for Atmel AVR micro-controllers.
ML -- a strict functional language
Caml Light -- a small, portable implementation of the ML language.
Extended ML -- a framework for specification and development of Standard ML.
Moscow ML -- a light-weight implementation of Standard ML.
Objective Caml -- an implementation of the Caml dialect of ML.
Standard ML of New Jersey (SML/NJ) -- a compiler for the Standard ML.
mixal -- language for D.E.Knuth4s hypothetical computer, the MIX 1009.
Modula-3 -- a simple and safe modern systems programming language.
GPM -- consistent implementation of Modula-2 on contemporary machines.
MOCKA -- a Modula-2 compiler system.
SRC Modula-3 -- a free implementation of Modula-3 on many operating systems.
Cambridge Modula-3 -- a free implementation of Modula-3 on many OS's.
Mozart -- a distributed programming language for symbolic and reactive programming.
NCL -- a natural constraint language.
NQC -- a simple language with a C like syntax.
Oberon -- a programming language and a modern operating system.
JACOB -- a compiler for Oberon-2.
Oberon V4 for GNU/Linux [GPL] -- an implementation of Oberon V4 for Linux.
oo2c [GPL] -- Oberon-2 to ANSI-C translator.
XDS [CM] -- a bilingual programming system featuring Modula-2 and Oberon-2.
OPAL -- a language designed as a testbed for developing functional programs.
OZ -- a concurrent constraint programming language and its interactive implementation.
PAG -- a Program Analyzer Generator which makes static program analysis easy.
PAMELA -- a language that supports a procedure-oriented modeling paradigm.
Pascal ---
Free Pascal [GPL] -- a free 32-bit Pascal compiler.
gpc [GPL] -- GNU Pascal compiler.
NDP Pascal -- a full implementation of Pascal.
PTOC -- ANSI/Turbo Pascal to C/C++ converter with BGI graphics library emulation.
Perl -- an interpreted language intended to be practical.
ePerl [GPL] -- an embedded Perl 5 language.
Perl/Tk -- Access Tk facilities within Perl.
PFL [GPL] -- a simple functional language with database extensions.
Pike [GPL] -- a dynamic programming language with a syntax similar to C.
PLAN -- a programming language for active networks.
Pliant [GPL] -- a programming language framework and a new generation of language.
PRECC -- an infinite-lookahead compiler-compiler for context dependent grammars.
Prolog -- high-level language based on formal logic, widedly used in artificial intelligence.
B-Prolog -- a CLP system that runs Prolog and CLP(FD) programs.
BinProlog -- a fairly complete and efficient Prolog compiler.
clp(FD,S) -- semiring-based constraint logic programming language over finite domains.
GNU Prolog [GPL] -- a Prolog compiler with constraint solving over finite domains.
jProlog [GPL] -- a Prolog interpreter in Java.
JVProlog -- implementation of Prolog based on special abstract machine.
Linux Poplog [CM] -- developing Common Lisp, Prolog, Pop-11 and standard ML.
LLP -- a logic programming language based on intuitionistic linear logic.
Lolli -- a logic programming language based on a fragment of linear logic.
Lygon -- Prolog extended with features derived from linear logic.
PM -- a compiler for the logic programming language LambdaProlog.
Prolog + Logic Server [CM] -- Prolog component developing in other languages.
SICStus Prolog [CM] -- advanced Prolog applications development system.
SWI-Prolog -- a fairly complete Edinburgh-style Prolog.
Terzo -- an interpreter of lambda Prolog implemented in Standard ML of NJ.
W-Prolog -- an interpreter for a Prolog like language implemented in Java.
wamcc -- a Prolog Compiler which translates Prolog to C.
XSB -- an extension of an Edinburgh Prolog system.
NEW Pnuts -- a scripting language totally written in Java.
Python -- interpreted, interactive, object-oriented programming language.
JPython -- an implementation of Python integrated with the Java platform.
Ptui -- a Python editor/interpreter programmed entirely in Python.
Pyfort -- creating extensions to the PYTHON using Fortran routines.
QCL [GPL] -- programming language and simulator for quantum computers.
R [GPL] -- language for statistical calculations.
Reactive-C -- a C based language for reactive programming.
REBOL -- a multi-platform Internet communications language.
REXX -- procedural programming language.
NetRexx -- a programming language designed to be an alternative to Java.
Object REXX -- a scripting language which is easy to learn and read.
Regina [GPL] -- an implementation of the REXX language.
REXX/imc -- REXX implementation on UNIX.
S/REXX [CM] -- UNIX implementation of IBM's SAA procedural language.
Rigal -- a programming language and tool for compiler writing.
Rivl -- a multimedia processing language.
Rivet -- a version of Tk without the overhead of Tcl.
Ruby [GPL] -- an interpreted scripting language for quick and easy OO programming.
Sather-K -- a modern object-oriented, imperative programming langauage.
Scheme -- a high-level language and is a dialect of Lisp.
Bigloo [GPL] -- a Scheme interpreter and compiler.
DrScheme -- a graphical environment for developing Scheme programs.
Elk -- an implementation of the Scheme programming language.
Gambit -- a high-performance implementation of Scheme.
Hobbit [GPL] -- a small optimizing scheme-to-C compiler.
Inlab-Scheme [CM] -- an independent implementation of Scheme.
Kawa -- a Java-based Scheme system.
LISC [GPL] -- a lightweight Scheme interpeter written in Java.
MIT Scheme [GPL] -- a Scheme compiler which generate faster code.
MrEd [GPL] -- GUI development environment with Scheme language.
MzScheme [GPL] -- a Scheme implementation which is R4RS-compilant.
OpenScheme -- a Scheme interpreter/compiler/debugger conform to the R4RS.
Oscheme -- Objective Scheme.
QScheme [GPL] -- a fast and small implementation of Scheme written in C.
RScheme -- well-structured implementation of the Scheme language.
Scheme-to-C -- a Scheme-to-C compiler.
Scsh -- broad-spectrum programming environment embedded in R4RS Scheme.
SIOD -- a small scheme interpreter with database, unix programming and cgi extensions.
STk -- Scheme interpreter which can access to the Tk graphical package.
SDCC [GPL] -- a retargettable, optimizing ANSI-C compiler.
SeeR -- a multipurpose C-like scripting library.
Shift -- a programming language for describing dynamic networks of hybrid automata.
SILOON -- scripting interface languages for object-oriented numerics.
Smalltalk -- object-oriented programming language.
NEW Cincom VisualWorks [CM] -- a robust cross-platform Smalltalk development environment.
GNU Smalltalk [GPL] -- GNU Smalltalk implementation.
Smalltalk/X -- implementation of the Smalltalk language.
Squeak -- Squeak is a full implementation of the Smalltalk-80 system.
SNOBOL4 -- a port of Macro SNOBOL4 for machines with 32-bit pointers.
Spanner -- a glue/scripting/prototyping programming language.
Tcl/Tk -- embeddable scripting language and graphical user interface toolkit.
Tcl Blend -- a Tcl extension that provides access to Java inside Tcl.
tinySelf -- an implementation of Self for Linux.
Titanium -- a dialet of Java for large-scale scientific computing.
Toby [GPL] -- a LOGO-like language written in Java.
NEW TXL -- a language and rapid prototyping system designed to support source text analysis and transformation tasks.
UML -- a language for specifying, visualizing, constructing, and documenting the artifacts of software systems.
NEW Yoix -- scripting language uses syntax and functions similar to C and Java.

Also check out:
AFML -- a language for modeling the structural and semantic aspects of real world.
AL -- a programming language for modeling and animation.
AMPL [CM] -- a modeling language for mathematical programming.
cfengine -- a very high level language for administrating and configuring unix-like systems.
Cilk -- an algorithmic multithreaded language.
Dynamite [GPL] -- a code generating language developed for sequence comparison methods.
GAMS [CM] -- a high-level modeling system for mathematical programming problems.
GCL -- an interpreter language based on plotting library DISLIN.
Glish (within AIPS++ system) -- a language/environment for data acquisition/analysis.
Isaac -- scientific calculator and programming language.
MAX [CM] -- Xbase compiler with integrated database engine.
MetaCard [CM] -- a multimedia authoring tool and GUI development environment.
MSDL -- a scene description language for graphics research.
NEW Nickle -- a desk calculator language with powerful programming and scripting capabilities.
PerlDL -- turn perl into an array-oriented, numerical language.
ProvideX [CM] -- an object-oriented, business basic development environment.
RLaB [GPL] -- matrix oriented, interactive programming environment.
S-Lang [GPL] -- an interpreted language could be embedded into an extensible application.
Soar -- a cognitive architectural framework and mode ls, and an AI programming language.
ZPL -- a portable, high performance parallel programming language for computations.

Other Links:

Pascal Central

Internet Meta-Resources -- Linux and programming resourses.

Programming Languages for the JVM

The Web Wanderer's List of Linux Applications: Programming Languages Section.

Linux Fortran Information Page

Fortran Market Page

Fortran FAQ

Programming Language Research -- a collection of information and resources for research in programming language theory, design, implementation, and related areas.

Review of existing Languages

FAQ for comp.lang.functional news group

Catalog of Free Compilers and Interpreters

Catalog of compilers, interpreters, and other language tools

Yahoo Links ---

  Tools & Utilities
  SAL Home   |   Programming

Copyright © 1995-2001 by Herng-Jeng Jou
Copyright © 1997-2001 by Kachina Technologies, Inc.
All rights reserved.