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.
|