IN THIS CHAPTER
Developing applications for Linux
Using graphical programming tools
Using command-line programming tools
Programming for GUI interfaces
Programming for command-line interfaces
Using application programming interfaces
You can slice and dice the topic of Linux programming tools, environments, and programming interfaces in a variety of ways. For example, a list of the programming languages known to have compilers that target or run on Linux easily runs to three single-spaced, typewritten pages. You could also examine the literally hundreds of programming libraries that exist for Linux. Alternatively, you can organize the discussion of programming tools by dividing everything into three categories: graphically oriented applications, command-line applications, and complete programming environments.
To some readers, a "programming environment" means a graphical, point-and-click integrated development environment (IDE) such as that provided by ActiveState Komodo or IBM's Eclipse. Yet another way to approach the subject is to look at Linux's development support for certain academic and computing subjects, such as graphics, databases, mathematics, engineering, chemistry, text processing, physics, biology, astronomy, networking, and parallel computing.
Unfortunately, there's no single definitive taxonomy on which everyone agrees, so this chapter takes the easy way out and divides things into environments and interfaces. For the purposes ...