The traditional roles of
shell programming include automating repetitive tasks or demonstrating a temporary prototype. In the latter case, if the shell program works well, it is implemented in a compiled language. Because the shell is an interpreted language, its execution time is slower than any compiled-language counterpart.
In addition, if the program uses any call to other shell utilities, the execution time is even slower.
However, with the evolution of object-
oriented programming,
distributed computing practices, and many web
interface and programming developments, the shell has become more useful. In the preface to UNIX Shell Objects, Jones says of the expansion, "the next generation of system development bridges multiple tiers across the network, thus connecting new and existing systems into large distributed applications."
The "simple" shell links to object-oriented programming and design; it also bonds to Java to implement Internet sockets, which in turn permits IPC (interprocess communications).It also associates the shell with an object request broker (ORB), a system management utility (SMU), and CGI (Common Gateway Interface) programming. In many ways, it resembles the small country road developing into a central superhighway.
More abstracts about the UNIX Shell Objects - the next generation