|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。StanLippman是出名的C++言语前驱,CFront编译器开辟团队的向导人,典范著作C++Primer的作者。Lippman受邀加盟微软,成为VisualC++.NET的新任首席软件计划师。这件事变在C++社区中引发了伟大的反应。几近一切为.NET所困扰的传统C++程序员都感应兴高采烈,连C++之父BjarneStroustrup都在暗里里暗示,这是一件功德,微软早该云云。出名VisualC++网站CodeProject为此采访了StanLippman。上面是这份采访的全文。因为事情严重,没偶然间翻译成中文,请人人包涵。
AninterviewwithMicrosoft"snewVisualC++ArchitectStanleyLippman
StanleyLippmanhasalonghistorywiththeC++languageandtheC++communityingeneral.HewasoneofthefirstusersandimplementersofC++,heworkedunderBjarneStroustrupattheBellLaboratoriesFoundationProject,wastheprincipalsoftwareengineeratWaltDisneyFeatureAnimationandhaswrittenanumberpopulartitlessuchastheC++Primer.
StanleyrecentlyjoinedMicrosoftastheArchitectforVisualC++soIcaughtupwithhimtohaveachatonwhatheseesasthepast,presentandfutureofVisualC++,andwhathisownpersonalgoalsareforVisualC++.
FirstlyIaskedStanwhatitwasthatattractedhimtoworkforMicrosoft.
FirstandforemostStanleylovestheconceptsbehind.NET.“Theframeworkisamazing,richandinteresting.”Stanleyhasworkedonplatformswhereevensimpleconceptssuchasthreadingareintenselypainfultogetworking,sohavingacomprehensiveBaseClassLibrarythatprovidesyouwithsuchthingsasacomprehensivethreadingmodelthatcanbeaccessedusingany.NETlanguageofyourchoiceisveryimportant.
StanleywasalsopleasantlysurprisedwhenherealizedthatC++wasnotleftoutof.NET,butwasinafirstclass.NETlanguage.
It’simportanttorememberthatlibrariessuchasMFC,ATL,WTLandthe.NETBCLareoutsideofStanley’sroleastheVisualC++architect,sowhilewetalkedalittleaboutthem,theyaren’tofficiallyunderhisumbrellaofinfluence.
看来StanLippman十分浏览.NET的全体构架计划。
SowhatdoyouseeasthefutureofVisualC++,andasthenewArchitectwhatareyourgoals?
Stanleyisveryclearonthefuture:“IbelieveVisualC++hasaprosperousfuture”.HehasmettheVisualC++teamandsaystheyhaveundeniableenthusiasmandenergy.Hisgoalisverysimple:“IwantVisualC++tobetheC++implementationofchoice”.Stanley’spersonalgoalistohaveC++developerschooseVisualC++notonlybecauseofthetoolsandplatform,butbecauseit’sthepremierimplementationoftheC++standard.
Compilercompliance
IntermsofC++complianceStanleyadmitsthatthelatestrelease(VisualC++7.0)isn’tquitethere,butthesubstantialworkthathasbeencarriedoutontheunderlyingimplementationmeansthatmovingtowardsamorecomprehensivelycompliantimplementationiswithinreach.He’llbepushingforwardwithcomplianceespeciallyintheareaoftemplates.
EventhoughVisualC++7.0doesnothavethefullrangeoffeaturesthatStanleywouldliketoseeimplemented,hesaysitisstillbyfarthemostcompliantimplementationofC++thatMicrosofthavereleased.It’snot100%perfect,butit’sstillanexcellentcompilerwithhighcompliancetothestandards.AreasthatstillhaveissuesarefullydocumentedintheVS.NETdocumentationinthearticletitled"StandardComplianceIssuesinVisualC++".
Microsoft’sgoalistohavea‘competitivelycompliant’compiler–meaningitwon’tbe100%compliant.ThereareacoupleoffeaturesoftheANSI/ISOstandard(forinstancethe‘export’keywordasappliedtotemplateclasses)thatwon’tbeimplementedbecausetheyareconsideredbyMicrosofttobeobscureand,atthisstage,theoretical.MicrosoftishoweverworkingtoensurethatVisualC++willcompilethemostpopularlibrariessuchasBoost,Blitz,LokiandafullycompliantversionofSTL.Theemphasisisonalevelofcompliancethatallowspopularlibrariestobecompiled,not100%compliance.
NickHodapp,Microsoft’sC++ProductManageralsoaddedthatwhilehighcomplianceisdefinitelyaveryimportantgoalMicrosoftwillnotsacrificecode-generationqualityorrobustnessatthecostofextremecompliance.Howeverinrecentlabteststheyarestillbeatingseveralpopularcompilersonconformancetests.
Whenwillweseethenextversion?
Stanleylaughsandsaysifitwereuptohimhe’demailoutupdateseachweek,buttherearepeskythingslikequalitycontrolandprocessesthatmustbeadheredtoinanythingascomplexasVisualC++.WiththelatestversiontobereleasedaroundFebruary2002hewouldliketoseeanupdateforthecompilerlatethesameyear,butisunsureastowhetherthatispossible.He’llcertainlybefightingforanearlyupdate.NickHodappbacksthisupbysayingthatit’sextremelylikelythatanupdatetoVC7willbeavailablenextyear.Microsoftareinvestigatingthebestmechanismtoreleaseacompilerrefreshnextyearthatwouldfocusoncompliancefeatures.
ManyC++developersfeelthatMicrosoftisrelegatingVisualC++tothesidelineinfavourofthenewerlanguagessuchasC#.
StanleywantsC++tobefarmoreapartof.NETthanitiscurrently.AtthemomentthebiggestbenefitofmanagedC++isasatransitionallanguage.Youareabletomoveyournativeappsintothe.NETframeworkorconsume.NETcomponentswithinyournativeapplications,butit’snotquitethelanguageofchoicefordevelopingfullymanagedapplications.
ForthependingreleaseofVisualC++.NET(VC7)Microsoftfocusedonenablinginteropfeatures.VC7hasthebestinteropscenariosofallthemanagedlanguagesandincludestheabilitytohavebothmanagedandunmanagedcodeinthesameimage.TheyalsofocusedonenablingoptimizationtechnologyonthegeneratedMSIL-theresultisthatVC7istheonlycompilertogenerateoptimizedMSIL.InfuturereleasesMicrosoftwillfocusonANSI/ISOconformance(enablingmanymorefeaturesforbothmanaged/unmanagedcode),aswellasfeaturesthatwillgiveVisualC++featureparitywithC#-WinForms,forexample.VisualC++willbepositionedasthepower-systemslanguagefor.NET.
VC.NET是独一一个可以发生优化MSIL指令的言语,也是独一一个能够在统一个映像中包括受管和不受管代码的言语,以是,它是.NET的体系言语。
TemplatesupportandgenericprogrammingareamustandMicrosoftareverykeentoimplementcodeDOMsupport,bothforASP.NETandWinForms.WiththeseaddedfeaturesStanleyseesVisualC++asbeingthepowerprogrammerslanguageofchoiceforthe.NETframework-tocomplimentit’scurrentroleasthelanguageofchoiceinunmanageddevelopment.EvenwithoutthetemplatesupportthatiscurrentlybeingpursuedStanleyseesVisualC++astheonlylanguagesuitableforthosewhoneedmorethanC#orVB.NETcanoffer.
StanleywentontocongratulateMicrosoftforshiftingawayfrombeingcorporateorientedandmovingtowardsbeingamoredeveloper-centricorganization.TothisendhewillbepushingevenmoretoopenupthecompanytodevelopersandwouldliketoseeMicrosofttobeevenmoreresponsivetothedevelopercommunity.Microsoftisrenownedforpushingaheadwithinnovationbuttherecanbedangersinmovingtoofarheadofnotonlystandards,butalsodeveloper’sneeds.StanleywillbepushingtoensurethatMicrosoftlistensmoretowhatthedevelopercommunityhastosaywhileensuringhigherstandardscompliance.
NewfeaturessuchasthoseintheC99specification
OnthetopicofextendingVisualC++toembracethenewfeaturesfoundintheC99specificationStanleystatedthattheseareissuesfortherelevantStandardsbodies.ThereisgrowingconcernthatariftisdevelopingbetweenCandC++,withC++nolongerbeingasupersetoftheformer.Microsoft’saimistohavethemoststandardscompliantimplementationsoiftheC++standardisupdatedtoincludenewfeaturesthenMicrosoftwillworktowardsimplementingtheminVisualC++.
Microsoft’sapproachtoaddingnewfeaturesiswhetherthosefeaturesare
- beingusedincodethatothercompilerscanbuild,or
- whetherthosefeaturesarecompellingenoughthatitbecomesapparentthattheircustomerswantthem.
Microsoftwillnotsimplyimplementfeaturesbecausetheyarespecifiedinthestandard.Theywillimplementthemwhenpeoplewantthembecausetheyarebeneficial.
Thefuture
ThemessageisthatVisualC++isdefinitelyaliveandkickingandhasaverybrightfutureinthe.NETworld.Stanley"saimistohavethecompileratapointwhereit’sthebenchmarkagainstwhichallothercompilersarecompared–intermsofsimplicity,funfactorandconformance.Itshouldbeeasytouse,versatile,enjoyable,anditshouldbewhatdevelopersthinkofwhenevertheythinkC++.ContinuingimprovementsinC++compliancealongwithfuturesupportforASP.NETandWinFormswillensurethatVisualC++bethepowerlanguagefor.NETandfornativedevelopment.
AstothequestionofwhetherdeveloperswillmovetoC#insteadofmanagedC++StanleythinkstherewillbemoreofamovefromVBtoC#thanC++toC#.C++isthebetter,moreversatileandtheonlyoptimisedcompileravailablein.NET.
我的感到,仿佛VC.NET在.NET时期的位置不仅没有减弱,并且失掉了增强。十分乐意看到这篇批评。
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解) |
|