IS&T Home / What Runs Where

What Runs Where on Athena: Languages


On this page:
C
C++
FORTRAN
Other Languages

Debuggers/Development Environments

 

C, C++ & FORTRAN: C

Title and Description:

cc
Description: Sun C compiler

TO RUN:

athena% add -f sunsoft (for default version 5.9)

athena% add -f sunsoft_v12u1 (for version 5.10)

athena% cc options file.c (or use makefile)

athena% cc -flags gives a concise summary of command-line options

There is online documentation, local Sun Studio 12 documentation for Linux, Studio 12 update 1 documentation; also local C Answers

See also: gcc, lint

Note:

Please read file /mit/sunsoft_v12u1/README.dynamic_linking for information on dynamic linking

on Linux machines, /usr/bin/cc is generally a symlink to gcc

Title and Description:

gcc
Description: GNU C compiler. There are several versions on Athena- the one in the Athena release is preferred. Some of the older ones won't run on debathena machines and aren't listed below (for any of these, type gcc -v to check version)

TO RUN:

athena% add -f gcc-3.4 (for 3.4.3)

athena% add -f gcc-4.0 (for 4.4.0)

athena% info gcc (for online help)

athena% gcc options file.c

There is a gcc Web page

See also: cc, gdc

Note:

If you don't add or attach any locker, the version used will be the default version in the Athena release, currently 4.3.3

Title and Description:

lint
Description: checks C programs for compliance with syntax and style rules

TO RUN:

athena% add -f sunsoft (for Sunsoft 12 version)

athena% add -f sunsoft_v12u1 (for Sunsoft 12 update 1 version)

athena% lint file.c

athena% lint -flags gives a concise summary of command-line switches

See also: cc, ftnchek, TotalView

Note:

This version of lint is supplied with the Sun compiler set and is designed to work with features supported by those compilers

Back To Top

 

C, C++ & FORTRAN: C++

Title and Description:

CC
Description: Sun C++ compiler

TO RUN:

athena% add sunsoft (for default version 5.9)

athena% add sunsoft_v12u1 (for version 5.10)

athena% CC options file.C

athena% CC -flags gives a concise summary of command-line options

There is online documentation, local Sun Studio 12 documentation for Linux, Studio 12 update 1 documentation

See also: g++

Note:

Please read file /mit/sunsoft_v12u1/README.dynamic_linking for information on dynamic linking.

Title and Description:

g++
Description: GNU C++ compiler. There are several versions on Athena- the one in the Athena release is preferred (for any of these, do gcc -v to check version)

TO RUN:

athena% add -f gcc-3.4 (for 3.4.3)

athena% add -f gcc-4.0 (for 4.4.0)

athena% info g++ (for online help)

athena% g++ options file.cpp

There is a gcc/g++ Web page

See also: boost, CC, EiffelStudio, Erlang, gdc

Note:

If you don't add or attach any locker, the version used will the the default version in the Athena release, currently 4.3.3

Back To Top

 

C, C++ & FORTRAN: FORTRAN

Title and Description:

f77
Description: Sun FORTRAN 77 compiler

TO RUN:

athena% add sunsoft (for version 8.3)

athena% add sunsoft_v12u1 (for version 8.4)

athena% f77 options file.f

athena% f77 -flags gives a concise summary of command-line options

There is online documentation, local Sun Studio 12 documentation for Linux, Studio 12 update 1 documentation; also local FORTRAN Answers

See also: ftnchek, g77/gfortran, f90

Note:

Please read file /mit/sunsoft_v12u1/README.dynamic_linking for information on dynamic linking

Title and Description:

g77/gfortran
Description: GNU FORTRAN 77/90 compiler

TO RUN:

athena% add gcc-3.4 (for 3.4.3)

athena% add -f gcc-4.0 (for 4.4.0)

athena% g77 options file.f ( for versions <4.0)

athena% gfortran options file.f (for versions >=4.0)

See also: ftnchek, f77, f90

There is gnu documentation

Note:

the g77/gfortran compiler is a front-end to the gcc compiler

g77 has been replaced by gfortran as of the 4.0 release. gfortran is mostly compliant with the FORTRAN 90 specification

If you don't add or attach any locker, the gfortran version used will the the default version in the Athena release, currently 4.3.3; there is also a f95 compiler in the Athena release based on gcc, also version 4.3.3

Title and Description:

f90/f95
Description: Sun FORTRAN 90/95 compiler

TO RUN:

athena% add -f sunsoft (for version 8.3)

athena% add -f sunsoft_v12u1 (for version 8.4)

athena% f90 options file.f90

athena% f95 options file.f95

athena% f90 -flags gives a concise summary of command-line options

There is online documentation, local Sun Studio 12 documentation for Linux, Studio 12 update 1 documentation; also local FORTRAN Answers

See also: f77, g77/gfortran, ftnchek

Note:

Please read file /mit/sunsoft_v12/README.dynamic_linking for information dynamic linking

Title and Description:

ftnchek
Description: checks FORTRAN programs for compliance with syntax; similar to lint for C programs

TO RUN:

athena% ftnchek file.f

There is a developer Web page and online documentation

See also: f77, f90, g77/gfortran, lint, TotalView

Back To Top

 

Other Languages

Title and Description:

mlisp (Allegro Common Lisp)
Description: Common Lisp programming language

TO RUN:

athena% add acl

athena% mlisp [-I <image path and name>.dxl] options (to run Lisp only, command-line interface; type :exit at Lisp prompt to exit)

athena% mlisp-xemacs & (to run Lisp only, xemacs interface)

athena% mlisp-composer & (to run Lisp with Composer, xemacs interface; then ACL -> Composer -> Start Composer)

athena% mlisp-composer-emacs & (to run Lisp with Composer, emacs interface)

athena% mlisp-clim & (to run Lisp with CLIM, xemacs interface)

athena% mlisp-clim-emacs & (to run Lisp with CLIM, emacs interface)

To run CLIM demos, after loading mlisp-clim, type:

(require :climdemo)

followed by:

(clim-demo:start-demo)

There is 8.1 documentation, release notes and CLIM manual

There is an online Lisp language reference manual. For a detailed hypertext Common Lisp guide see the Lisp HyperSpec from LispWorks; see also the FAQ, and the Dynamic Learning Center. There are free online books: On Lisp, Practical Common Lisp

See also: clisp, Clojure, drscheme, scheme, SCM

Title and Description:

AMPL
Description:modeling language for mathematical optimization programming

Licenses: we have 10 floating licenses

TO RUN:

athena% add oplstudio

athena% ampl (starts the interactive development environment)

AMPL can be run with a built-in CPLEX solver (the default) or using one of two optional solvers, LOQO, or SNOPT

To select LOQO as solver, type option solver loqo; at the ampl: prompt.

To select SNOPT as solver, type option solver snopt; at the ampl: prompt.

To exit, type quit at the ampl: prompt

There is online documentation and SNOPT information

See also: GNU Linear Programming Kit, ipopt, lpsolve, OPL Studio, snopt

Note:

AMPL is on Athena by courtesy of a license funded by Sloan. It is available "as is", with no end-user support. We cannot guarantee uninterrupted operation, nor that it will remain on Athena after the current license expires on 1/31/10. Questions about this can be addressed to the 3partysw@mit.edu mailing list

Title and Description:

awk
Description: pattern scanning and processing language. awk scans an input file inputfile for lines that match any of a set of patterns specified in scriptfile. With each pattern in scriptfile there can be an associated action that will be performed when a line of inputfile matches the pattern. A pattern-action statement has the form: pattern { action }. Either pattern or action may be omitted. If there is no action, the matching line is printed

Individual awk commands are frequently used within shell or perl scripts to perform text transformations on fields within lines of text

TO RUN:

awk -f scriptfile inputfile

See also: lua, newLISP, perl

Title and Description:

clisp
Description: Common Lisp compiler and interpreter. Also included are almost all of CLOS, a foreign language interface and a socket interface. An X11 interface is available through CLX and Garnet. Command line editing is provided by readline

TO RUN:

athena% clisp

Author site is here

See also: Allegro Common Lisp

Title and Description:

Clojure
Description: Java-based, LISP-like dynamic programming language that compiles to Java bytecode

TO RUN:

athena% add clojure

athena% clojure (to run interactively; see documentation for compiling to Java class files)

There is a Web page, a reference guide, Wikipedia article and extended guide

See also: Allegro Common Lisp, drscheme, guile, Hugs 98, Java Development Kit, jython, scheme, SCM

Title and Description:

cobra
Description: .NET/mono programming language compiler. cobra is a new language, under active development. It supports quick, expressive coding, fast execution, static and dynamic binding and language-level support for quality

TO RUN:

athena% setup mono

athena% cobra -c file.cobra (to compile file.cobra to CIL byte code file.exe)

athena% mono options file.exe (to execute CIL byte code file file.exe)

athena% cobra -h (to see all cobra command-line options)

The main Cobra page is here; documentation starts from here

See also: fsc, gdc, Java Development Kit, mcs, scala

Title and Description:

cT (old and no longer supported by authors- not recommended for new work)
Description: interpreted programming language for authoring and executing applications with menus, buttons etc. Code is easily ported across machine architectures (UNIX, PC, Mac)

TO RUN:

athena% add ct

athena% cT file.t (authoring version, file.t is a cT source file)

To run cT binaries:

In next run command, myfile refers to a file myfile.machine.ctb, which is a binary file created from a cT source file by running the authoring version on the source file and saving as binary (Option -> Make Binary); machine is an architecture descriptor generated by the cT authoring program. For example, starting with cT source file myfile.t on a Linux machine one would get myfile.linux.ctb as the saved binary file; to run under the executor version, use myfile only- do not add the extension

athena% cTx myfile (executor version)

athena% cT -x myfile (same as above, using authoring version)

There is a cT information page

See also: Qt, Tcl, Tk, yorick

Title and Description:

drscheme
Description: PLT Scheme development environment, consisting of a GUI development environment (drscheme), command-line interpreter (mzscheme), graphics-capable interpreter (mred), Scheme compiler (mzc) and help-system interface (help-desk); designed primarily for teaching Scheme programming

TO RUN:

athena% add -f drscheme

athena% drscheme & (to run GUI programming environment)

athena% mred & (to run graphics-capable interpreter)

athena% mzscheme (to run command-line interpreter)

athena% mzc options file.scm (to compile file.scm)

athena% plt-help & (to access help system)

There are also online manuals and web site

"Structure and Interpretation of Computer Programs" is here

See also: Allegro Common Lisp, Clojure, guile, scheme, SCM

Note:

A slightly older version is in the Athena release; to access it don't add the drscheme locker

Title and Description:

EiffelStudio
Description: development environment and command-line compiler for the Eiffel programming language. This is an object-oriented language that incorporates "programming by contract" in addition to the usual features of object-oriented languages

TO RUN:

athena% add eiffel

athena% estudio (to run IDE)

athena% ec options file.acs options (to use command-line compiler to compile file hello.e, which does not appear on the command line. See also README.hello_world)

Local documentation is here; see also the local README.athena and the Eiffel Home Page, and gobo utility documentation. There are also current and archival documentation sites

See also: Erlang, gdc, ghc, Hugs 98, OCaml, python, ruby, scala, sml, g++

Title and Description:

Erlang
Description: functional programming language that incorporates features more commonly associated with an operating system such as concurrent processes, scheduling, memory management, distributed computing and networking

TO RUN:

athena% erl options files

At the erl > prompt:

1> toolbar:start(). starts the toolbar

2> halt(). will exit the runtime

Documentation is here and here; see also the Erlang Home Page

See also: EiffelStudio, ghc, Hugs 98, OCaml, python, ruby, scala, sml, g++

Note:

this application is no longer installed. You can install it from the erlang-base and related Ubuntu packages using aptitude or synaptic

Title and Description:

fsc (F#)
Description: compiler and interactive interpreter for F# language, which runs in .NET/mono environments. F# is a variation of the ML functional programming language, with strong similarities to the OCaml dialect

TO RUN:

athena% setup mono

and run commands below:

athena% fsc options file.fs (to compile file.fs to bytecode file file.exe)

athena% mono file.exe (to execute bytecode file file.exe)

athena% fsi (to run interactive interpreter)

Documentation sites are here and here; local documentation starts here

See also: cobra, mcs, OCaml, scala, sml

Title and Description:

Gambas
Description: language and developement environment similar to, but not an exact clone of Visual Basic. Supports a variety of object-oriented extensions that allow interfacing applications to networking, database, audiovisual and other components (not all of these are available in the version on Athena due to missing dependencies)

TO RUN:

athena% add gambas

athena% gambas &

A documentation site is here; see also the local README.athena

See also: Eclipse, mcs

Title and Description:

gcj
Description: GNU Java compiler

TO RUN:

athena% add -f gcc-3.4 (for 3.4.3)

athena% gcj -O -o file --main=<main class> options file.java

On Linux, gcc-3.4 uses shared libraries by default (see file /mit/gcc-3.4/README for information)

See also: Java Development Kit, jikes

Note:

the gcj compiler is a front-end to the gcc compiler; it compiles your application to an executable binary by default. It can optionally compile to a .class file by using the -C command-line switch. In using the latter, there is also a gij bytecode interpreter that can run classes generated by gcj (it works analogously to Sun's java command). At run time, binaries generated from gcj will need access to libgcc_s.so and libgcj.so libraries supplied with gcj

If you don't add or attach any locker, the version used will the the default version in the Athena release, currently 4.3.3

Title and Description:

gdc
Description: native compiler for D language, based on gcc

TO RUN:

athena% gdc options file.d

athena% gdmd options file.d

There is a Web page and overview article. D sites on the Web are here and here; local documentations is at file:///usr/share/doc/gdc-4.2/GDC.html

See also: cobra, EiffelStudio, gcc, g++, Java Development Kit, mcs (C#)

Note:

gdmd is a compatibility wrapper for gdc that makes command-line options compatible with the dmd D compiler

this application is no longer installed. You can install it from the gdc Ubuntu package using aptitude or synaptic

Title and Description:

GDL (IDL clone)
Description: command-line interpreter and incremental compiler for the GNU Data Language, which is very similar to the commercial IDL language. Primarily used in scientific and geodata processing applications. Supports graphical output and compatible with many IDL programs

TO RUN:

athena% gdl (to start the interpreter and reach the GDL> command prompt)

GDL> .run myfile (to compile and run a GDL program file myfile.pro)

If the runtime prints something like:

% Compiled module: MYMODULE.

you can execute that particular module by typing:

GDL> MYMODULE

to run a script batchfile.pro containing batch commands (which is distinct from a GDL program):

GDL> @batchfile

Typing HELP,/LIB at the GDL> prompt gives a list of functions and procedures. There is a GDL Web page

See also: matlab, octave, yorick

Title and Description:

ghc (Glasgow Haskell Compiler)
Description: compiler and interpreter for Haskell functional programming language. Haskell is a purely functional language, featuring static typing, higher-order functions, polymorphism, type classes and monadic effects

TO RUN:

athena% ghc options -o file file.hs (to compile source file file.hs to binary executable file)

athena% ghci (to start an interactive session in the interpreter)

Local documentation is at file:///usr/share/doc/ghc6-doc/index.html; there is also an author site and the Haskell Home Page

See also: EiffelStudio, Erlang, Hugs 98, OCaml, sml

Title and Description:

gprolog
Description: Prolog compiler and interpreter conforming to Prolog ISO standard. Supports Prolog+ programs for constraint solving over finite domains

TO RUN:

athena% gprolog (for interpreter command-line interface)

athena% gplc options -o myfile myfile.pl (to compile source file myfile.pl to binary myfile)

There is an author Web page and local online documentation at file:///usr/share/doc/gprolog-doc/gprolog.html/index.html

See also: SWI Prolog

Note:

At the ?- Prolog command prompt, you can load a Prolog program myprog.pl containing facts and rules in the current directory by typing consult(myprog). (without the .pl extension). You can also start entering Prolog statements interactively by typing [user]. instead and entering Prolog code (type ctrl-d to terminate input). To exit Prolog type ctrl-d or halt. at the ?- prompt. Limited editing commands are available within the interpreter environment

this application is no longer installed. You can install it from the gprolog Ubuntu package using aptitude or synaptic

Title and Description:

Hugs 98
Description: interactive programming environment for Haskell 98, the de facto standard for the Haskell functional programming language

TO RUN:

athena% hugs

Typing :set at the Hugs> prompt will display current settings

Local html documentation starts at file:///usr/share/doc/hugs/users_guide/index.html; there is also a Hugs home page and the Haskell Home Page

See also: Clojure, EiffelStudio, Erlang, ghc, OCaml, sml

Note:

this application is no longer installed. You can install it from the hugs Ubuntu package using aptitude or synaptic

Title and Description:

J
Description: mathematical programming language that is a synthesis of APL with the FP and FL function-level languages. Incorporates extensive graphics capabilities and various extensions

TO RUN:

athena% add j

athena% jwd & (for Java-based graphical interface)

athena% jconsole (for command-line console interface)

There is a vendor site with Wiki and introduction, a Wikipedia article and local intro guide and J for C programmers

See also: euler, yorick

Title and Description:

Java Development Kit
Description: programming environment based on C++ for developing "small programs" called applications or applets that are supposed to be platform and architecture independent, based on a Java Virtual Machine. applications can be run stand-alone with a Java interpreter, but more commonly one uses applets run from within a Java-enabled Web browser such as firefox. javac is a compiler that compiles Java source code into an intermediate bytecode form that can then be interpreted by java. appletviewer is a viewer for applets embedded with an html document

Java Web Start is a framework that allows launching Java applications directly by clicking on appropriate URLs within Web browsers, provided that a special mime type is configured for this; there is more information and an extended FAQ

TO RUN:

athena% add -f java (to use the latest production JDK, currently 1.6.0_16; not necessary for default version in debathena release)

athena% add -f java_v1.5.0_20 (to use the latest 1.5 JDK 1.5.0_20)

athena% add -f java_v1.7.0b43 (to use the 1.7 build 43 prerelease JDK)

athena% javac myfile.java (creates myfile.class intermediate code from source code file myfile.java)

athena% java myfile (interprets intermediate code file generated by the compiler. Do not include the .class extension)

athena% appletviewer myfile.html (views applet embedded in an html file)

athena% javaws (to launch Java Web Start application manager)

There is also:

  • javadoc which generates API docs in html
  • javah which creates C header and stub files for a Java class
  • javap which is a compiled Java file disassembler
  • jdb a Java language debugger

See Web pages for local JDK 1.6.0 documentation, local JDK 1.5.0 documentation, local JDK 1.4.2 documentation, local Java 3d Documentation; Java tutorials, "Hello, World" in Java, a locally-maintained list of Java resources (currently out of date) and a local documentation starting page (current). A free Web based Java textbook is here, Eckel's Thinking in Java is also available for download, a Java FAQ; also Sun's Newsletter Archives

For running applets in Web browsers, see Web browser Java plugin issues

Java 3d and the Advanced Imaging API are now installed with 1.6.x production versions of the JDK.

Athena machines now have Java built into the Athena release; the version may or may not be the same as the "current" version accessible through the java locker. To tell what version is in the release, type java -version without adding or attaching any java lockers. Typing add -f java will use the current version in the java locker, and typing java -version again will tell you what version it is.

Applets embedded within html files can be run on any platform that has a Java-aware Web browser, but current releases of Web browsers may not be fully compatible with latest Java features- if this causes problems use appletviewer instead; but note that there are also applet tag incompatibilities between appletviewer and various Web browsers.

To use Java Web Start in firefox, navigate to a URL ending with a .jnlp file, and when the dialog asking "what should firefox do..." appears, select "open with", and navigate to /afs/athena/software/java/current/bin/javaws.

See also: ant, Clojure, cobra, gcj, Eclipse, gdc, JBuilder, jikes, jython, mcs (C#), netBeans, python, jython, scala and the javalib locker for examples (look under /mit/javalib/nutshell after attaching the locker), yorick

Title and Description:

jikes (old- has not been updated for a number of years)
Description: optimized and Java bytecode compiler from IBM. Compiles Java source code (.java files) to Java bytecode (.class files)

TO RUN:

athena% jikes -classpath /afs/athena/software/java/current/distrib/@sys/jre/lib/rt.jar myfile.java

There is a Jikes home page

See also: gcj, Java Development Kit

Note:

jikes requires access to a current Java class file (rt.jar) set by the -classpath switch at run time. Additional classes can be supplied via the CLASSPATH environment variable

Title and Description:

jython
Description: python interpreter that generates Java bytecode- this allows direct access to Java class libraries from within python scripts. jythonc converts python source code to real Java classes

TO RUN:

athena% jython (for an interactive interpreter session)

or executable script in jython with first line (jython must be on path for this to work):

#!/usr/bin/env jython

athena% jythonc options file.py (to compile code in file.py to file.class)

Local documentation is at file:////usr/share/doc/jython-doc/html/index.html, a Jython Web site and a tutorial document

See also: Clojure, Java Development Kit, python, scala

Note:

jython will use whatever Java interpreter is found first on your path

Title and Description:

logo
Description: Logo programming language; frequently used to introduce programming concepts to young children

TO RUN:

athena% logo

Documentation is in the /usr/share/doc/ucblogo directory

See also: scheme

Title and Description:

lua
Description: extensible, general-purpose scripting language designed for ease of use

TO RUN:

athena% lua (to start an interactive session with the interpreter)

athena% lua file.lua (to run a lua source script file.lua)

athena% lua file.luac (to run a lua bytecode file file.luac)

athena% luac -o file.luac file.lua (to compile a lua source script file.lua to bytecode file file.luac)

There is a lua home page with online documentation; local documentation starts at file:///usr/share/doc/lua5.1-doc/doc/index.html

See also: awk, newLISP, perl, python, ruby, Tcl/Tk

Note:

bytecode files don't offer significant speedup other than faster loading; they are mostly useful for protecting source code from accidental changes and off-line syntax checking

Title and Description:

mcs (C#, mono programming environment)
Description: C# compiler, part of Mono computing environment. The Athena installation includes most of the currently available Mono components. See README.athena for more details

TO RUN:

athena% setup mono

and run commands below:

athena% mcs options file.cs (to compile C# source file file.cs to CIL byte code file file.exe, 1.x profile and C# 1.0, 2.0 specifications)

athena% gmcs options file.cs (to compile C# source file file.cs to CIL byte code file file.exe, 2.0 profile and C# 3.0 specification)

athena% smcs options file.cs (to compile C# source file file.cs to CIL byte code file file.exe, Silverlight/Moonlight profile)

athena% vbnc options file.vb (to compile C# source file file.vb to CIL byte code file file.exe)

athena% mono options file.exe (to execute CIL byte code file file.exe)

athena% monodevelop (to run GUI development environment, Athena 10 only)

athena% monodoc (to run documentation browser, Athena 10 only)

athena% booc file.boo (to compile source file file.boo to CIL bytecode)

athena% ikvmstub file.dll (to generate a stub Java .jar file from a mono .dll)

athena% ikvm -classpath classes file (to run a Java-Mono Java class file file.class)

athena% ikvmc file.class otherfile.jar (to compile file.class to file.exe)

The main Mono page is here; documentation starts from here; there are also resource links and 2.4 release notes; IKVM documentation is here

See also: cobra, fsc, Gambas, gdc, Java Development Kit, scala

The cobra and F# language compilers are now installed in the mono locker

Note:

mono, ikvm and ikvmc are also available in the debathena release, as is gmcs2, which is a C# 2.0 and 3.0 implementation. The versions of these are likely to be different from those in the mono locker

Title and Description:

nasm
Description: 80x86 assembler designed for portability and modularity. Supports a wide range of object formats and macros. Also supports a variety of variant instructions

TO RUN:

athena% nasm options file.asm

There is local documentation at file:///usr/share/doc/nasm/html/nasmdoc0.html, an information site and a home page. A Linux assembly page may also have useful information

Note:

this application is no longer installed. You can install it from the nasm Ubuntu package using aptitude or synapti

Title and Description:

newLISP
Description: extensible, embeddable scripting language based on LISP

TO RUN:

athena% add newlisp

athena% newlisp (to start an interactive session with the interpreter)

athena% newlispdoc (to generate documentation for newLISP source files in current directory)

There is a newLISP home page with documentation and tutorials; a Wikipedia article; also local online manual, tutorial and quick reference

See also: awk, guile, lua, perl, python, ruby, Tcl/Tk

Title and Description:

OCaml
Description: compiler, interpreter and related utilities for Caml functional programming language

TO RUN:

athena% ocaml (to start an interactive session)

athena% ocamlc -o program program.ml (to generate executable bytecode file program from caml source)

athena% ocamlopt options -o program program.ml (to generate binary program from caml source)

There is a home page and tutorial starting point ; local documentation starts at file:///usr/share/doc/ocaml-doc/ocaml.html/index.html.

See also: EiffelStudio, Erlang, fsc, ghc, Hugs 98, sml

Note:

bytecode executable files require access to ocamlrun runtime to execute; ocamlc build is configured to find this at /usr/bin/ocamlrun. ocamlopt compiler requires access to system C compiler to create binaries

Title and Description:

perl
Description: general-purpose programming language particularly well suited to system management tasks and as a substitute for shell scripts. Has many built-in functions, particularly for string and text handling

TO RUN:

athena% perl file.pl

or executable script in Perl with first line:

#!/usr/bin/env perl

There is documentation on the Web for Perl 5; the man page (man perl) will point you to other local documentation

See also: awk, lua, newLISP, PerlQt, python, ruby, Tcl/Tk, yorick

Title and Description:

python
Description: general-purpose, extensible scripting language

TO RUN:

athena% python (for interactive mode)

athena% ipython (for enhanced interactive shell)

or executable script in Python with first line:

#!/usr/bin/env python

athena% idle (for GUI interactive shell)

The man page (man python) will point you to much detailed documentation

There is a Python Web site

NumPy is a numerical routine package that has been added to the python version in the Athena release. To access routines in the package from the >>> prompt:

>>> from numpy import *

To get help:

>>> help()

help> numpy

There is a NumPy page with links to documentation and a tutorial

SciPy is a package of scientific tools for python depending on numpy. To access routines in the package from the >>> prompt:

>>> from scipy import ... (replace ... with routines to import)

To get help:

>>> help()

help> scipy

There is a SciPy page with links to documentation and a tutorial

matplotlib adds plotting routines to Python. To access routines in the package from the >>> prompt:

>>> from matplotlib import ... (replace ... with routines to import)

>>> from pylab import *

To get help:

>>> help()

help> matplotlib

There is a matplotlib page with links to documentation and a tutorial

See also: boost, EiffelStudio, Erlang, gnuplot, GNU Scientific Library, IMSL Numerical Libraries, IT++, Java Development Kit, jython, lua, matlab, newLISP, perl, ruby, tecplot

Title and Description:

ruby
Description: general-purpose, object-oriented scripting language

TO RUN:

athena% ruby ruby_file.rb

or executable script in Ruby scripting language with first line:

#!/usr/bin/env ruby

athena% irb (for interactive mode)

Documentation is here

See also: EiffelStudio, Erlang, lua, newLISP, perl, python

Title and Description:

scala
Description: object-oriented, functional and statically typed programming language that interoperates with Java and .NET. scala is extensible and is itself written in Java (and thus requires a JVM to run)

TO RUN:

athena% scalac file.scala (to compile scala source file to bytecode file file.class)

athena% scala file (to run scala class file file.class; as in Java, the .class extension is omitted)

athena% scala (for interactive interpreter, :q to exit)

There is a Web site

See also: cobra, EiffelStudio, Erlang, fsc, Java Development Kit, jython, mcs

Title and Description:

scheme
Description: MIT Scheme, a dialect of Lisp developed for educational applications

TO RUN:

athena% scheme

"Structure and Interpretation of Computer Programs" is here, and documentation is here

See also: Allegro Common Lisp, Clojure, drscheme, guile, SCM

Title and Description:

SCM
Description: compact, fast command-line Scheme interpreter with SLIB Scheme library

TO RUN:

athena% scm

There is local SCM documentation at file:///usr/share/doc/scm/scm.html, SLIB documentation at file:///usr/share/doc/scm/Xlibscm.html and an SCM page

"Structure and Interpretation of Computer Programs" is here

See also: Allegro Common Lisp, Clojure, drscheme, guile, scheme

Note:

this application is no longer installed. You can install it from the scm Ubuntu package using aptitude or synaptic

Title and Description:

sml (Standard ML of New Jersey)
Description: compiler, interactive system and programming environment for the standard ML language

TO RUN:

athena% sml (to start an interactive session)

There is an author site and documentation links

See also: EiffelStudio, Erlang, fsc, ghc, Hugs 98, OCaml

Note:

this application is no longer installed. You can install it from the smlnj Ubuntu package using aptitude or synaptic

Title and Description:

SWI Prolog
Description: ISO compatible Prolog compiler, with various enhancements including a C++ interface, execution profiler and GUI application development environment

TO RUN:

athena% swipl (for command-line interface)

athena% xpce (for interface to GUI system; when started, typing manpce. will bring up manual GUI)

There is an author Web page, local online reference manual starting at file:///usr/share/doc/swi-prolog-doc/Manual/index.html and user guide starting at file:///usr/share/doc/swi-prolog-doc/UserGuide/index.html

See also: gprolog

Note:

At the ?- Prolog command prompt, you can load a Prolog program myprog.pl containing facts and rules in the current directory by typing [myprog]. (without the .pl extension). You can also start entering Prolog statements interactively by typing [user]. instead which changes the prompt to |: ( type ctrl-d to terminate entry mode and return to the ?- prompt). To exit Prolog type ctrl-d or halt. at the ?- prompt. Within Prolog, you can invoke the built-in editor to create file myfile by typing set_prolog_flag(editor, pce_emacs). followed by edit(file(myfile)).

Note:

this application is no longer installed. You can install it from the swi-prolog and swi-prolog-xpce Ubuntu packages using aptitude or synaptic

Title and Description:

yorick
Description: interpreted programming language, designed for postprocessing or steering large scientific simulation codes. Smaller scientific simulations or calculations, such as the flow past an airfoil or the motion of a drumhead, can be written as standalone yorick programs. The yorick language is designed to be typed interactively at a keyboard, as well as stored in files for later use. Yorick includes an interactive graphics package

TO RUN:

athena% yorick

There is an author Web page, local documentation starting point at file:///usr/share/doc/yorick-doc/README.html and pdf manual: file:///usr/share/doc/yorick-doc/yorick.pdf.gz

See also: cT, euler, GDL, J, Java, K3DSurf, nickle, PARI/GP, perl, python, SAGE

Note:

this application is no longer installed. You can install it from the yorick and related Ubuntu packages using aptitude or synaptic

Back To Top

 

Debuggers / Development Environments

Title and Description:

ant
Description: Java build utility, conceptually similar to make

TO RUN:

athena% ant

Requires at least one xml build file (usually named build.xml) in the directory you invoke it from, in addition to your Java source files. Default java used is the current version in the Athena release, but you can override this by setting the JAVA_HOME environment variable

There is a development site that includes documentation

See also: Java Development Kit, JBuilder, NetBeans

Title and Description:

CMake
Description: cross-platform build system generator. Projects specify their build process with platform-independent CMake listfiles included in each directory of a source tree with the name CMakeLists.txt. Users build a project by using CMake to generate a build system for a native tool on their platform

TO RUN:

athena% cmake options path-to-source (to run cmake)

athena% ccmake options path-to-source (to run ccmake curses interface)

athena% cpack -G generator options (to run packaging program)

athena% ctest options (to run the test driver)

Running cmake --help-full will print detailed help; there are man pages for cmake and other utilities; html help is available from here; there is a CMake page

Title and Description:

dbx
Description: Sun source-level debugging tool for a variety of languages including C, C++, FORTRAN and Pascal. Use with programs compiled with the -g compiler switch

TO RUN:

athena% add sunsoft (for default version 7.6)

athena% add sunsoft_v12u1 (for version 7.7)

athena% dbx file

There is a dbx manual, Studio 12 update 1 documentation and Studio 12 update 1 dbx manual

See also: lint, valgrind

Title and Description:

Eclipse
Description: open, extensible IDE for anything and nothing in particular. One major use is a Java IDE

TO RUN:

athena% add -f eclipse-sdk

athena% eclipse &

There is a development site, documentation site and FAQs

See also: Gambas, Java Development Kit, JBuilder, NetBeans, Sun Studio

Note:

On debathena, there is an older version of Eclipse installed in the release and accessible as /usr/bin/eclipse; you are likely to prefer the newer release installed in the eclipse-sdk locker, which also has a variety of plugins preinstalled for MIT users

Title and description:

gdb
Description: gnu C, C++ and FORTRAN dynamic debugger which can attach running processes. Use with programs compiled with the -g compiler switch

To run:

athena% gdb file(s)

athena% info gdb (for help)

See also: dbx, lint, TotalView, valgrind

Title and Description:

JBuilder Foundation (old- last free version that runs on Athena)
Description: Java Integrated Development Environment from Borland. Supplied with integrated Java Development Kit and ant

TO RUN:

athena% add jbuilder

athena% jbuilder &

There are version 2005 What's New, Release Notes, pdf manuals and a JBuilder page

See also: ant, Eclipse, Java Development Kit, NetBeans

Note:

Jbuilder now comes with an internal ant distribution (currently 1.6.2)

Title and Description:

NetBeans
Description: Java Integrated Development Environment from Sun

TO RUN:

athena% add netbeans

athena% netbeans &

There is a Development site, Knowledge Base

See also: ant, Eclipse, Java Development Kit, JBuilder, Sun Studio

Title and Description:

Sun Studio
Description: Sun integrated program development environment

TO RUN:

athena% add sunsoft (for version 20070501)

athena% add sunsoft_v12u1 (for version 200903060201)

athena% sunstudio &

There is local Sun Studio 12 documentation for Linux, What 's New?

See also: Eclipse, NetBeans

Title and Description:

TotalView
Description: Fortran, C and C++ debugger particularly well suited for high performance multiprocessor and multithreaded systems

TO RUN:

athena% add totalview

athena% totalview file options (for GUI version)

athena% totalviewcli (for command-line version)

There is local and vendor site documentation, and a home page

See also: ftnchek, lint, valgrind

Title and Description:

valgrind
Description: profiler and dynamic memory allocation debugger for Linux/i386 programs. Use with programs compiled with the -g compiler switch

TO RUN:

athena% valgrind options ./binarytotest

There is online help, starting from file:///usr/share/doc/valgrind/html/index.html, and an author Web site

See also: dbx, TotalView

Back To Top