MIT Athena Computing Environment: What Runs Where: Languages/Debuggers Detail
Keywords: athena, what runs where, athena help, languages, debuggers

What Runs Where
| Major Applications |
### Full Table:
| Help/Information Screen Accessories Communication Text Software Graphics Software Audio Software Numerical/Math Soft Languages/Debuggers Programming Libraries Simulation & Modeling Courseware Miscellaneous Utilities |
Help
| What's new? Tips for Using Athena Software Academic Computing locker configuration Web browser Java plugin issues Note on changing window managers |
| # 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 (Linux; not necessary for Sun) athena% cc options file.c (or use makefile) athena% cc -flags gives a concise summary of command-line options athena% cc -xhelp=readme gives usage notes (Sun) There is online documentation, local Sun Studio 12 documentation for Sun, Linux, What 's New?; also local C Answers There are older Sun compiler releases for Sun machines in the sunsoft_v11, sunsoft_v10, sunsoft_v8, sunsoft_v6.1a and sunsoft_v5.1 lockers. If you want to use them, you will need to add the locker with the -f switch (i.e. like add -f sunsoft_v5.1) in order to put the launch script in the proper place in your path See also: gcc, lint Note: on Suns, cc file.c invokes a script which attaches and runs the Sun C compiler, currently version 5.9 in the sunsoft_v12 locker. Please read file /mit/sunsoft_v12/README.dynamic_linking for information on dynamic linking. Note: 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. The one in the gnu locker is supported but older (2.x). The one in the gcc-3.2 locker is a recent release that can compile to binaries that use shared libraries at runtime (for any of these, do gcc -v to check version) To run: athena% add -f gnu (for 2.95.3) athena% add -f gcc-3.2 (for 3.2.1) athena% add -f gcc-3.4 (for 3.4.3) athena% add -f gcc-4.0 (for 4.3.0) athena% info (for online help) athena% gcc options file.c In gcc-3.2, to compile to binaries that use shared libraries (these will need to find various libraries in /mit/gcc-3.2/lib at run time) compile as: athena% gcc-shared-libs options file.c athena% gcc options file.c (to not compile using shared libs with gcc-3.2) 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 3.4.6 (Linux), 3.4.3 (Sun)
Title and description: lint Description: checks C programs for compliance with syntax and style rules To run: athena% add -f sunsoft athena% lint file.c athena% lint -flags gives a concise summary of command-line switches See also: cc, ftnchek, TotalView
| C, C++ & FORTRAN: C++ |
Title and description: CC Description: Sun C++ compiler To run: athena% add sunsoft (Linux; not necessary for Sun) athena% CC options file.C athena% CC -flags gives a concise summary of command-line options athena% CC -xhelp=readme gives usage notes (Sun) There is online documentation, local Sun Studio 12 documentation for Sun, Linux, What 's New? There are older Sun compiler releases for Sun machines in the sunsoft_v11, sunsoft_v10, sunsoft_v8, sunsoft_v6.1a and sunsoft_v5.1 lockers. If you want to use them, you will need to add the locker with the -f switch (i.e. like add -f sunsoft_v5.1) in order to put the launch script in the proper place in your path See also: g++ Note: On Suns, CC file.C invokes a script which attaches and runs the Sun C++ compiler, currently version 5.9 in the sunsoft_v12 locker. Please read file /mit/sunsoft_v12/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, and is configured to use the GNU linker. The one in the gnu locker is supported but older (2.x). The one in the gcc-3.2 locker is a release that can compile to binaries that use shared libraries at runtime (for any of these, do gcc -v to check version) To run: athena% add -f gnu (for 2.95) athena% add -f gcc-3.2 (for 3.2.1) athena% add -f gcc-3.4 (for 3.4.3) athena% add -f gcc-4.0 (for 4.2.0) athena% info (for online help) athena% g++ options file.C In gcc-3.2, to compile to binaries that use shared libraries (these will need to find various libraries in /mit/gcc-3.2/lib at run time) compile as: athena% g++-shared-libs options file.c athena% g++ options file.c (to not compile using shared libs with gcc-3.2) 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 3.4.6 (Linux), 3.4.3 (Sun)
| C, C++ & FORTRAN: FORTRAN |
Title and description: f2c Description: FORTRAN to C translator To run: athena% add fortran athena% f2c file.c Using the C code generated by the translator, compile with: athena% cc -o file file.c -I/mit/fortran/include -L/mit/fortran/lib -lF77 -lI77 -lm
Title and description: f77 Description: Sun FORTRAN 77 compiler To run: athena% add -f sunsoft (Linux; not necessary for Sun) athena% f77 options file.f athena% f77 -flags gives a concise summary of command-line options athena% f77 -xhelp=readme gives usage notes (Sun) There is online documentation, local Sun Studio 12 documentation for Sun, Linux, What 's New?; also local FORTRAN Answers See also: ftnchek, g77/gfortran, f90 There are older Sun compiler releases for Sun machines in the sunsoft_v11, sunsoft_v10, sunsoft_v8, sunsoft_v6.1a and sunsoft_v5.1 lockers. If you want to use them, you will need to add the locker with the -f switch (i.e. like add -f sunsoft_v5.1) in order to put the launch script in the proper place in your path Note: On Suns, f77 file.f invokes a script which attaches and runs the Sun FORTRAN 90 compiler, currently version 8.3 in the sunsoft_v12 locker. Please read file /mit/sunsoft_v12/README.dynamic_linking for information on dynamic linking.
Title and description: g77/gfortran Description: GNU FORTRAN 77/90 compiler To run: athena% add -f gnu (for 2.95) athena% add -f gcc-3.4 (for 3.4.3) athena% add -f gcc-4.0 (for 4.2.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 a recent news page 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 g77 version used will the the default version in the Athena release, currently 3.4.6 (Linux only)
Title and description: f90/f95 Description: Sun FORTRAN 90/95 compiler To run: athena% add sunsoft (Linux; not necessary for Sun) athena% f90 options file.f90 athena% f95 options file.f95 athena% f90 -flags gives a concise summary of command-line options athena% f90 -xhelp=readme gives usage notes (Sun) There is online documentation, local Sun Studio 12 documentation for Sun, Linux, What 's New?, local Sun Studio 11 documentation; also local FORTRAN Answers There are older Sun compiler releases for Sun machines in the sunsoft_v11, sunsoft_v10, sunsoft_v8, sunsoft_v6.1a and sunsoft_v5.1 lockers. If you want to use them, you will need to add the locker with the -f switch (i.e. like add -f sunsoft_v5.1) in order to put the launch script in the proper place in your path See also: f77, g77/gfortran, ftnchek Note: On Suns, f90 file.f invokes a script which attaches and runs the Sun FORTRAN 90 compiler, currently version 8.3 in the sunsoft_v12 locker. 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% add fortran athena% ftnchek file.f There is a developer Web page and a local doc page or pdf manual See also: f77, f90, g77/gfortran, lint, TotalView
| 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% add clisp 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 interactily; see documentation for compiling to Java class files) There is a Web page, documentation, 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% attach mono athena% source /mit/mono/conf.csh (C shell) athena% . /mit/mono/conf.sh (Bourne/bash shell) athena% cobra -c file.cobra (to compile file.cobra to CIL byte code file.exe, Linux only) athena% mono options file.exe (to execute CIL byte code file file.exe) athena% cobra -h (to see all cobra command-line options, Linux only) 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 Sun one would get myfile.sparc.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 drscheme (Athena 9.4 machines) athena% add -f drscheme (Athena 10 machines) 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 pdf manuals and web site "Structure and Interpretation of Computer Programs" is here See also: Allegro Common Lisp, Clojure, guile, scheme, SCM
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 Versions: there is version skew (Sun version is 5.6, Linux is 6.2) 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% add erlang athena% erl options files At the erl > prompt: 1> toolbar:start(). starts the toolbar 2> halt(). will exit the runtime Local R12B-3 documentation is here; see also the local README.athena, introduction, and the Erlang Home Page See also: EiffelStudio, ghc, Hugs 98, OCaml, python, ruby, scala, sml, g++
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% attach mono athena% source /mit/mono/conf.csh (C shell) athena% . /mit/mono/conf.sh (Bourne/bash shell) 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, Java Studio Creator, Java Studio Enterprise, mcs
Title and description: gcj Description: GNU Java compiler To run: athena% add -f gnu (for gnu locker version) athena% add -f gcc-3.4 (for 3.4.4) athena% add -f gcc-4.0 (for 4.2.0) 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 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 on Linux, the version used will the the default version in the Athena release, currently 3.4.6.
Title and description: gdc Description: native compiler for D language, based on gcc To run: athena% add d athena% gdc options file.d athena% gdmd options file.d or executable script myfile.d with first line: #!/afs/athena.mit.edu/software/software/d_v1.020/rdmd options myfile.d There is a Web page, overview article and local documentation here, here and here. D sites on the Web are here and here. 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. rdmd is not an interpreter; rather, it invokes the gdc compiler on the D code in the file that invokes it, caches the generated binary below /tmp and runs it. Subsequent runs do not require recompilation if the file is unchanged
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% add gdl 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. An IDL tutorial mostly applicable to GDL is here; some local documentation about the SAVE format is here; there is also 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% add ghc 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 here; 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% add gprolog 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 (pdf), (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
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% add hugs athena% hugs Typing :set at the Hugs> prompt will display current settings Local html documentation starts here (also in pdf); there is also a Hugs home page and the Haskell Home Page See also: Clojure, EiffelStudio, Erlang, ghc, OCaml, sml
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 1.6.0_13) athena% add -f java_v1.5.0_18 (to use the latest 1.5 JDK 1.5.0_18) athena% add -f java_v1.7.0b33 (to use the 1.7 build 33 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. Both Sun and Linux 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. To allow Java Web Start to launch Java applications automatically from within mozilla, select Edit -> Preferences -> Navigator Helper Applications, pick New, and enter: description: Java Web Start mime type: application/x-java-jnlp-file suffix/extension: jnlp handled by application/application to use: /afs/athena/software/java/current/bin/javaws if this mime type isn't already defined See also: ant, Clojure, cobra, gcj, Eclipse, Forte for Java, gdc, Java Studio, Java Studio Creator, Java Studio Enterprise, Java Workshop, JBuilder, jikes, jython, mcs (C#), netBeans, python, jython, scala, Swing Set and the javalib locker for examples (look under /mit/javalib/nutshell after attaching the locker), yorick
Title and description: jikes Description: highly optimized and efficient Java bytecode compiler from IBM. Compiles Java source code (.java files) to Java bytecode (.class files) To run: athena% add jikes athena% cjikes myfile.java athena% jikes -classpath <path-to-rt.jar>/rt.jar myfile.java There is a Jikes home page See also: Java Development Kit Note: jikes requires access to a current Java class file (rt.jar) set by the -classpath environment variable at run time. cjikes is a script that sets this automatically to an appropriate value
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% add jython 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) There is local documentation, 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% add logo athena% logo See also: scheme
Title and description: lua Description: extensible, general-purpose scripting language designed for ease of use To run: athena% add outland 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 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 Versions: there is version skew (Sun version is 1.2, Linux is 2.4) To run: athena% attach mono athena% source /mit/mono/conf.csh (C shell) athena% . /mit/mono/conf.sh (Bourne/bash shell) 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 Note: Sun version is a lot more limited than Linux, as many assemblies are missing (including gtk-sharp); most of the graphical components, including monodoc and monodevelop, are only available on Athena 10 machines as Athena 9.4 libraries are too old to support them The cobra and F# language compilers are now installed 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% add nasm athena% nasm options file.asm There is local documentation in pdf and html formats, an information site and a home page. A Linux assembly page may also have useful information
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% add ocaml 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 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 in ocaml locker. ocamlopt compiler requires access to system C compiler to create binaries
Title and description: pc (Pascal) (old, no longer supplied with Sun compiler set; last version received) Description: standard Pascal compiler To run: athena% add sunsoft_v5.1 athena% pc options file.p athena% pc -flags gives a concise summary of command-line options There is online documentation Note: There have been significant recent changes to the Sun compilers on Athena that affect dynamic linking, among other things. See file /mit/sunsoft/README.dynamic_linking for important information. See also file /mit/info/SunCompiling.doc for an overview- this is a Frame 5 document
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% add -f perl (for Perl 4) athena% add -f perl5 (for a Perl 5 version that may be slightly newer than the one in the Athena release) athena% perl file.pl or executable script in Perl with first line: #!/afs/athena/contrib/perl/perl (Perl 4) #!/usr/athena/bin/perl (Perl 5) There is documentation on the Web for Perl 4, Perl 5 See also: awk, lua, newLISP, PerlQt, python, ruby, Tcl/Tk, yorick Note: there are syntactic differences between Perl 4 and Perl 5 that may break your scripts, most notably in usage of the @ symbol the recommended header line for scripts that may need to run either on an Athena machine or on a non-Athena machine running the OpenAFS client is: #!/usr/bin/env perl
Title and description: python Description: general-purpose, extensible scripting language To run: athena% add -f python (for version 2.5, Linux; omitting add will run version 2.3 in Athena release on Athena 9.4, or 2.5 on Athena 10) athena% python (for interactive mode) or executable script in Python with first line: #!/usr/athena/bin/python (version 2.3 in Athena release) #!/afs/sipb.mit.edu/project/python/bin/python (version 2.5, Linux) athena% idle (for GUI interactive shell) Documentation is currently in info format; to access: athena% info python 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 See also: boost, EiffelStudio, Erlang, GNU Scientific Library, IMSL Numerical Libraries, IT++, Java Development Kit, jython, lua, matlab, newLISP, perl, ruby Note: On Linux machines there is also /usr/bin/python which may be slightly newer
Title and description: ruby Description: general-purpose, object-oriented scripting language To run: athena% add ruby-lang athena% ruby ruby_file.rb or executable script in Ruby scripting language with first line: #!/afs/sipb.mit.edu/project/ruby-lang/bin/ruby athena% irb (for interactive mode) Documentation is here See also: EiffelStudio, Erlang, lua, newLISP, perl, python
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% add scala 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% scalaint -nologo file.scala (for interactive interpreter, :q to exit) There is a Web site See also: cobra, EiffelStudio, Erlang, fsc, Java Development Kit, jython, mcs Note: As of this writing, the version of scala in the scala locker is 1.4. In version 2.x which is current, scala has effectively become a new language, largely incompatible with the original 1.x version
Title and description: scheme Description: MIT Scheme, a dialect of Lisp developed for educational applications Versions: there is version skew (Sun version is slightly different from Linux version) To run: athena% add scheme athena% scheme "Structure and Interpretation of Computer Programs" is here; there is information about running scheme in emacs 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% add scm athena% scm There is online documentation for SCM, SLIB and an SCM page "Structure and Interpretation of Computer Programs" is here See also: Allegro Common Lisp, Clojure, drscheme, guile, scheme
Title and description: sml (Standard ML of New Jersey) Description: compiler, interactive system and programming environment for the standard ML language To run: athena% add smlnj athena% sml (to start an interactive session) athena% smlemacs & (to launch Emacs configured for sml mode; type M-x sml within emacs to turn it on) There is an author site and documentation links See also: EiffelStudio, Erlang, fsc, ghc, Hugs 98, OCaml
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% add swiprolog athena% pl (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 documentation (pdf), local online html reference manual, user guide 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)).
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% add yorick athena% yorick There is an author Web page, local online documentation (pdf), other local documentation See also: cT, euler, GDL, J, Java, K3DSurf, nickle, PARI/GP, perl, SAGE
| Debuggers / Development Environments |
Title and description: adb Description: general-purpose program debugger To run: athena% adb file See also: dbx, gdb, TotalView, valgrind
Title and description: ant Description: Java build utility, conceptually similar to make To run: athena% add sipb 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 JDK used is the most recent JDK version on Athena (java_v1.6.0_04 at this writing) , but you can override this by setting the JAVA_HOME environment variable There is a development site that includes documentation and an FAQ See also: Forte for Java, 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% add cmake 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; local 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 athena% dbx file There is a dbx manual and local Sun Studio 12 documentation for Sun, Linux See also: adb, gdb, 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 10 machines) athena% add eclipse-sdk (Athena 9.4 machines) athena% eclipse & There is a development site, documentation site and FAQs See also: Forte for Java, Gambas, Java Development Kit, Java Studio Creator, Java Studio Enterprise, JBuilder, NetBeans, Sun Studio Note: On Athena 10, there is an older version of Eclipse installed in the release and accessible as /usr/bin/eclipse. The add command above for Athena 10 allows launching the version in the eclipse-sdk locker instead
Title and description: Forte for Java (Sun ONE Studio) (superseded by NetBeans) Description: Java Integrated Development Environment from Sun with many features, written in Java To run: athena% add forte athena% runide There is a Tutorial and Getting Started See also: ant, Eclipse, Java Development Kit, Java Studio, Java Workshop, JBuilder, NetBeans
Title and description: gdb Description: gnu C, C++ and FORTRAN dynamic debugging tool which can attach running processes. Use with programs compiled with the -g compiler switch. Lnx machines use gdb from the distribution media as default but can also use the version in the gnu locker Versions: there is version skew (Sun version is older) To run: athena% add gnu (Sun- not necessary for Lnx) athena% gdb file(s) athena% info (for internal help) See also: adb, dbx, lint, TotalView, valgrind
Title and description: Java Studio (old- won't be updated) Description: Sun interactive Java code-builder, based on a graphical, intuitive "drag-and-drop" interface. Uses pre-coded building blocks that can be interconnected graphically. Based on an integrated version (1.1.3) of the Java Development Kit To run: athena% add studio athena% js & See also: Forte for Java, Java Development Kit, Java Workshop, JBuilder
Title and description: Java Studio Creator (superseded by NetBeans) Description: developement environment for Web-based Java applications To run: athena% add jscreator athena% jscreator & There are Web-based tutorials and documentation See also: Eclipse, Gambas, Java Development Kit, Java Studio Enterprise , JBuilder, NetBeans
Title and description: Java Studio Enterprise (superseded by NetBeans) Description: enterprise Java development environment from Sun To run: athena% add jsenterprise athena% jsenterprise & There are Web-based tutorials and documentation; 8.1 release notes are here See also: Eclipse, Gambas, Java Development Kit, Java Studio Creator, JBuilder, NetBeans
Title and description: Java Workshop (old- won't be updated) Description: Sun graphical, integrated development environment for Java applications, similar to Microsoft Visual C++. Based on the Java Development Kit To run: athena% add workshop athena% jws & See also: Forte for Java, Java Development Kit, Java Studio, JBuilder
Title and description: JBuilder Foundation 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, Forte for Java, Java Development Kit, Java Studio, Java Studio Creator, Java Studio Enterprise, Java Workshop, 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, Forte for Java, Java Development Kit, Java Studio Creator, Java Studio Enterprise, JBuilder, Sun Studio
Title and description: Sun Studio Description: Sun integrated program development environment To run: athena% add sunsoft athena% sunstudio & There is local Sun Studio 12 documentation for Sun, Linux, What 's New? See also: Eclipse, NetBeans, Workshop
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: adb, ftnchek, gdb, 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-3.1.1/html/index.html on Linux machines, and an author Web site See also: adb, dbx, gdb, TotalView
Title and description: Workshop Description: older Sun integrated program development environment To run: athena% add sunsoft_v6.1a (to run release 6 update 1 Workshop/Visual Workshop) athena% workshop (for Workshop) athena% visu (for Visual Workshop) There is online documentation See also: Answerbook information, Sun Studio

|  | Home | Getting Started | Getting Services | Getting Help | About IS&T | Accessibility Send a comment about this web page.

Number of queries to this page: