ASP.NET网站制作之在.NET平台下利用C#交互式把持台(上):简介仓酷云
可怜的程序员,还是逃不出移植的命运!上周日在广州的珠三角手艺沙龙上,我的演讲标题是“Mono之于.NET程序员”。Mono一向是我非常喜好的产物,我也一向存眷它的开展,总有良多人用各类体例对它举行FUD,乃至是.NET程序员本人。这实在跟程序员利用盗版一样,自投罗网,是种非常愚昧的举动。在演讲中,我提到.NET程序员能够怎样从Mono项目中失掉匡助,如今便以C#交互式把持台为例,演示下在.NET平台下利用Mono项目标罕见体例。Mono和.NET都是CLI(ECMA335)的完成,包含C#言语编译器,运转时和类库等等。与微软完成的.NET分歧,Mono是个开源项目,我们能够在受权同意的局限内恣意折腾。比方,微软在Silverlight里供应了一个JSON类库,但我们没法将其用于一般的.NET项目,因而我们就能够从Mono里剥离相干代码出来。再好比,WindowsPhone的SDK中没有供应像.NET4.0内里一样的义务并行库,因而也有开辟职员将Mono内里的完成移植了过去。社区成员也非常喜好开源,因而不管是Mono团队仍是其他开辟职员城市很愿意捣鼓各类工具,而且也弄出很多成心思的工具来。C#交互式把持台(偶然也将其称为REPL,即Read-Eval-Print-Loop)就是个中一个。
之前AndersHejlsberg在PDC2010中提到“C#与VisualBasic的将来”,个中一项功效就是“编译器即服务(CompilerasaService)”。这个功效是指,把编译器的功效向一般用户开放出来,如许即可以完成更多的工具,比方代码注释实行,或是把代码酿成语法树,让程序了解其语义等等(这即是Jscex的基本地点)。实在几年前就已在Mono有相似的完成了。Mono的C#编译器mcs自己是由C#完成的,因而它间接就包括了编译器的完全功效,API好用与否临时不管,但切实其实供应了这方面的才能,必要的同砚完整能够自行猎取。
Mono编译器功效表露在Mono.CSharp类库中,而C#的交互式把持台即是“编译器即服务”水到渠成的衍生品。我想你必定碰到过如许的情形,比方,晓得DateTime范例的ToString在承受某些参数会输入甚么样的效果,却有些记不清,查文档天然会有谜底可是太贫苦,实在一试便知。另有好比字符串剖析,正则表达式婚配,一时盘算等等。我见过良多同砚在碰到这类情形的时分,城市间接把代码写在程序里,然后设置断点,然后运转程序察看实行效果。履历丰厚一点的伴侣则会时候筹办着一个把持台项目或是用SnippitCompiler,写点实验代码运转一下。不外,最幻想的体例实际上是利用F#,Scala,Ruby,Python等言语中都有的交互式把持台。比方以下即是在VS2010中自带的F#交互式把持台:
<br>
我几近每天城市用到F#交互式把持台,用来考证一些做法和料想是不是准确,断定以后再写成C#代码。我会F#,利用F#交互把持台天然不在话下。假如您明白Python或Ruby,则利用IronPython或IronRuby的交互式把持台也是个不错的举措。但假如您只会用C#,那仿佛就没辙了。侥幸的是,Mono为C#程序员翻开了这扇窗,我们也完整可使用C#的交互式把持台来帮助事情,以下图:
<br>
鄙人一篇文章里,我们便来一同看一下,怎样让Mono供应的C#交互式把持台运转在Windows和.NET下。这是个不错的例子,略有停滞,也没有过于庞大或取巧的中央,能够作为.NET程序员使用Mono组件的一个典范示例。
最初再附上上周日的演讲幻灯片,年夜伙后睹为快:
Monofor.NETDevelopersViewmorepresentationsfromjeffz总之一句话:作为.NET程序员,假如您无视或排挤Mono的话,丧失的将会是你本人
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页:
[1]