Up: general computing
Computer Languages
According to Larry Wall, the author of the PERL, the three cardinal
virtues of a hacker are Laziness, Impatience and Hubris. To that end,
this page is designed for the programmer who is too lazy to poke
around the Geometry Center system to find out what's there, provided
this hypothetical programmer is not too impatient or proud to read
it...
For application programming
For most serious programming, the Center staff typically use C or one
of its object oriented descendents. In
its favor, C code is reasonably portable, C compilers are reasonably
optimized, and a lot of people are familiar with C.
Some points of which to take note:
- cc and gcc -- The native C
compiler on all the Center's unix systems is denoted by
cc
, while the
Gnu compiler is gcc
. On the NeXTs, the native compiler
is the Gnu compiler, however, cc
and gcc
invoke slightly different versions, so beware.
- To compile C++ or Objective C, use
gcc
. As noted
above, on the NeXTs, cc
will do this too.
- On the SGI systems,
cc
is much faster that
gcc
.
- The Center has one license for Visual C++ for the Window 3.x
environment and one license for Symantec C++ for the Macintosh
environment.
- The Center has both the GL and Open GL libraries for graphics
coding on the the SGI machines. There is print documentation in the
Center Library, however, it is likely out of date. The current
documentation is available online, via SGI's InSight documentation
software. It is important to log in to Weyl when running InSight,
since the full documentation is only installed there.
- The Center also has various X11 libraries. Their use is
highly architecture dependent, so ask the tech staff if you need to
use them.
For User Interfaces
For quick, painless user interface design the Tcl scripting language,
along with its X11 interface package Tk is the way to go. For more
serious development, Tcl provides for implementing native functions in
C, and compiled binaries. For example,
Pisces is being developed with Tcl/Tk.
Some points of which to take note:
- The canonical way to learn about Tcl/Tk is to read Tcl and the
Tk Toolkit by J.K. Ousterhout, available in the Center
library. There is also a fair amount of help available online.
Consult the
Yahoo Tcl/Tk page.
- The Tcl interpreter shell is installed as
/usr/local/bin/tclsh
, and the Tk window interpreter shell
is installed as /usr/local/bin/wish
. Both can be invoke
from scripts using the #! syntax.
- Tk is an X11 toolkit, so to use it on a NeXT, you must start
co-Xist X emulation.
- Tcl/Tk is an especially good way to create external modules for
Geomview.
For Scripts
Forget sed, awk, sh, csh, and grep. PERL is the only way to go. PERL
is an amazing conglomeration of the best features of all the major
unix utilities. It is easy to learn the bare essential s, and start
getting things done. On the other hand, for the hardcore hacker,
there is virtually no upper bound to the trickiness and subtlety you
can pack into a PERL script.
Some points of which to take note:
- For documentation, read PERL by Larry Wall and Randal Schwartz
(part of the excellent O'Reilly series). For reference, consult the
voluminous man page. For online
help, consult the
Yahoo
PERL page. My personal favorite is the
Perl Reference
Guide.
- Both
perl
and perl5
are installed on the
Geometry Center System in /usr/local/bin
.
Other Languages
- Fortran -- Fortran 77 is installed and available
on most Geometry Center machines. Fortran is useful to have around,
so one can take advantage of all the excellent scientific libraries
coded in Fortran. However, keep in mind that you can call Fortran
functions from C programs provided you link in the necessary
libraries. See the tech staff for details.
- Pascal -- At the moment, Pascal is only installed
on abel, and that installation may not be complete. If you want to
use Pascal talk to the tech staff.
- Java -- For the moment, java is only available on
monges, and on lobachevsky in Windows NT mode. Moreover, the java
compiler is still full of bugs. Talk to the tech staff if you are
interested.
- FORMS -- Forms is an interface builder package
for SGI platforms.
- Miscellaneous -- Besides the languages mentioned
above, the Center has a hodge podge of other compilers and
interpreters that people have experimented with, such as scheme, lisp
and ml. If you want to use some specialized language, inquire about
getting it installed.
Up: general computing
The Geometry Center Home Page
Comments to:
webmaster@geom.umn.edu
Created: Fri Sep 8 11:39:00 1995 ---
Last modified: Jun 18 1996