C#的前途如何?
日期:2007年4月28日 作者: 查看:[大字体 中字体 小字体]-
这世界上没有什么比编程工具更加牵动程序员的心。VC、VB、DELPHI、JAVA……这些耀眼的名字不仅占据了程序员的生活,而且似乎已经成为了某种信仰。可是,伴随着新世纪的脚步,这些信仰又一次遭遇了重大的挑战。微软,这头被法官和黑客们折腾得既疲惫又恼怒的狮子,发誓要保住它头上的王冠,拼尽全力,拿出了看家的本事——.NET战略。作为 .NET的核心开发语言,C# 顺理成章地浮出了水面。程序员们也就不得不做出一个痛苦的选择,跟在谁的后面?要找出答案就不得不作一番比较和预测。笔者作为一个资深的程序员,斗胆在此狂言,权作抛砖引玉。
如果抛开一切非技术方面的因素,C# 无疑是这个星球上有史以来最好的编程语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理……你不可能在另外的一种语言中找到所有这些特性。尽管像很多人注意到的一样,当我罗列上述特性时,总是让人想到JAVA,然而C# 确实走得更远。但现实的情况是,非技术的因素往往更能决定一个产品的未来,尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac OS、UNIX等,都败在了Windows那漂亮的脸蛋儿下。而这一次,微软的角色好像从一个赤手空拳的革命者变成了仗势欺人的老地主,如果真是要变天,那C# 这孩子岂不是投错了胎?可能情形并非如此糟糕,毕竟瘦死的骆驼比马大,而且C# 已经提交给了一个标准化组织,一旦成了国际标准,说不准真有哪个手痒的大侠(也有可能是微软自己)给移植到Linux 和别的平台上。那样的话,JAVA可就惨了。因为JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C# 的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准,软件开发商既可以省去JAVA的许可证费用,也不必担心成为微软的奴隶,那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。
如果把C# 和 JAVA 在网络服务领域的争夺比作未来制空权的争夺的话,那么C# 和传统通用快速开发工具——VB、DELPHI等的较量将是地地道道的白刃战。可能最惨的程序员就是VB程序员,在微软,VB就像离任的克林顿,不但失去了所有的光辉,而且乱事缠身。想想吧,VB6写的项目必须用转换工具转换成基于.NET的代码才能在VB7中调入,几乎面目全非。由于VB7遵循为迎合.NET而建立的通用语言规范(CLS),几乎把所有原来只在C++、JAVA等语言中可以运用的特性统统加了进来,只是语法和原来兼容。如果你是第一次在VB7中看到自己的旧VB6项目转换之后的代码,一定要当心你的心脏!所以,努力吧,别告诉我你将就此退休。DELPHI的状况也好不到哪里去,原来的看家本领是做起应用来又快又好,可现在看看最新的VS.NET Beta 1, 你会感到如此熟悉,众多的属性列表、组件……谁让你穷呢,连总设计师都养不住。
其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是目前占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。 - [1] [2] 下一页
-
- C#的前途如何? 相关文章:
- C#的前途如何? 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:QQ符号大全
精品推荐
热点TOP10
- ·C#编写的windows计算器-源代码
- ·身份证号码15位升18位(C#)
- ·AspNetPager分页控件--使用方法
- ·asp.net开发wap程序必备:识别来访手机品牌型号
- ·客户端回调实现gridView无刷新分页
- ·C#设计的一个向导程序(Wizard)框架
- ·c#操作word表格
- ·C#導出Excel源碼
- ·ASP.Net2.0 GridView 多列排序 显示排序图标,分页
- ·.net操纵xml文件类(c#)
- ·六步使用ICallbackEventHandler实现无刷新回调
- ·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
- ·用ASP.NET建立一个在线RSS新闻聚合器
- ·为DataGrid创建自定义列控件
- ·日历函数单元
- ·动态修改.Net StreamReader Encoding编码
- ·ASP.NET 生成 RSS Feed
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·ASP.NET购物车的实现及结算处理
- ·asp.net关于文件在数据库的存入和读取
特别推荐
- ·ASP.NET程序中常用的三十三种代码
- ·ASP.Net中保护自定义的服务器控件
- ·C#设计的一个向导程序(Wizard)框架
- ·.net中即时消息发送的实现……
- ·ASP.NET动态创建控件之绝境求生
- ·.NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)
- ·C#中水晶按钮的程序生成
- ·日历函数单元
- ·图片保存到数据库和从数据库读取图片并显示(c#)
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·C#中四种进程或线程同步互斥的控制方法
- ·[C#]解决读写包含汉字的txt文件时乱码的问题
- ·AspNetPager分页控件--使用方法
- ·六步使用ICallbackEventHandler实现无刷新回调
- ·从 ASP.NET 服务器控件插入客户端脚本
- ·C#導出Excel源碼
- ·Asp.net直接保存文件到客户端
- ·如何在上传的图片上写字
- ·Access 通用数据访问类(asp.net 2.0 c#)
- ·asp.net关于文件在数据库的存入和读取
