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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

392 punched cards <strong>and</strong> paper tapepunched cards <strong>and</strong> paper tapeIn 1804, the French inventor Joseph-Marie Jacquardinvented an automatic weaving loom that used a chain <strong>of</strong>punched cards to control the pattern in the fabric. A generationlater, a British inventor (see Babbage, Charles)decided that punched cards would be a suitable medium forinputting data into his proposed mechanical computer, theAnalytical Engine.Although Babbage’s machine was never built, by 1890an American inventor was using an electromechanical tabulatingmachine to process census data punched into cards(see Hollerith, Herman). Card tabulating machines wereimproved <strong>and</strong> marketed by International Business Machines(IBM) throughout the first part <strong>of</strong> the 20th century. IBMwould also create the 80-column st<strong>and</strong>ard punched cardthat would become familiar to a generation <strong>of</strong> programmers.Later machines included features such as mechanicalsorting, enhanced arithmetic functions, <strong>and</strong> the ability togroup cards by a particular criterion <strong>and</strong> print subtotals,counts, or other information about each group. Althoughthese machines were not computers, they did introduce theidea <strong>of</strong> automated data processing.During the 1930s, a number <strong>of</strong> companies introducedpunch card tabulators that could work with alphanumericdata (that is, letters as well as numbers). With theseexp<strong>and</strong>ed capabilities, punch card systems could be usedto keep track <strong>of</strong> military recruits, taxpayers, or customers(such as insurance policy holders). IBM emphasizedthe new machines’ features by calling them “accountingmachines” instead <strong>of</strong> tabulators.While tabulators <strong>and</strong> calculators using punched cardsgave a taste <strong>of</strong> the power <strong>of</strong> automated data processing,they had a very limited programming ability. For example,they could not make more than very simple comparisons ordecisions, <strong>and</strong> could not repeat steps under program control(looping). The desire to create a general-purpose dataprocessing system led in the 1940s to the development <strong>of</strong>the electronic computer.When the first computers were developed, it was naturalto turn to the existing punched cards <strong>and</strong> their machineryfor a medium for inputting data <strong>and</strong> program instructionsinto the new machines. Because computers contained workingmemory, the program could be stored in its entiretyduring processing, enabling looping, subroutines, <strong>and</strong> otherways to control processing. Because the amount <strong>of</strong> availablememory or “core” was severely limited, not much datacould be stored inside the computer. However, complicatedprocessing could be broken into a series <strong>of</strong> steps where aprogram was loaded <strong>and</strong> run, the input data cards read <strong>and</strong>processed, <strong>and</strong> the intermediate results punched onto a set<strong>of</strong> output cards. The card could then be input to anotherprogram to carry out the next phase.By the 1970s, however, faster <strong>and</strong> easier to use mediasuch as magnetic tape <strong>and</strong> disk drives were being employedfor program <strong>and</strong> data storage. Instead <strong>of</strong> having to use akeypunch machine to create each program statement, programmerscould type their comm<strong>and</strong>s at a terminal, usinga text editor (see programming environment). Even thegovernment began to phase out punched cards. Today some“legacy” punch card systems are maintained, <strong>and</strong> thereis sometimes a need to read <strong>and</strong> convert archival data inpunch card form.Ironically, this workhorse <strong>of</strong> early data processingwould surface again in the U.S. presidential election <strong>of</strong>2000, when problems with the interpretation <strong>of</strong> partlypunched “chads” on ballot punch cards would lead togreat controversy.Further ReadingCardamation Company. Available online. URL: http://www.cardamation.com/.Accessed August 17, 2007.Dyson, George. “The Undead: The Little Secret That Haunts CorporateAmerica: A <strong>Technology</strong> That Won’t Go Away.” Wired7.03 (March 1999): 141–145, 170–172. Available online. URL:http://www.wired.com/wired/archive/7.03/punchcards.html.Accessed August 17, 2007.Philips, N. V. “Everything About Punch Cards.” Available online. URL:http://www.museumwaalsdorp.nl/computer/en/punchcards.html. Accessed August 17, 2007.Province, Charles M. “IBM Punch Cards in the Army.” Availableonline. URL: http://www.geocities.com/pattonhq/ibm.html.Accessed February 9, 2008.PythonCreated by Guido van Rossum <strong>and</strong> first released in 1990,Python is a relatively simple but powerful scripting language(see scripting languages <strong>and</strong> Perl). The namecomes from the well-known British comedy group MontyPython.Python is particularly useful for system administrators,webmasters, <strong>and</strong> other people who have to link variousfiles, data source, or programs to perform their daily tasks.The language currently has a small but growing (<strong>and</strong> quiteenthusiastic) following.Python dispenses with much <strong>of</strong> the traditional syntaxused in the C family <strong>of</strong> languages. For example, the followinglittle program converts a Fahrenheit temperature to itsCelsius equivalent:temp = input(“Farenheit temperature:”)print (temp-32.0) *5.0/9.0Without the semicolons <strong>and</strong> braces found in C <strong>and</strong>related languages, Python looks rather like BASIC. Alsonote that the type <strong>of</strong> input data doesn’t have to be declared.The runtime mechanism will assume it’s numeric from theexpression found in the print statement. Python programsthus tend to be shorter <strong>and</strong> simpler than C, Java, or evenPerl programs. The simple syntax <strong>and</strong> lack <strong>of</strong> data typingdoes not mean that Python is not a “serious” language,however. Python contains full facilities for object-orientedprogramming, for example.Python programs can be written quickly <strong>and</strong> easily bytrying comm<strong>and</strong>s out interactively <strong>and</strong> then converted thescript to bytecode, a machine-independent representationthat can be run on an interpreter designed for each machineenvironment. Alternatively, there are translation programsthat can convert a Python script to a C source file that canthen be compiled for top speed.

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

Saved successfully!

Ooh no, something went wrong!