|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。注:本文是孟岩为《程序员》第11期手艺专题《C++凤凰涅磐》所撰写的文章节选,未经允许,任何构造不得转载。
另:本文是节选,全文可见于11期手艺专题。该专题除有这篇访谈的全文以外,另有StanLippman和李建忠师长教师为了他们互助的新专栏“C++/CLI锋利体验”而给中国C++程序员们写的信,和其他C++/CLI相干的文章。------------------------------------------------------------------------------------
记者:你们是甚么时分入手下手计划新的C++/CLI的呢?目标是甚么?我的意义是说,你们以为ManagedC++Extension失利了,是吗?
Stan:微软延聘我的时分,我对办理层的每个人说,ManagedC++把我惹火了,我明白告知他们我不会是一个听话的兵士。昔时我跟BjarneStroustrup一同事情的时分就是如许,对一些事变我有分歧定见,我宣布了我的定见,并且也做了需要的勉力。固然最初多是他人赢了,我的定见大概被搁在一边,但我不会是个顺平易近。
说正派的,假如要说ManagedC++有一点乐成的地方,那就是它还能用,并且是把现有代码移植到新平台上的独一路子。这真的很了不得,我的确感应惊奇。可是从编程言语的体验来说,它其实是不怎样。我以为一部分缘故原由是,MC++的计划者(关于尺度C++)太过忠诚了。我比他们更勇于冒犯Bjarne,尔后来公司的HerbSutter比我还大胆。他们应当更刚强一些,他们太缩头缩脑,不敷勇敢。我在贝尔实行室学到一件事变,那就是你应当对你以为准确的工具坚持刚强的信念和激情亲切。
我想说,MC++的确可以事情,并且是把C++放到.NET中而且包装起来的唯一举措。可是,它不是C++,它的完成就言语而言是不天然的,这一点危险了良多人。
我之前说过,CLI其实不仅仅是微软的平台,它是今朝独一有远景的手艺。Java已基础到头了,我是说它只是一种手艺罢了,它没有更宏大的方针了,它已竭尽所能了。而.NET是以后独一一种远景宏大的手艺。就算这一代的编程言语开展到止境,也不料味着这个平台自己开展到了止境。以是,对一种言语来讲,假如盘算超出原生代码,就必需移植到.NET上。这就是我对C++的任务。(计划C++/CLI)的事情入手下手今后,良多人介入个中,特别值得称道的是HerbSutter,他十分十分主要,C++社群里的良多人都奉献了本人的力气。我很乐意。可是你晓得,这其实不能回功于我。
C++的线路是Bjarne断定的,我固然以为这条线路是很乐成的,我关于ISOC++的开展偏向感应很奋发。可是,我的确不以为ISOC++有何等风趣,我说这话不是要冲克谁,只是谈我的实在意见。ISOC++很了不得,可是它跟C99一样,只是对言语机制的一些修补和增强。它没有给我供应线程机制,也没有收集的撑持。这事放在21世纪,几乎是是一种犯法。而.NET供应了完整的撑持库。在我看来,这是C++早就应当做的事变。
你晓得,整件事变很使人欣喜:我分开了C++的起源地,贝尔实行室,也没盘算再归去,但是我竟然还可以介入C++的改善事情,我很乐意。实在我其实不以为如今的C++/CLI就很完善了,不外我们已有了一些十分棒的设法,你们会鄙人一个版本里看到。
这对C++社群固然是一个应战。我团体感应ISOC++社群已酿成一个闭关自守的社群了,我们要把它翻开。这固然不是一个能媚谄一切人的事变。有些人对我们的做法很恶感。这跟昔时产生过的事变是一样的。昔时Bjarne制造C++的时分,良多用C的人也很恶感。C++刚出来的时分,有些人以为它是有史以来最烂的言语。他们要丢弃那些招致功能下落的机制,把虚函数戏称为“褴褛函数”。我是说,在实行室外部就存在着如许对峙的两派。如今我看到这一幕在重演,有些人告诫说,微软正在弄诡计。我们尽了很年夜的勉力,客气地听取社群的定见,约请他们,聆听他们的声响,这统统正如Bjarne在1980年月中期所做的一样,事先他取得了办理层的允许,间接扣问IBM和Apple对新言语的意见,其局限和深切水平凌驾了办理层事前的预期。我的概念是,我们是在发扬Bjarne的精力。以是我想,就算他不是相对撑持我们的做法,也不会是完整否决。
记者:Bjarne其实不完整撑持C++/CLI,是吗?
Stan:他基本不必要云云。他自己就介入了这项事情。我和HerbSutter在牛津的一次C/C++利用者集会上跟他扳谈过,我们向他展现我们的计划,Herb花了很年夜的力量深切细节,Herb真是一个强者,他十分擅长深切细节,比拟之下我并非一个很喜好深切细节的人。我们每礼拜都跟他闭会。Bjarne会倡议我们采取分歧的思绪,更主要的是,我们都能听到他的设法,他也晓得我们的目标,以是,我以为我们弄出来的这个言语仍是不错的。
记者:也就是说,您以为C++/CLI已乐成了?我是说,此次刷新已乐成了?
Stan:要我说,是一次退化,而不是刷新,跟Bjarne昔时往C中到场笼统数据范例和面向对象一样。在这些过程当中,在分歧的计划范型(paradigms)之间,老是会呈现一些反面谐。跟CLI的整合是很坚苦的,由于CLI是最高统治者。举个例子,你试图在基类机关函数中挪用派生类的虚函数,这应当长短法的,由于谁人时分派生类对象还不存在,可是由于CLI的统治,我们对这类不法举动力所不及。再好比,假如你想绕过值范例的缺省机关函数,在CLI的统治下,也是不成能的。我是说,我们的确不能不在良多中央向CLI妥协。那末是否是说我以为CLI成绩多多呢,完整不是。像值范例机关函数这类成绩很庞大,我没法在这里说分明。总而言之,CLI仍是不错的。
在微软外部存在良多争辩,我并没有博得每场争辩,即便我以为我应当赢,也纷歧定能赢。没人能战无不胜。可是HerbSutter有才能使人人告竣共鸣,从而确保C++/CLI在一个静态编程情况中具有优美的将来。我以为C++/CLI是C++面临Java和C#应战的一个公道的反响和完美。
记者:C++/CLI在将来的.NET平台大将饰演如何的脚色?
Stan:我们但愿它能酿成.NET平台上的体系编程言语。就是说,它能够用来开辟那些驱动统统的程序。你不成能用C#来写.NET驱动程序,也不克不及用C#来写C#编译器,最少如今不可,但你能够用C++/CLI做到。你能够在C++/CLI上到达最高的效力和最年夜的才能,由于我们关于CLI模子的整合更加完全深切。C#的编程模子跟C++/CLI比拟是有所不及的,没有我们这么“先辈”。以是我以为,假如你之前是一个C++程序员,如今盘算进修.NET,C++/CLI是一个很好的选择。.NET编程是让人镇静的,而C++/CLI让你可以开掘.NET的全体才能,这真的是很让人镇静的事。
坦白的说,我对传统的编程已感应厌倦了。我之前在梦工厂的时分,在那边构建了一个Linux开辟平台,在其长进行软件开辟。这自己的确没甚么不合错误,可是我的感到是一会儿回到了20年前。我被绑在了GCC上,这让我感应不恬逸。我找到了更好的编译器,更快,发生的代码质量更好,可是我不克不及用,我们要确保与GCC的二进制兼容。这些事变让我烦燥,我以为我花了20年工夫改善盘算平台,却一会儿一无所获。
比拟之下,.NET真的是一个风趣而又富于立异的手艺。我常常跟人说,并非由于我在微软,我才说.NET好,而是由于我以为.NET好,才决意到场微软。
关于一个C++程序员,你大概跟我一样以为.NET很风趣,C#固然是一个不错的选择,现实上我就写过一本C#的书。可是说假话,C#有点“傻瓜”。关于良多人来讲这是功德,我们其实不但愿一切的人都被拖到呆板条理上。可是假如你想要那种终极的才能,并且你有掌控使用好,那末C++/CLI就是你的选择,别的别无他选。我以为我们的事情付与你们如许的才能,我本人就巴望如许的才能。
来自:http://blog.csdn.net/myan/archive/2004/10/13/134978.aspx
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。 |
|