Programming and Development Under Linux |
Simon Hood
Linux provides a wonderful programming/development environment.
GCC, GNU Compiler Collection
(C, C++, Objective C, Fortran 77, Java and Chill --- to compile native
executables from Java source one needs to install some more
stuff),
GNAT
(a complete Ada95 compilation system, maintained and
distributed under the GNU General Public License by Ada Core
Technologies);
GNU Sather
(an object oriented language designed to be simple, efficient, safe,
flexible and non-proprietary)
There is no shortage of Java on Linux:
- blackdown.org
-
...offer a
freely-downloadable
Java environment.
The Blackdown Java-Linux porting team is a non-profit group of enthusiastic
Java technology and Linux developers who have led the efforts to port
various JDKs and J2SE releases to Linux.
- Sun
-
As you'd expect, Sun offer The Source for Java Technology (their capitals);
its at java.sun.com.
And all the scripting languages you could possibly imagine including
the classic scripting languages,
TCL,
Perl
and that youthful upstart Python!
Pascal/Modula/Ada
Family Tree |
Secondly, more compilers following, or influenced by, the Wirth school of
thought:
-
Oberon
-
(Oberon is an operating-system and a language; we're interested in
the language here: pascal-like syntax; strong type checking;
modules with type-checked interfaces and separate compilation;
OOP-support;
support for run-time type tests;
support for system programming;
very fast compilation.)
- Free Pascal
-
(A clone of Turbo Pascal, with its language extensions such as modules
and interfaces.)
- Modula-3
-
(...as simple and safe as it can be while meeting the needs of
modern systems programmers...robustness, and a simple, systematic
type system...explicit interfaces between modules; objects and
classes, exception handling, garbage collection, lightweight
processes (or threads), and the isolation of unsafe features.)
- GNAT
-
GNAT is the GNU Ada Translator, developed by
Ada Core Technologies.
The GNU Ada people focus on projects
supporting GNAT on platforms including GNU/Linux and NetBSD.
Fortran 90
--- Commercial |
- NAg sell Fortran 77/90/95
compilers (and debuggers) for Linux and other Unix-like operating
systems. UMIST has a site license for these. A 30 day trial license
is available.
- Lahey sell Fortran compilers for
Linux and MS Windows.
- NA Software
see a Fortran 95 compiler for Linux and MS Windows. Student, Standard
and Professional version are available, the latter coming with
HPF, BLAS, LAPACK, LVLIB, Variable Precision Arithmetic and
High Accuracy Special Functions Libraries. (The latter was written
by Dr Brian Doman of Liverpool University.)
- The
Veridian
offers a Personal (free) version of the VAST/f90 Fortran 90 compiler
system on Linux platforms for x86 machines. VAST/f90 works with g77 to
provide a high-speed execution environment for your Fortran 90 programs. Please note that there are some restrictions (updated 6/3/98). While we think they're relatively minor, we encourage you to scan the list.
- You might want to consider
F
--- a closely-related alternative to Fortran 90/95 (think modern Fortran
but without the baggage, such as COMMON blocks GOTO
statements; F is a strict subset of Fortran 90/95).
Free compilers are available including those from
Imagine 1.
- There is a
GNU F90/95
compiler in development, but it will be a while yet.
- JBuilder, Kylix and Other Borland/Inprise Software
-
Borland
supports the Linux platform
offering both
JBuilder and
Kylix.
There is an
O'Reilly book
describing it and a
"community" site devoted to
it too.
- KDevelop
-
The standard environment for development of C++ programmes for KDE/Qt
on Linux (and Unix):
www.kdevelop.org
- Glade
-
Glade
is a free user interface builder for GTK+ and Gnome. It is
released under the GNU General Public License (GPL).
It works in a similar way to Visual Basic and the other Microsoft
Visual Suite products.
Glade can produce C source code itself. C++, Ada95, Python & Perl
support is also available, via external tools which process the XML
interface description files output by Glade.
- Lazarus
- Lazarus
is a "visual" version of
Free Pascal: think Delphi clone.
- Visual Tcl/Tk
-
There are several visual development environments for Tcl/Tk, these include:
- The
Visual Tcl project by
Stewart Allen.
- The
Visual GIPSY
is a visual development environment for Tcl/Tk; free, open source.
The dominant GUI-development widget libraries on the Linux/Unix platforms
are:
- Qt
- I quote:
Qt is a GUI software toolkit. Qt simplifies the task of writing and
maintaining GUI (graphical user interface) applications.
Qt is written in C++ and is fully object-oriented. It has everything you
need to create professional GUI applications. And it enables you to
create them quickly.
Qt is a multi-platform toolkit. When developing software with Qt, you can
run it on the X Window System (Unix/X11) or Microsoft Windows NT and
Windows 95/98. Simply recompile your source code on the platform
you want.
It is developed by
Troll Tech.
Qt is used as the basis for KDE.
Qt is ideal for cross-platform development:
it can be used to develop applications which run on Linux, Unix, Windows
and the Macintosh.
The Qt toolkit is available under two different licenses: the Professional
and Enterprise Editions for commercial use on all platforms, and the
Free Edition for developing free/open source software for the X platform.
- Gtk
- I quote:
GTK+ is an Open Source Free Software
GUI Toolkit, primarily developed for use with the X Window System.
Everything about GTK+ from the object-oriented design to the Free
Software LGPL licensing allows you to code your project with the most
freedom possible. You can develop open software, free software, or even
commercial non-free software without having to spend a dime for licenses
or royalties.
Bindings for GTK+ exist for many languages: Ada95, C++, Dylan,
Eiffel, Haskell, JavaScript, Objective C, Objective Caml, Objective Label,
Pascal, Perl, Pike, Python and TOM, as of the time of writing :-)
The GNOME project uses GTK+.
- GNUstep
-
From the web site: ...it's an
object-oriented development environment. OK, it's a free, standard,
object-oriented, cross-platform development environment that is meant to
provide generalized visual interface design, a cohesive user interface, and
look good as well. GNUstep is based on and is completely compatible with
the OpenStep specification developed by NeXT (now Apple Computer Inc.). We
also plan to track future changes to the MacOS X system in order to
remain compatible. GNUstep is written in the object-oriented language
"Objective-C"... Apple has also added a Java interface to OpenStep,
and GNUstep has this also.
So, if you want to write applications for both Linux and Mac OS X, and
agree that Objective C is a proper programming language (in contrast to C++),
then GNUstep is for you.
- Tk
- Tk is a GUI widget library, available on many platforms, originally
written to be used with the scripting language TCL:
- tcltk.com:
Tcl/Tk Resources on the Web
- SCO:
...an index to a set of TCL/Tk references on the WWW presented as
something of an Information Overview.
- Scriptics: the company
set up by the writer/designer of Tcl and of Tk; Scriptics maintain
the Tcl/Tk developer exchange.
Bindings now exist for several languages, including for Perl and
for Python.
About this document:
Produced from the SGML: /home/isd/public_html/_linux/_reml_grp/linux_prog.reml_lib
On: 21/11/2002 at 13:56:44
Options: reml2 -i noindex -l long -o html -p multiple