8外文文献翻译文档格式.doc
《8外文文献翻译文档格式.doc》由会员分享,可在线阅读,更多相关《8外文文献翻译文档格式.doc(10页珍藏版)》请在冰点文库上搜索。
1Introduction
Thecomputerrevolutionofthe1970sincreasedthedemandforsophisticatedcomputersoftwaretotakeadvantageoftheever-increasingcapacityofcomputerstoprocessdata.TheCprogramminglanguagebecamethelinchpinthatenabledprogrammerstobuildsoftwarethatwasjustasrobustasthecomputeritranon.
Asthe1980sapproached,programmerswerewitnessinganotherspurtintheevolutionofprogramminglanguage.ComputertechnologyadvancedbeyondthecapabilitiesoftheCprogramminglanguage.Theproblemwasn’tnew.Itoccurredpreviouslyandcausedthedemiseofgenerationsofprogramminglanguages.Theproblemwasthatprogramswerebecomingtoocomplicatedtodesign,write,andmanagetokeepupwiththecapabilitiesofcomputers.ItwasaroundthistimethatadesignconceptbasedonSimula67andSmalltalk(fromthelate1960s)movedprogrammingtothenextevolutionarystep.Thiswastheperiodwhenobject-orientedprogramming(OOP),andwithitanewprogramminglanguagecalledC++,tookprogrammersbystorm.
In1979,BjarneStroustrupofBellLaboratoriesinNewJerseyenhancedtheCprogramminglanguagetoincludeobject-orientedfeatures.HecalledthelanguageC++.(The++istheincrementaloperatorintheCprogramminglanguage.)C++istrulyanenhancementoftheCprogramminglanguage,anditbeganasapreprocessorlanguagethatwastranslatedintoCsyntaxbeforetheprogramwasprocessedbythecompiler.
Stroustrupbuiltontheconceptofaclass(takenfromSimula67andSmalltalk),fromwhichinstancesofobjectsarecreated.Aclasscontainsdatamembersandmemberfunctionsthatdefineanobject’sdataandfunctionality.Healsointroducedtheconceptofinheritance,whichenabledaclasstoinheritsomeoralldatamembersandmemberfunctionsfromoneormoreotherclasses—allofwhichcomplementstheconceptsofobject-orientedprogramming.
By1988,ANSIofficialsstandardizedStroustrup’sC++specification.
2EnterJava
JustasC++wasbecomingthelanguageofchoiceforbuildingindustrial-strengthapplications,anothergrowthspurtintheevoluti-onofprogramminglanguagewasbudding,fertilizedbytheltestdisruptivetechnology—theWorldWideWeb.TheInternethadbeenawell-keptsecretfordecadesbeforetheNationalScienceFound-ation(whooversawtheInternet)removedbarriersthatpreventedcommercialization.Until1991whenitwasopenedtocommerce,theInternetwasthealmostexclusivedomainofgovernmentagenc-iesandtheacademiccommunity.Oncethebarriertocommercializationwaslifted,theWorldWideWeb—oneofseveralservicesofferedontheInternet—becameavirtualcommunitycenterwherevisitorscouldgetfreeinformationaboutpracticallyanythingandbrowsethroughthousandsofvirtualstores.
BrowserspowertheWorldWideWeb.AbrowsertranslatesASCIItextfileswritteninHTMLintoaninteractivedisplaythatcanbeinterpretedonanymachine.AslongasthebrowseriscompatiblewiththecorrectversionofHTMLandHTTPimplementation,anycomputerrunningthebrowsercanusethesameHTMLdocumentwithouthavingtomodifyitforaparticulartypeofcomputer,whichwassomethingunheardofatthetime.ProgramswritteninCorC++aremachinedependentandcannotrunonadifferentmachineunlesstheprogramisrecompiled.
ThesuccessoftheInternetgaverenewedfocustodevelopingamachine-independentprogramminglanguage.AndthesameyeartheInternetwascommercialized,fivetechnologistsatSunMicrosystemssetouttodojustthat.JamesGosling,PatrickNaughton,ChrisWarth,EdFrank,andMikeSheridanspent18monthsdevelopingtheprogramminglanguagetheycalledOak,whichwasrenamedJavawhenthisnewlanguagemadeitsdebutin1995.Javawentthroughnumerousiterationsbetween1991and1995,duringwhichtimemanyothertechnologistsatSunmadesubstantialcontributionstothelanguage.TheseincludedBillJoy,ArthurvanHoff,JonathanPayne,FrankYelin,andTimLindholm.
AlthoughJavaiscloselyassociatedwiththeInternet,itwasdevelopedasalanguageforprogrammingsoftwarethatcouldbeembeddedintoelectronicdevicesregardlessofthetypeofCPUusedbythedevice.ThisisknownastheEmbeddedJavaplatformandisincontinuoususetodayforclosedsystems.
TheJavateamfromSunsucceededincreatingaportablepro-gramminglanguage,somethingthathadeludedprogrammerssincecomputerswerefirstprogrammed.Theirsuccess,however,wasfarbeyondtheirwildestdreams.ThesameconceptusedtomakeJavaprogramsportabletoelectronicdevicesalsocouldbeusedtomakeJavaprogramsrunoncomputersrunningMicrosoftWindows,U-NIX,andMacintosh.Timingwasperfect.TheInternet/intranethadwhettedcorporateAmerica’sappetiteforcost-effective,portableprogramsthatcouldreplacemission-criticalapplicationswithinthecorporation.AndJavahadprovenitselfasaprogramminglanguageusedtosuccessfullydevelopmachine-independentapplications.
3JavaVirtualMachine
WritingJavaprogramsissimilartowritingC++programsinthattheprogrammerwritessourcecodethatcontainsinstructionsintoaneditor,orinanintegrateddevelopmentenvironment,andthenthesourcecodeiscompiled.However,that’swhereJavaandC++partways.ThecompilingandlinkingprocessofaC++programresultsinanexecutablethatcanberunonanappropriatemachine.Incontrast,theJavacompilerconvertsJavasourcecodeintobytec-odethatisexecutedbytheJavaVirtualMachine(JVM).
Machine-specificinstructionsarenotincludedinbytecode.Instead,theyalreadyresideintheJVM,whichismachinespecific.ThismeansthatthebytecodemightcontainfewerinstructionsthatneedtobetranslatedthanacomparableC++program.
AlthoughtheJavacompilergeneratesbytecodethatmustbeinterpretedbytheJVMatruntime,thenumberofinstructionsthatneedtranslationareusuallyminimalandhavealreadybeenoptimizedbytheJavacompiler.
4BacktotheFuture:
J2ME
RememberthatJavabeganasaprogramminglanguagetocreateprogramsforembeddedsystems—microcomputersfoundinconsumerandindustrialproductssuchasthoseusedtocontrolautomobilesandappliances.ThedevelopmentteamatSunworkedonJavaintheearly1990stoaddresstheprogrammingneedsofthefledglingembeddedcomputermarket,butthateffortwassidetrackedbymorecompellingopportunitiespresentedbytheInternet.
Asthoseopportunitieswereaddressed,anewbreedofportablecommunicationsdevicesopenedotheropportunitiesattheturnofthecentury.CellphonesexpandedJ2ME:
TheCompleteReferencefromvoicecommunicationsdevicestovoiceandtextcommunicationsdevices.Pocketelectronictelephonedirectoriesevolvedintopersonaldigitalassistants.Chipmakerswerereleasingnewproductsatthistimethatweredesignedtotransfercomputingpowerfromadesktopcomputerintomobilesmallcomputersthatcontrolledgaspumps,cabletelevisionboxes,andanassortmentofotherappliances.
ThetimewasrightforthenextevolutionofJava.However,insteadofbeefingupJavawithadditionalAPIs,theteamatSun,alongwiththeJavaCommunityProcessProgram,dismantledboththeJavaprogramminglanguageandtheJavaVirtualMachine.They
strippeddownJavaAPIsandtheJVMtotheminimumcodingrequiredtoprovideintelligencetoembeddedsystemsandmicrocomputerdevices.Thiswasnecessarybecauseofresourceconstraintsimposeduponthehardwaredesignofthesedevices.TheresultoftheireffortsisJ2ME.J2MEisareducedversionoftheJavaAPIandJavaVirtualMachinethatisdesignedtooperatewithinthesparseresourcesavailableinthenewbreedofembeddedcomputersandmicrocomputers.
5HowJ2MEIsOrganized
Traditionalcomputingdevicesusefairlystandardhardwareconfigurationssuchasadisplay,keyboard,mouse,andlargeamountsofmemoryandpermanentstorage.However,thenewbreed
ofcomputingdeviceslackshardwareconfigurationcontinuityamongdevices.Somedevicesdon’thaveadisplay,permanentstorage,keyboard,ormouse.Andmemoryavailabilityisinconsistentamongsmallcomputingdevices.ThelackofuniformhardwareconfigurationamongthesmallcomputingdevicesposesaformidablechallengefortheJavaCommunityProcessProgram,whichischargedwithdevelopingstandardsfortheJVMandtheJ2MEforsmallcomputingdevices.
J2MEmustservicemanydifferentkindsofsmallcomputingdevices,includingscreenphones,digitalset-topboxesusedforcabletelevision,cellphones,andpersonaldigitalassistants.ThechallengefortheJavaCommunityProcessProgramistodevelopaJavastandardthatcanbeimplementedonsmallcomputingdevicesthathavenonstandardhardwareconfigurations.TheJavaCommunityProcessProgramhasusedatwofoldapproachtoaddressingtheneedsofsmallcomputingdevices.First,theydefinedtheJavarun-timeenvironmentandcoreclassesthatoperateoneachdevice.Thisisreferredtoastheconfiguration.AconfigurationdefinestheJavaVirtualMachineforaparticularsmallcomputingdevice.Therearetwoconfigurations,oneforhandhelddevicesandtheotherforplug-indevices.Next,theJavaCommunityProcessProgramdefinedaprofileforcategoriesofsmallcomputingdevices.Aprofileconsistsofclassesthatenabledeveloperstoimplementfeaturesfoundonarelatedgroupofsmallcomputingdevices.
6J2MEconfigurations
TherearetwoconfigurationsforJ2MEasofthiswriting.TheseareConnectedLimitedDeviceConfiguration(CLDC)andtheConnectedDeviceConfiguration(CDC).TheCLDCisdesignedfor16-bitor32-bitsmallcomputingdeviceswithlimitedamountsofmemory.
CLDCdevicesusuallyhavebetween160KBa