Programming and Development Under Linux


Simon Hood

Linux provides a wonderful programming/development environment.



The GNU Compilers

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)



Java

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.




Scripting Languages

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



Fortran 90 --- Free



Visual Stuff: Commercial

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.




Visual Stuff: Free

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:




Widget Libraries:

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:

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