java和c++的比较
单从面对对象的角度而言,java要比c++强很多,c++要兼容c,要具有更多的灵活性。可是java却不一样,一切都是类,在java中不仅是一句口号,而是实现,可是在c++中这句话似乎更多的时候是一句口号。
面对对象是一个方面,还有一个区别在于c++的多样性和java的单一性,两种语言本来都很简洁,写出的程序粗看上去甚至很相似,可是一旦进入实际应用,问题便来了,僻如在windows中编程,我们很难找到一款和c++标准相符的编译器,而且c++标准中没有一个统一的图形应用接口,这不能不说是c++标准的悲哀,有关的接口只能由编译器根据平台自己实现,这太令人痛苦了,我在学习java之前几乎对面对对象失去信心,原因在于mfc中那些乱七八糟的类用起来和它所表示的意思总不相符。以写一个计算器程序为例,sun公司为程序员提供了完整的图形接口,无论是哪一个ide都使用这些接口,而且是与平台无关的。可是c++呢,除了掌握c++的语法之外,还得学习不同平台的api,学习曲线之长,看看市面上的c++类书籍之丰富就知道了。
这样说似乎表明java更讨人喜欢,我在用java写了几个程序之后,几乎哀叹,为什么不是自己发明java这种简单而又强大的语言呢?
微软推也c#恐怕也是这种心态在作祟,这么好的想法(虚拟机,一次编程,到处运行)不应该只有一种实现,可惜微软太windows了,背负着沉重的历史,让人怎么都喜欢不起来。
从语言的角度来说,相比java,我不喜欢c++,但也不得不承认,c++更贴近底层,更灵活。如果将程序员比作厨师,我们又有什么权利选择作菜的材料呢,一切视顾客的要求而定。