696 Part VI . Programming (Photo web hosting) in Linux A
Wednesday, October 31st, 2007696 Part VI . Programming in Linux A programming interface, as this chapter uses the phrase, refers to the rules or methods followed to accomplish a particular task. As with programming environments, programming interfaces are usually thought of as graphical or command-line. A graphical interface uses the X Window system to receive and process user input and display information. A command-line interface is a strictly text-based affair that does not require a windowing system to run. For example, Firefox, a Web browser, has a graphical interface; it won t work if X isn t running. Pine, a popular e-mail client, has a command-line interface; it works whether X is running or not. There is a third type of interface, however, an application programming interface, or API. An API provides a structured method to write a program that performs a certain task. For example, to write a program that plays sounds, you use the sound API; to write a program that communicates over a TCP/IP network, you use the socket API. Neither playing a sound nor communicating over a TCP/IP network necessarily requires a graphical or command-line interface; both graphical and command-line programs can play sounds or use TCP/IP, provided they use the proper API. Linux Programming Environments Linux boasts arguably the richest programming environment of any operating system currently available. As remarked earlier, this chapter uses the term programming environment to describe the tools used to write computer programs on a Linux system and to refer to underlying services that make programming on a Linux system possible (or, perhaps, worthwhile). This section looks first at the fundamental services and capabilities that inform and constrain programming on a Linux system. Next, you ll examine a few of the most popular graphical IDEs for creating programs on a Linux system. The section closes with a look at some of the command-line tools used for writing programs. As you will discover, some of the graphical IDEs provide comfortable editors for writing code, drawing dialog boxes, and navigating the file system, but use the command-line tools to do the work of compiling the code, hiding the command-line tools beneath an attractive interface. The Linux Development Environment The Linux development environment consists of the services and capabilities provided by the kernel and core system components. These services and capabilities both define and limit how to write programs that run on a Linux system. Consider files and the file system. Linux, like the UNIX systems on which it is modeled, is built on the key idiom that everything is file. This is a powerful metaphor and model that dramatically simplifies writing application programs to communicate with all sorts of devices. How? You can use the same function, the write() system call, to write data to a text file, to send data to a printer, to send keystrokes to an application, and, if you had one, to tell your network-connected coffeepot to brew another pot of coffee.
If you are looking for cheap and quality webhost to host and run your website check Jboss Web Hosting services.