![外文翻譯--C#介紹.doc_第1頁](http://file.renrendoc.com/FileRoot1/2013-11/17/454ef533-e017-4f18-959c-e2e59ef2671c/454ef533-e017-4f18-959c-e2e59ef2671c1.gif)
![外文翻譯--C#介紹.doc_第2頁](http://file.renrendoc.com/FileRoot1/2013-11/17/454ef533-e017-4f18-959c-e2e59ef2671c/454ef533-e017-4f18-959c-e2e59ef2671c2.gif)
![外文翻譯--C#介紹.doc_第3頁](http://file.renrendoc.com/FileRoot1/2013-11/17/454ef533-e017-4f18-959c-e2e59ef2671c/454ef533-e017-4f18-959c-e2e59ef2671c3.gif)
![外文翻譯--C#介紹.doc_第4頁](http://file.renrendoc.com/FileRoot1/2013-11/17/454ef533-e017-4f18-959c-e2e59ef2671c/454ef533-e017-4f18-959c-e2e59ef2671c4.gif)
![外文翻譯--C#介紹.doc_第5頁](http://file.renrendoc.com/FileRoot1/2013-11/17/454ef533-e017-4f18-959c-e2e59ef2671c/454ef533-e017-4f18-959c-e2e59ef2671c5.gif)
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
英文原文IntroducingC#C#-pronounced“SeeSharp”-isaprogramminglanguagedesignedforMicrosofts.NETplatform.Sinceitsfirstreleasein2002,C#hasfoundmanyroles.Itiswidelyusedontheserversideofwebsites,andalsoonboththeclientandserverinline-of-businessWindowsdesktopapplications.YoucanwritesmartphoneuserinterfacesandXbox360gamesinC#.Morerecently,MicrosoftsSilverlightplatformhasmadeC#anoptionforwritingRichInternetApplicationsthatruninawebbrowser.ButwhatkindoflanguageisC#?Tounderstandalanguagewellenoughtouseiteffectively,itsnotenoughtofocuspurelyonthedetailsandmechanisms,althoughwellbespendingplentyoftimeonthoseinthisbook.Itisequallyimportanttounderstandthethinkingbehindthedetails.Sointhischapter,welllookatwhatproblemsC#wasbuilttosolve.Thenwellexplorethestyleofthelanguage,throughaspectsthatdistinguishitfromotherlanguages.AndwellfinishthechapterwithalookatthelateststepintheevolutionofC#,itsfourthversion.WhyC#?Why.NET?Programminglanguagesexisttohelpdevelopersbemoreproductive.Manysuccessfullanguagessimplifyorautomatetedioustasksthatpreviouslyhadtobedonebyhand.Someoffernewtechniquesthatallowoldproblemstobetackledmoreeffectively,oronalargerscalethanbefore.HowmuchdifferenceC#canmaketoyouwilldependonyourprogrammingbackground,ofcourse,soitsworthconsideringwhatsortsofpeoplethelanguagedesignershadinmindwhentheycreatedC#.C#isaimedatdevelopersworkingontheWindowsplatform,anditssyntaxisinstantlyfamiliartousersofCorC+,orotherlanguagesthatdrawfromthesametradition,suchasJavaScriptandJava.Fundamentallanguageelementssuchasstatements,expressions,functiondeclarations,andflowcontrolaremodeledascloselyaspossibleontheirequivalentsinCfamilylanguages.Afamiliarsyntaxisnotenoughofareasontopickalanguage,ofcourse,soC#offersproductivity-enhancingfeaturesnotfoundinsomeofitspredecessors.Garbagecollectionfreesdevelopersfromthetyrannyofcommonmemorymanagementproblemssuchasmemoryleaksandcircularreferences.Verifiabletypesafetyofcompiledcoderulesoutawiderangeofbugsandpotentialsecurityflaws.WhileCorC+Windowsdevelopersmaynotbeaccustomedtothosefeatures,theywillseemoldhattoJavaveterans,butJavahasnothingtocompetewiththe“LINQ”featuresC#offersforworkingwithcollectionsofinformation,whetherinobjectmodels,XMLdocuments,ordatabases.Integratingcodefromexternalcomponentsisremarkablypainless,eventhosewritteninotherlanguages.C#alsoincorporatessupportforfunctionalprogramming,apowerfulfeaturepreviouslymostcommonlyseeninacademiclanguages.ManyofthemostusefulfeaturesavailabletoC#developerscomefromthe.NETFramework,whichprovidestheruntimeenvironmentandlibrariesforC#,andallother.NETlanguages,suchasVB.NET.C#wasdesignedfor.NET,andoneofthemainbenefitsofitscloserelationshipwiththe.NETFrameworkisthatworkingwithframeworkfeaturessuchastheclasslibraryfeelsverynatural.The.NETFrameworkClassLibraryWorkinginC#meansmorethanusingjustthelanguage-theclassesofferedbythe.NETFrameworkareanextremelyimportantpartoftheC#developerseverydayexperience(andtheyaccountforalotofthisbookscontent).Mostofthelibraryfunctionalityfallsintooneofthreecategories:utilityfeatureswrittenin.NET,wrappersaroundWindowsfunctionality,andframeworks.Thefirstgroupcomprisesutilitytypessuchasdictionaries,lists,andothercollectionclasses,aswellasstringmanipulationfacilitiessuchasaregularexpressionengine.Therearealsofeaturesthatoperateonaslightlylargerscale,suchastheobjectmodelsforrepresentingXMLdocuments.SomelibraryfeaturesarewrappersaroundunderlyingOSfunctionality.Forexample,thereareclassesforaccessingthefilesystem,andforusingnetworkfeaturessuchassockets.Andthereareclassesforwritingoutputtotheconsole,whichwecanillustratewiththeobligatoryfirstexampleofanyprogramminglanguagebook,showninExample1-1.Example1-1.Theinevitable“Hello,world”exampleclassProgramstaticvoidMain()System.Console.WriteLine(Hello,world);Wellexamineallthepiecesshownhereinduecourse,butfornow,notethateventhissimplestofexamplesdependsonaclassfromthelibrary-theSystem.Consoleclassinthiscase-todoitsjob.Finally,theclasslibraryofferswholeframeworkstosupportbuildingcertainkindsofapplications.Forexample,WindowsPresentationFoundation(WPF)isaframeworkforbuildingWindowsdesktopsoftware;ASP.NET(whichisnotanacronym,despiteappearances)isaframeworkforbuildingwebapplications.Notallframeworksareaboutuserinterfaces-WindowsCommunicationFoundation(WCF)isdesignedforbuildingservicesaccessedoverthenetworkbyothercomputersystems,forinstance.Thesethreecategoriesarenotstrict,asquiteafewclassesfitintotwo.Forexample,thepartsoftheclasslibrarythatprovideaccesstothefilesystemarenotjustthinwrappersaroundexistingWin32APIs.Theyaddnewobject-orientedabstractions,providingsignificantfunctionalitybeyondthebasicfileI/Oservices,sothesetypesfitintoboththefirstandsecondcategories.Likewise,frameworksusuallyneedtointegratewithunderlyingservicestosomeextentforexample,althoughtheWindowsFormsUIframeworkhasadistinctiveAPIofitsown,alotoftheunderlyingfunctionalityisprovidedbyWin32components.Sothethreecategoriesherearenotstrict.Theyjustofferausefulideaofwhatsortsofthingsyoucanfindintheclasslibraries.LanguageStyleC#isnottheonlylanguagethatrunsonthe.NETFramework.Indeed,supportformultiplelanguageshasalwaysbeenakeyfeatureof.NET,reflectedinthenameofitsruntimeengine,theCLRorCommonLanguageRuntime.Asthisnameimplies,.NETisnotjustforonelanguagenumerouslanguageshaveaccesstotheservicesofthe.NETFrameworkclasslibrary.WhymightyouchooseC#overtheothers?Wealreadymentionedoneimportantreason:C#wasdesignedspecificallyfor.NET.Ifyouareworkingwith.NETtechnologiessuchasWPForASP.NET,youllbespeakingtheirlanguageifyouworkinC#.ComparethiswithC+,whichsupports.NETthroughextensionstotheoriginallanguage.Theextensionsarecarefullythoughtoutandworkwell,butcodethatuses.NETlibrariesjustlooksdifferentfromnormalC+,soprogramsthatbridgetheworldsof.NETandstandardC+neverfeelcompletelycoherent.Andthedualpersonalityoftenpresentsdilemmas-shouldyouusestandardC+collectionclassesortheonesinthe.NETclasslibrary,forexample?Innative.NETlanguagessuchasC#,suchquestionsdonotemerge.F#istheoddoneouthere.Itsafunctionalprogramminglanguage,heavilyinfluencedbyalanguagecalledML.Backin1991,whenyourauthorswerefirst-yearstudents,ouruniversityscomputersciencecoursechoseMLforthefirstprogramminglanguagelecturesinpartbecauseitwassoacademicthatnoneofthestudentswouldpreviouslyhavecomeacrossanythinglikeit.F#isstillattheacademicendofthespectrumdespitehavingclimbedfarenoughdowntheivorytowertobeastandardpartofamainstreamdevelopmentenvironment.Itexcelsatcomplicatedcalculationsandalgorithms,andhassomecharacteristicsthatcanhelpwithparallelexecution.However,aswithmanyfunctionallanguages,thecostofmakingsomehardproblemseasieristhatalotofthingsthatareeasyinmoretraditionallanguagesareremarkablyhardinF#-functionallanguagesareadeptatcomplexproblems,butcanbeclumsywithsimpleones.ItseemslikelythatF#willmostlybeusedinscientificorfinancialapplicationswherethecomplexityofthecomputationtobeperformeddwarfsthecomplexityofthecodethatneedstoactontheresultsofthosecalculations.ManagedCodeThe.NETFrameworkprovidesmorethanjustaclasslibrary.Italsoprovidesservicesinsubtlerwaysthatarenotaccessedexplicitlythroughlibrarycalls.Forexample,earlierwementionedthatC#canautomatesomeaspectsofmemorymanagement,anotorioussourceofbugsinC+code.Abandoningheap-allocatedobjectsonceyouredonewiththemisacodingerrorinC+,butitsthenormalwaytofreethemin.NET.ThisserviceisprovidedbytheCLR-the.NETFrameworksruntimeenvironment.AlthoughtheC#compilerworkscloselywiththeruntimetomakethispossible,providingthenecessaryinformationabouthowyourcodeusesobjectsanddata,itsultimatelytheruntimethatdoestheworkofgarbagecollection.Dependingonwhatsortsoflanguagesyoumayhaveworkedwithbefore,theideathatthelanguagedependsheavilyontheruntimemightseemeithercompletelynaturalorsomewhatdisconcerting.ItscertainlydifferentfromhowCandC+work-withthoselanguages,thecompilersoutputcanbeexecuteddirectlybythecomputer,andalthoughthoselanguageshavesomeruntimeservices,itspossibletowritecodethatcanrunwithoutthem.ButC#codecannotevenexecutewithoutthehelpoftheruntime.Codethatdependsentirelyontheruntimeiscalledmanagedcode.Managedcompilersdonotproducerawexecutablecode.Instead,theyproduceanintermediateformofcodecalledIL,theIntermediateLanguage.Theruntimedecidesexactlyhowtoconvertitintosomethingexecutable.OnepracticalupshotofmanagedcodeisthatacompiledC#programcanrunonboth32-bitand64-bitsystemswithoutmodification,andcanevenrunondifferentprocessorarchitectures-itsoftenpossibleforcodethatrunsonanARM-basedhandhelddevicetorununmodifiedonIntel-basedPCs,oronthePowerPCarchitecturefoundintheXbox360gameconsole.IfyoureaJavadeveloper,allofthiswillsoundratherfamiliarjustsubstitutebytecodeforILandthestoryisverysimilar.Indeed,apopularbutsomewhatignorant“joke”amongthelessthoughtfulmembersoftheJavacommunityistodescribeC#asapoorimitationofJava.WhenthefirstversionofC#appeared,thedifferencesweresubtle,butthefactthatJavawentontocopyseveralfeatur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度家居建材市場推廣合同
- 二零二五年度天然氣市場開發(fā)與銷售合同
- 二零二五年度糧食質(zhì)量安全風(fēng)險(xiǎn)評估與預(yù)警合同3篇
- 2025-2030全球防水非金屬導(dǎo)管行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國安瓿瓶檢漏滅菌器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 二零二五年度農(nóng)業(yè)高效化肥農(nóng)藥農(nóng)膜市場拓展合同2篇
- 二零二五年度美甲店技師團(tuán)隊(duì)建設(shè)與發(fā)展合同
- 借款中介合同
- 人工智能芯片研發(fā)合同
- 建筑防火門材料性能與應(yīng)用考核試卷
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語試題(含解析無聽力音頻有聽力原文)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗(yàn)實(shí)驗(yàn)室建設(shè)技術(shù)規(guī)范
- 中華人民共和國政府信息公開條例解讀PPT
- 《陳列展覽項(xiàng)目支出預(yù)算方案編制規(guī)范和預(yù)算編制標(biāo)準(zhǔn)試行辦法》的通知(財(cái)辦預(yù)〔2017〕56號)
- 公司戰(zhàn)略和績效管理doc資料
- 特種設(shè)備日管控、周排查、月調(diào)度模板
- 人大商學(xué)院博士研究生入學(xué)考試試題-企業(yè)管理歷年卷
- 2023質(zhì)量月知識競賽試題及答案
- 《民航服務(wù)溝通技巧》教案第12課病殘旅客服務(wù)溝通
- 直埋電纜溝工程專項(xiàng)施工組織設(shè)計(jì)
- 第五章北方雜劇創(chuàng)作
評論
0/150
提交評論