Linux Goodies

In Pursuit Of The Perfect O/S


HOME

ASTRO SCI FI T-SHIRTS MENU

Linux and the Computer Programmer

Zazzle Linux Gifts

Programming Tools and Languages In Linux

Frankly, if you are a programmer, you're gonna love Linux.

Why?

Because you'll likely never see a larger collection of programming languages and utilities in one place. There are a number of popular compiler languages included in most Linux distributions, as well as a sizable collection of scripting languages.

Popular Compilers in Linux

The most popular compiler in the Linux arsenal is probably the gcc compiler. gcc is the Linux C++ compiler. gcc has a plethora of options, including the ability to target compile to a number of popular architectures. Assembly code can be entered in-line in the c or c++ code.

Like Unix, much of Linux is actually written in c and compiled with gcc. In addition to a number of other language compilers, there are conversion utilities to convert some other popular languages to c for use with the gcc compiler.

The following table lists just some of the compilers available in the Debian distribution of Linux:

gcc

GNU c++ compiler

g77

GNU Fortran 77 compiler

gambc

Package that contains gsi(Gambit Scheme Interpreter) and gsc (Gambit Scheme Compiler)

gfortran

The GNU Fortran 95 compiler

gnat

The GNU Java Compiler

gpc

The GNU Pascal Compiler

gprolog

The GNU Prolog Compiler

iconc

The GNU icon compiler, a general purpose language similar to Pascal and c

m2c

Modula-2 to c translator

mono

An open source compiler that produces .NET client and server applications

pocketpc-gcc

GNU C compiler for the Pocket PC

sbcl

A Common Lisp compiler

smarteiffel

The GNU Eiffel compiler


General Purpose Scripting Languages in Linux

Linux is also very rich in its collection of scripting languages. Code written in scripting languages doesn't need to be compiled, but is executed by an interpretive program. With modern ultra-fast computers, scripting languages are more often a quicker way to get to a solution.

The old BASIC languages in the microprocessor days were scripting languages.

Linux has many general purpose scripting languages used to perform text-file manipulation, simple arithmetic, and system functions. Some of these have additional packages that elevate them to more complex and specialized use.

The following table lists just a few of these scripting languages and what they they are commonly used for. Other scripting languages are freely available for Linux, and variations on the listed languages are also available.

bigloo

A practical Scheme language

bwbasic

The Bywater BASIC interpreter

clif

A C language interpreter

clisp

GNU CLISP, a common Lisp implementation

gawk

A pattern scanning and processing language

gforth

The GNU Forth implementation

gnu-smalltalk

The GNU Smalltalk language

nickle

A desk calculator language

perl

Very large tool set language for text file manipulation, system control, and webpage CGI support

python

Another extensively used language than can be extended to mathematics work with available packages. Newer than perl, and generally considered less arcane.

ruby

An interpreter of the object-oriented language Ruby

tcl

General text and arithmetic usage

TK

Extended version of tcl with GUI creation tools


Mathematical Scripting Languages in Linux

If you're a mathematics, engineering, or science student, then you'll find that Linux offers you a free large selection for your calculation, data reduction, and modeling needs. Some of these have a Matlab type of nomenclature (Octave is even highly compatible with Matlab), some have more of a FORTRAN style of nomenclature, and many have a c style nomenclature.

The primary means by which these languages provide rapid calculations is that they use matrix operations. In this way, though the languages are scripted instead of compiled, they can do large scale calculations close to the speed of a compiled program.

That is, of course, if you can make maximum use of the matrix operators and avoid programming in extra loops. By expressing your solutions with matrix nomenclature, you allow these programs to use built-in compiled looping mechanism to do large scale calculations quickly.

The following table lists just a few of the scripting languages readily available for free in the Linux world. All those in this list are already within the Debian Etch distribution. Others can be easily obtained.

octave

A scripting language very similar to Matlab. In fact, octave is probably 95% compatible with Matlab.

perl PDL

PDL is an object-oriented extension to the extensive perl language that gives powerful matrix capabilities. Heavily laden with tools for astronomers.

R

R is an object oriented matrix language with considerable statistical analysis support.

scilab

A language with similar nomenclature to Matlab. Unlike most of those listed here, it comes with an IDE and an optional diagrammatic methodology for designing solutions.

tela

A matrix language primarily designed for simulation and pre- and post-processing analysis.

yorick

A c-style language for numerical analysis and simulation. One of the fastest matrix languages I've ever tried.

It's important to note that this impressive list of programming languages, all of which are included in the latest Debian Linux distribution, is incomplete. Incredibly, there are even more compiler and scripting languages available.