首先声明:我还是一个C++的学习者,如果有什么地方没说对,请大家原谅!我越接触C++,越感到它的前景其实并没有好多人说的那么黯淡!!对于现在C++和JAVA的针锋相对,我想说说一下一些个人观点!
好多人认为JAVA抢了C++的风头。首先,我们要确定的是一个语言并没有好坏之分。Java更适用于快速架构,因为它主要地是依靠Beans库工作的,它非常工程化。C++则对程序员的要求非常高,它基本上和C一样,有更多的汇编背景,面向对象的语义是建构在比较明确的低层语义之上的。简单的说,就是JAVA主要用于一些快速的高层的开发,而C++的特点就是开发周期较长,但是也主要是针对底层的,接口技术的开发!其实二者的功能都不尽相同。但是值得声明的是:大部分JAVA的设计在C++都能实现,只是可能周期较长!
引用以前在一本书上看过的一句话“Java好比是C++的外甥,虽然不是直接遗传的,但也几分象样。外甥在舅舅身上玩耍时洒了一泡尿,俩人不该为此而争吵。”Java平台的发展速度是非常快的,但这和C++用户数的增长并不矛盾。作为通用型的语言/平台,Java替用户完成了非常多的基本操作,甚至诸如大整数之类的类型都已经封装完毕,用户只需要将相应的包导入并调用即可。但C++则秉承了C语言“信任程序员”的风格,将尽可能多的选择权交给用户(当然,托管的C++也根据多年的模式对资源进行了诸多的保护措施),用户必须在许多场合下自己作诸如存储管理、异常条件下的安全、类继承体系中的类型推导等决定。这两者是完全不同的,Java安全,但C++的效率非常高,这一条就决定了C++将在相当长的时间内仍然是主流语言,而且将扮演语言革新的领头角色。STL的标准化和广泛应用,以及范型(Generic)观念的深入人心,已经奠定了C++的不可动摇的第三代语言的主流地位。
但是J2EE,J2ME的出现,可能对JAVA有一定的巩固作用,但是本人认为J2EE J2ME可能将来的发展趋势在对简易程序。就是说用很少的代码实现一些特定的功能。主要是插件的开发!
微软技术致力C++的扩展和延伸(例如C#),所以从一个侧面说,我觉得微软技术在今后的地位会得到更大的提高!所以,本人觉得微软技术是今后的一个发展趋势!!
见笑,再次声明,本人只是个C++的初学人。不知道以上言论是否正确!如果有不当之处。希望各位指出,批评!!