Java C#的粗略比较

   虽然这两种语言不是我最长用的,一般用C++,但 还是有所了解,毕竟这两种语言在网络开发方法具有先天的优势。并且在网站开发方面分别是JSP和ASP.NET的语言基础。这两种语言同时衍生自C++,并且具有大量相同或相似的机制。我根据自己应用的一些体验说一下着两种语言

1、语言定义方面
      也行是企业后台炒作的原因,两种语言不断的提出新的概念,内部类,克隆,接口,代理等等,仔细看一下,想一下,这些其实在以前都已经有过,只不过是被他们一封装就以一种新的形式出现,不过这样的封装确实让开发者大大的提高了开发速度。不过,这些东西似乎是你学我的我学你的,封装也都是面向对象的思路来的,不过java在使用时更多的提倡了这一点,而C#却更加提倡采用集成开发环境。其实个人认为面向对象和面向过程各有优缺点。 

2、web开发
       因为我使用这两种语言重点还是用在web开发方面,特别是这种要求高速开发的web开发与C++比起其具有不可拟的优势。说白了,就是每种语言都具有自己特定的开发对象和应用环境。不过好像Java和C#确实一个重叠。同时采用中间代码的解释机制。不管微软说的中间语言框架,还是sun说的虚拟机,确切的说都是一种解释机制。对了是比较不同,相同就不再赘述了。jsp在实现上对程序员来讲更加的透明,采用ANT做系统的编译,应该说是一种很好的思路,后台的serler机制等把所以的应该让程序员明白的都告诉了你。而微软一个高用户体验的环境,把多少人当成了傻瓜,不过这也是微软成功的原因。特别是2005的开发框架更是完全的傻瓜式的。java把面向对象交给程序员做,而微软却把面向对象做给给程序员(封装,你什么也不知道)。

3、GUI开发
     确切的说,java值得称道的是他的事件响应机制,应说我最欣赏的是QT的槽和信号机制,其次就是java的事件响应机制了,.net的的代理机制也已经是很大的进步了,毕竟windows系统是微软的。java把布局方式分的很细,也许这是要跨平台的原因吧,但确实做起了不是太方便,不过采用NETBEAN开发好像还是蛮方便的。C#在桌面开发方面确实有先天优势,一般来说运行速度会略快于java。

4、runtime vs vm

    C#是基于运行时的,java是基于虚拟机的。也就是说C#是在一个机器语言的接口来运行,而java是生成了中间代码,由虚拟机来解释运行。C#却提供了很多运行时机制,本身也是一种解释机制。跨平台的移植性方面java比C#更有优势了,java之需要有不同平台的虚拟机就可以了,虽然C#有MONO的跨平台支持但是也只是在源码级的跨平台,并且图形Gui方面在不同平台依赖于其特定的图形库。

   个人对两种语言了解有限,只是这两天对这两种语言的开发有一定的需要,比较了一下。最终决定在网络开发方面放弃C#改投Java。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值