虽然C#和Java之间是两个平台的竞争,没有什么谁更好前途的说法。
但是就语言来说,我觉得C#的程度远远比Java高。
1.Java程序比.net程序慢得多。三个Java得IDE编译器,JBuilder,Eclipse和NetBeans,以及编写PHP用的Zend Studio Development Enviroment,我运行的时候必须把其他程序关掉,要不会把我的电脑拖死。他们都非常慢,说是代码解释后载入内存后就会很快,但是我真的无法忍受点击按钮后还要等几乎2秒才能看到“关于”对话框的事实,而且在一次运行中每次点击都很慢。有一次我看到NetBeans占用了100多M的物理内存,还有奇高的CPU暂用率,而我仅仅是编写一个简单的Hello World而已。Sun自己做的编译器,怎么会做得又慢又占资源?我现在用Vs05做WebForm的程序,速度比Java的应用程序快得多了,甚至比简单的Zend Studio Development Enviroment快很多,占用资源也少于后者。如果对此有疑惑,可以用Java和.net各自建立一个Hello World的对话框应用程序看看。
2.net的SOAP应用做得比Java的好。MS从多方面去推行Web Service,例如现在很火的Ajax框架Atlas就是利用Web Service的。据闻,Web Service商业上并不是很成功,是因为Ms宣传不足。
3.Java的IDE做得很差。上面提到的三个IDE都做得不好,跟VS比,是差得远了。那个可恨的JB,文字输入的时候光标是在字符的中间而不是右边。用JB建立的对话框,我是不会自由移动那些UI控件的,我尝试过设置对话框的属性,但根本不起作用。也许我太笨,根本看不懂它“高级”的属性。其他两个的IDE建立的地方好像是故意收藏起来的,找老半天都找不到,找出来又不知道是怎么搞的。VS方便得多,我从来没用遇到过这些问题,微软的工具还是比较人性化的。看看VS05的自动填充、自动缩进和智能编写标签有多体贴就知道了。当然,这是外部问题,如果你是高手,真的可以当这些差距是透明的。但是,用Java的IDE跟Vs用一样的电脑,写同样的代码(假如有相同的),看谁比谁高兴?
4.C#比Java比容易学,无论从语言本身还是从框架上面比较,情况都一样。用C#写程序,代码会比Java少很多。大家可以看看PetShop和PetStore,看谁的代码简洁,谁的代码清晰。如果说简易性不足为提,为什么不用汇编呢?要知道开发商业产品是需要讲究效率的。简单,开发效率高,为什么不用?
5.现在.net已经逐渐强大了。很多厂家已经推出支持.net的产品,例如ORM有NHiberate,Oracle、DB2和MySQL已经提供了相关的.net数据库插件。
6.一些新的技术实在让人兴奋。上面提到的Atlas是一个不错的框架,它能在服务端控制和处理客户端事件的触发。MS已经把Ajax提升到一个战略的地位了,并且开始建立应用框架,在JSP上面暂时没有做的这么好的吧?
7.页面和代码分离上面,ASP.net比JSP的Structs好。
当然啦。Java中间件多,分布式开发比.net好,能够跨越平台,移动设备方面Java有绝对的优势。但是,MS还不算成熟,短短几年时间已经取得这样的成就,我觉得非常不错了。而且现在支持.net厂商开始多起来,这是一件非常好的事情。我觉得这些本来没有什么好争论的,只要你做出东西来,能够让客户满意就可以了。简简单单的,开发管理都方便,不是一件好事么?
总之,我认为C#的、无论是现在还是将来,都将会更好的替代Java。.net不是不可以跨平台,只要想跨,微软马上就可以完成,技术是现成的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验