ASP.NET教程之Codeproject对VC++.NET首席软件计划师Stan Lippman的采访仓酷云
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。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时期的位置不仅没有减弱,并且失掉了增强。十分乐意看到这篇批评。
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解) 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。 有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 那么,ASP.Net有哪些改进呢? 同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
页:
[1]