11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

374 Plug <strong>and</strong> PlayImpact <strong>of</strong> the LanguageBecause <strong>of</strong> its many practical features <strong>and</strong> its availability forthe popular IBM 360 mainframes, PL/I enjoyed considerablesuccess in the late 1960s <strong>and</strong> 1970s. The language waslater ported to most major platforms <strong>and</strong> operating systems.When personal computers came along, PL/I becameavailable for IBM’s OS/2 operating system as well as forMicros<strong>of</strong>t’s DOS <strong>and</strong> Windows, although the language neverreally caught on in those environments.<strong>Computer</strong> scientists such as structured programmingguru Edsger Dijkstra decried PL/I’s lack <strong>of</strong> a clear, welldefinedstructure. In his Turing Award Lecture in 1972,Dijkstra opined that “I absolutely fail to see how we cankeep our growing programs firmly within our intellectualgrip when by its sheer baroqueness the programming language—ourbasic tool, mind you!—already escapes ourintellectual control.” (See Dijkstra, Edsger.)On a practical level the sheer number <strong>of</strong> features inthe language meant that truly mastering it was a lengthyprocess. A language like C, on the other h<strong>and</strong>, had a muchsimpler “core” to master even though it was less versatile.PL/I also tended to retain the mainframe associations fromits birth at IBM, while C grew up in the world <strong>of</strong> minicomputers<strong>and</strong> the UNIX community <strong>and</strong> proved more suitablefor PCs. Nevertheless, PL/I provided many examples thatlanguage designers could use in attempting to design betterimplementations.Further ReadingThe Essentials <strong>of</strong> PL/I Programming Language. Piscataway, N.J.:Research <strong>and</strong> Education Association, 1993.Hughes, Joan Kirby. PL/I Structured Programming. 3rd ed. NewYork: Wiley, 1986.“PL/I Frequently Asked Questions (FAQ).” Available online. URL:http://www.faqs.org/faqs/computer-lang/pli-faq/. AccessedAugust 17, 2007.“The PL/I Language.” Available online. URL: http://home.nycap.rr.com/pflass/pli.htm. Accessed February 9, 2008.Sebesta, Robert W. Concepts <strong>of</strong> Programming Languages. 8th ed.Boston: Pearson Addison-Wesley, 2007.Plug <strong>and</strong> PlayIn early MS-DOS systems installation <strong>of</strong> new hardware suchas a printer <strong>of</strong>ten had to be performed manually by copyingfiles (see device driver) to the hard drive from floppies<strong>and</strong> then making specified settings to the system configurationfiles AUTOEXEC.BAT <strong>and</strong> CONFIG.SYS. These settings<strong>of</strong>ten involved unfamiliar concepts such as interrupts(IRQs) <strong>and</strong> DMA (direct memory access) channels.When Windows came along, device manufacturers generallyprovided an installation program that takes care <strong>of</strong>copying the files <strong>and</strong> making the necessary changes to thesystem registry. However, there was still the problem <strong>of</strong>ensuring that one had a driver compatible with the version<strong>of</strong> the operating system in use, <strong>and</strong> users were sometimesasked to make choices for which they were not prepared(such as choosing which port to use).By the mid-1990s, Intel was promoting a st<strong>and</strong>ard for theautomated detection <strong>and</strong> configuration <strong>of</strong> devices. Knownas Plug <strong>and</strong> Play (PnP), this st<strong>and</strong>ard was incorporated inversions <strong>of</strong> Micros<strong>of</strong>t Windows starting with Windows 95(see Micros<strong>of</strong>t Windows). The required hardware supportsoon appeared on PC motherboards <strong>and</strong> expansion cards.With Plug <strong>and</strong> Play the user simply connects a printer,scanner, or other device to the PC. Windows detects thata device has been connected <strong>and</strong> queries it for its <strong>of</strong>ficialname <strong>and</strong> other information. If necessary, Windows canthen prompt the user for a disk containing the appropriatedriver or even search for a driver on a Web site.The concept <strong>of</strong> Plug <strong>and</strong> Play extends beyond the Windowsworld, however. In recent years there has been interestin developing a Universal Plug <strong>and</strong> Play (UPnP) protocolby which a variety <strong>of</strong> devices could automatically configurethemselves with any <strong>of</strong> a variety <strong>of</strong> different networks.This would be particularly helpful for home users who areincreasingly setting up small networks so they can sharebroadb<strong>and</strong> Internet connections, as well as the growingnumber <strong>of</strong> users who want their desktop PC to work withh<strong>and</strong>held (palm) computers <strong>and</strong> other devices. Micros<strong>of</strong>tsupports UPnP in versions <strong>of</strong> Windows starting with ME<strong>and</strong> XP.Further ReadingBigelow, Stephen J. The Plug & Play Book. New York: McGraw Hill,1999.Shanley, Tom. Plug <strong>and</strong> Play System Architecture. Reading, Mass.:Addison-Wesley, 1995.Universal Plug <strong>and</strong> Play Forum. Available online. URL: http://www.upnp.org/. Accessed August 17, 2007.plug-inA number <strong>of</strong> applications programs include the ability forthird-party developers to write small programs that extendthe main program’s functionality. For example, thous<strong>and</strong>s<strong>of</strong> “filters” (algorithms for transforming images) have beenwritten for Adobe Photoshop. These small programs arecalled plug-ins because they are designed to connect tothe main program <strong>and</strong> provide their service whenever it isdesired or required.Perhaps the most commonly encountered plug-ins arethose available for Web browsers such as Firefox, Netscape,or Internet Explorer. Plug-ins can enable the browser to displaynew types <strong>of</strong> files (such as multimedia). Many st<strong>and</strong>ardprograms for particular kinds <strong>of</strong> files are now providedboth as st<strong>and</strong>-alone applications <strong>and</strong> as browser plug-ins.Examples include Adobe (PDF document format), AppleQuickTime (graphics, video, <strong>and</strong> animation), RealPlayer(streaming video <strong>and</strong> audio), <strong>and</strong> Macromedia Flash (interactiveanimation <strong>and</strong> presentation). These <strong>and</strong> many otherplug-ins are <strong>of</strong>fered free for the downloading, in order toincrease the number <strong>of</strong> potential users for the formats <strong>and</strong>thus the market for the development packages.One <strong>of</strong> the most useful plug-ins found in most browsersis one that allows the browser to run Java applets (see Java).In turn, Java is <strong>of</strong>ten used to write other plug-ins.Beyond such traditional workhorses, a number <strong>of</strong> innovativebrowser plug-ins have appeared, particularly for the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!