Smalltalk and the Internet
Probably no other application of object-oriented programming has been as successful in its reliance on OOP as the Internet. Since its very beginnings, the Internet has been inextricably tied to object-oriented languages. The complexity and nonlinearity of the large-scale networking problems required the modularized approach of OOP. There are two essentially distinct uses for OOP on the Internet: actual Internet transfer control mechanisms, and sending objects via the web.
The transfer of information over the Internet occurs through several layers of transport. Besides the obvious physical wiring, their is a level of actual bits and bytes of data, the TCP/IP level (Transmission Control Protocol and Internet Protocol) on top of the that, and, the top layer of HTTP, Telnet, FTP, or Gopher (Pletzke, chapter 15). These protocols control the way that the client (e.g. the computer which opens Netscape and selects the URL www.stanford.edu) communicates with the server (the central computer which stores the Stanford web pages and responds to clients by sending them the appropriate HTML code). Both the server and the client require fairly sophisticated software to control the way they send and receive data. Most of the modern commercial clients an d servers have their software written in OOP.
The first convenient transfer protocol that could be used for more than character terminal access was the Gopher (i.e. "goes for"). Although the Gopher is now almost completely supplanted by HTTP, its importance in the evolution of the Internet should not be underestimated. Not surprisingly, many of the Gopher clients and servers were written in Smalltalk, which was the most highly developed object-oriented language at the time. Most servers and clients have since switched to Java-controlled transport controllers, but the basic premise remains the same: the modularity of OOP makes it possible to quickly respond to pending real-time requests which may proceed simultaneously from several sources.
The second Internet-related use of the OOP deals with actual objects that are sent over the network as data. The most convenient way for a server to interact with a client is by sending the client a copy of an object that the client can the message (f or example by clicking on it). Via the message-to-method resolution described earlier, this message causes the original object on the server to react appropriately. The immediacy of this response makes very complicated types of interaction between the client and the server, such as games, possible. Applications that use objects to communicate via the Internet are familiar to most Internet users as Java applets. However, although Java was specifically designed with Internet applications in mind and has, therefore, quickly gained preeminence in Internet applications, the first prototypes of such applets were actually written in Smalltalk. (Pletzke, chapter 15).
The discussion above is equally applicable to both the Internet and smaller scale company-wide networks. Smalltalk and other OOP languages derived from it are effectively used in intra- and Inter-net applications for managing complex computer interaction in the data and application realms. From a wider perspective, networking applications have driven the development of object-oriented programming, which in turn has succeeded in further chnaging the human-computer interaction by making the Internet possible. Thus, the relationship between object-oriented programming and the Internet supports the assertion that OOP, which developed under the influence of advancing technology and shifting attitudes toward computers in society, in turn served to further change the approach to computing and the cultural acceptance of computers.
Reference:
Jonathan Pletzke, Advanced Smalltalk, John Wiley and Sons, New York, 1997.