JAVA和C之间的较量 谁将成为主流语言


Java的可以迅速的组建应用程序,它对于我们的开发者来说,建立应用程序的速度要远远的高于C语言,如果考虑到网络集群计算环境,Java的优势就更加明显了。

世界上又有多少人能用C语言写出又快又正确的大型程序?

在这些人中间,又有多少人有能力用C语言写出一个在大型的、异构的网络环境下能够充分发挥各节点计算能力的大规模并行程序?

也就是说,你也许有能力把程序效能提高一倍,从而充分发挥一台价值6000元人民币的PC的计算潜力,为客户节省1000元钱。但如果是在一个由 100台机器组成的大型异构网络并行计算的环境下,你写的C程序恐怕性能还会远远低于对应的Java程序,更不要说巨大的后期维护成本,而由此带来的损失可能是1000万或者更多。

C语言能干的Java也能干的如下:

网络应用层协议服务程序开发:如WebServer、FTPServer、MailServer、DNSServer等都可以用纯Java语言来开发;

嵌入式开发:基于Linux的嵌入式程序开发用Java都可以做,因为Java虚拟机可以很方便的移植,包括专属设备的图形化接口也可以开发独立的GUI;

不愿意用类似“java 类名”这样方法启动Java程序,想跟C语言一样,编译出来的程序直接运行,可以用gcj去编译Java程序;

多媒体开发方面:图像、语音、3D图像,Java都可以开发,包括网络游戏和视频会议系统等等,都可以用纯Java语言开发完成。

C语言能干的Java做不到的如下:

操作系统驱动程序的开发:如网卡驱动。用Java直接开发是做不到的,因为操作系统就是C写的;

原始套接字的建立:可以利用网卡的混杂模式,获取封包详细信息。目前Java也没有提供原始套接字,只提供UDP和TCP套接字的开发;

系统级程序开发:如基于Windows系统的消息钩子程序等。

相关内容