Unix Programming

The Unix and Unix-like operating systems lend themselves to customization, especially the Open Source operating systems such as Linux and FreeBSD. Luckily the customization tools are excellent.

For the most complex solutions, the C programming language is generally used. C is a very fast, compiled, programming language, meaning that the code written by the developer is converted into machine-readable instructions at design time, producing a non-human-readable executable file. C is extremely portable, meaning the programs created with it are usuable on just about any operating system, just by "rebuilding" the executable. Because of it's complexity, C programs tend to take the most time to develop, but also tend to be small and efficient.

The next programming language, PHP, isn't really a Unix solution, rather a web programming language, developed for writing content-rich webites. It supportsfull database access and is supported on a wide range of Web servers, including Apache which this server is currently running on. PHP also interfaces to PERL and performs well given sufficient hardware.

PERL is an excellent, all-purpose language used primarily for writing utilities and automation scripts. Unlike C, it is an interpreted language, meaning that the code the programmer writes is converted to machine-readable instructions at run time rather than during a build process. This tends to make PERL programs a bit slower than C programs. Because PERL programs tend to be much smaller, and usually have much more limited functionality than a full-blown C program, execution speed is not a huge issue. PERL programs can generally be developed, tested, and modified relatively quickly since no rebuild is necessary.

Kylix is a new-comer which is available on the Linux platform. Kylix is a commercial product, developed by Borland and is capable of rebuilding programs developed in Delphi, for the Windows platform, to be used on Linux. Kylix, although a non-free development tool written contrary to the free and open model of Linux, is an excellent cross-over tool, as well as a way to preserve your Windows programming investment while converting to Linux.

Shell-scripting is the end-all be-all batch processing language. It's abilities tend to be basic file manipulation and the ability to call other programs, rather than a complex built-in command language. Shell-scripts are interpreted at run-time, and very quick to develop and maintain; they are also the most commonly developed programs on *nix platforms.

There are many other ways to program *nix computers including Python, Qt, TCL, and LISP. Each has its strengths and weaknesses, and not all are suitable for every task. Knowing which solution to use when, is part of the expertise an experienced consultant can bring to your business.

Back to Top

Valid XHTML 1.1