The previous chapter introduced the readers to the world of scripting in Linux. Shell scripts do a wonderful job of integrating independent programs, which are otherwise disjointed. However, the individual programs still have to perform their own tasks. In this chapter, we begin the discussion that is going to form the basis for the rest of the book in terms of application development. Although Linux is a host of several programming and scripting languages, the focus of this book in general—and this chapter in particular—will be on the principles of object-oriented programming. The current chapter will discuss the core principles of object-oriented programming with respect to the popular C++, Object Pascal (Delphi), and Java languages, and Chapter 6 Desktop Application Development will discuss commercial products such as Borland JBuilder8 for Java development and Kylix3 (a cross-platform component library) by Borland Software Corp. for Delphi and C++ languages. The Delphi and C++ languages have belonged to the family of modern object-oriented languages for a considerable period of time, and Java is the most recent addition to this family. The example programs demonstrated in this chapter are all console applications and do not need the specific IDEs mentioned earlier to compile; rather, they need the Borland Delphi and C++ compilers and the Java compiler from the Java2 SDK for the Linux platform. On systems where Kylix has already been installed and where the Kylix bin directory has been set in the PATH environment variable, the command-line compilers dcc (for Delphi), bc++ (for C++) and javac (for Java) can be invoked from the shell prompt from any working directory. The initial part of the chapter will present Delphi and C++ programming (because they are tied together in Borland Kylix); the later part will examine Java language features.