关于ASP.NET; VBS, VB.NET, JS, JS.NET, C# 的体会
想让界面开发变得更轻松吗? Skin++将助你一臂之力, 提高您的开发效率与界面效果。 金旭亮.NET系列之七天学会.NET绘图力求用最短的时间使您掌握最有用的技能 形成在.NET平台上开发软件全过程的感性认识 《.NET编程语言与面向对象理论基础》在最短的时间内介绍.NET面向对象编程的精髓 为学员进一步学习.NET其他技术领域打下良好的基础 .NET静态网页技术是Web用户界面设计师主要关注的领域 是动态网页设计技术领域必要的知识与技术基础五年前开始使用ASP, 和大多数人一样,使用VBS。写了四年以后,也和很多人一样,积累了不少自己管用的方法、函数之类的。这期间有考虑过学习.NET,但是初步体验了一下ASP.NET,有点深恶痛绝的感觉,尤其是.NET的服务端控件这样的概念。个人感觉如果一个BS程序员一开始就学ASP.NET的话,一定是件很糟糕的事情,十有八九会搞不清楚什么是服务端什么是客户端。客服端的用户操作只会产生一个HTTP请求,怎么处理,那就是服务器IIS的事情的,最后才是.NET程序执行的问题。 现在却点个按钮直接就触发了 button_Click 事件了,两个字——恐怖!因为之前一直用VB, 所以尝试用VB.NET做了一些小应用程序,感觉还不错,至少自己用起来不错,开发很方便。
.NET里面我最喜欢的就是 WebClient ,还有必要时候的杀手锏 WebRequest ,如果没有这两个东西,或许一直就不会去学.NET,用.NET了。零八年初换了工作,新公司需要开发、修改一些电子商务网站,中间尝试招了几个程序员,面试的时候,问了些问题:问:“你用什么语言写ASP?VBS还是JS , ASP , 不是ASP.NET”答:“C#”……
问:“你确定自己说的是ASP,不是ASP.NET?”
答:“嗯”……
问:“那你用什么写ASP.NET,C#,还是VB.NET?”
答:“JavaScript”
问:“不是吧,我是说ASP.NET,你用JS写.NET?”
答:“是啊,VS不支持JS,编译的时候会报错,不过你直接运行是可以的!”……后来这个程序员来公司体验了半天就走了,留下我一个人在那里郁闷。他走了以后,因为用VBS写ASP写了好多年了,自己都腻了。所以决定搞些不一样的花样。用JavaScript写ASP .因为之前一直用JS写浏览器脚本,对于JS的神奇object情有独钟,再加上判断null的方法是如此方便: if(obj==null).... 比起VBS,不知要爽多少倍。可是一直没有用JS去写ASP,因为JS的时间操作让我望而生畏。所以要解决的第一个问题就是封装时间类。用惯了VBS函数的我在使用new Date()的时候就在一个劲儿的抱怨,妈的,JS真烦。可是还是很喜欢。就这样用JS做了一个电子商务的订单处理系统。用JSCRIPT8写ASP.NET后来无意中在MSDN上看到JSCRIPT8,也就是JS.NET的介绍,马上激动地跑过去将JS写的ASP的扩展名全部换成了.ASPX ,错误是不可避免的,不过在修改了若干个小地方之外,奇迹般的在原有的JS写的ASP文件里, new WebClient() 成功了!几乎是一鼓作气的,我把页面结构也换成了.net 的样子, 每个页面头部 inherits 一下。 但是,整个过程依然使用的new ActiveXObject("Adodb.Connection")因为实在不喜欢DataSet的复杂操作。因为VS开发环境不支持JS, 所以所有代码都是在EditPlus里面写的,把ASP默认语言改成JAVASCRIPT,倒也用得挺方便。实在有冷僻的方法记不住命名空间,就打开VS“提示”一下。这期间我疯狂得喜欢上了JSCRIPT8,感觉用起来真他妈爽。 JS语言风格+.NET的强大支持, 怎一个爽字了得。 处理大表单的时候,需要添加表单域的时候随便在类里面加个属性来接收它就可以了,处理完数据,再扔到数据层的类里面 foreach 一下双方的类字段,根据字段类型的不同产生不同的赋值SQL, 最后连要赋值几十个字段的SQL语句都不用写了, 直接 foreach 出来了。用C#写ASP.NET又对Jscript8疯狂了一段时间以后(甚至注册了jscript8.com的域名),我开始郁闷了。原因,看官您百度,谷歌一下jscript8或者jscript.net关键词就知道了。国内使用jscript8的人凤毛麟角,好不容易在卓越上看到一本jscript.net教程,还“缺货”。 只有那么几篇介绍性的文章,没有发现一个使用JSCRIPT8的同行者。国外,Pool English……公司还指望我找几个程序员进来带他们,妈的,自己用那么冷僻的语言,怎么招人啊,总不能要求别人都来跟着我疯学jscript8吧。 而且,vs里面虽然有js的编译器jsc.exe,可是毕竟开发环境不支持它,而且jsc.exe手动编译很麻烦,虽然手动写了调用编译的小工具,可是遇到类互相引用的,编译器就说找不到引用了。都这样了,鬼知道微软哪天就把他给从.net行列里面除名了……郁闷了一段时间以后,我终于决定使用C#了。这些我就不写了,我相信这里的朋友对此都要比我资深。现在使用起来还不错,已经使用它又做了两个复杂的订单处理,还有个人写了个采集QQ空间的程序(www.afei.name)。应该还会一直用下去了。写在最后的最后得出的结论是,
1. 没有最好的语言,只有最喜欢的语言。就好像谈恋爱的人“情人眼里出西施”一样。
2. 每种语言都会有优点、缺点,一旦你使用哪个习惯了,就会对其他的生疏(就像我现在已经对用了七八年的VB有些不习惯一样,现在连应用程序都会用C#写了),在几种语言之间切换还是蛮痛苦的。
3. 多些思考,任何一种语言基本上都能实现你想要的东西。
4. 多学几样没坏处,起码不会找工作的时候因为没用过某种语言而被淘汰,而且我相信真正的程序员之间的交流应该是不分语言的。
5. 深夜的,我要睡觉了, 上了两个月的夜班,明天开始上白班了(但愿我能起得来……)