Java来抢饭碗,C++可别生气
Java之好,因为它描绘了Internet的未来;Java之坏,因为它是Sun的私有财产,是一家之言。看过《Thinking in Java》这本权威教学著作,你会惊讶竟有一种语言会有如此多的问题,你会认为Java还只是羽翼未丰的雏鸟。是的,Java是OOP,但这并不说明它象C++那样经典完整的面对对象,可以代表一个时代。资深程序员都会说“写一个好的类库是很困难的事”,而Java却要求所有的程序都写成类,所有的结构体都写成类,就像JDK,哪里是比C++简单;用C++稍微学些基本的东西就可以写程序,用Java则得花一个月去理清它庞大的类库——正如我们所看到的,Java的书通常比C++的还厚得多。而没有一个程序员说,“写函数库是困难的事”。用C++,我们通常使用类就可以了,有大量设计优秀的函数库和类库可供使用,一切尽在指端(on you finger tip);正所谓“一把钥匙开一把锁”,当用类时用类,当不用时不用。
Java说它简洁,可const成了public static final;enum则干脆没有了,要定义一堆public static final int;消息事件要么用switch-case,要么每个消息函数写个内部类;排序函数的参数不再有比较函数,而是实现Sortable接口的对象;使用集合对象时,真怀念STL呀……
Java说它OO,所有方法缺省都是virtual,可连String都成了final,要我怎么OO。
Java说它every platform is OK,可Windows上只有V1.1 machine,难道你愿意用Sun都放弃的1.1 SDK。可是C++本来就是platform free。
Java说它是平台,JNI,JDBC,JSP,JINI,JIEE,Java3D...,可底层实现为什么是CPP
说C++过时,说自己先进,可还不是连个property都没有,和C++一样的getX() and setX()。
说goto不好,不用好不好,我有“break 标号;”,就是比goto好。
说是下一代的面对对象,可竟然连组件都没有,赶紧学C++的样子定义一套组件规范,然后大肆宣扬,我有JavaBean。嗨,因为太复杂,至今没多少。
说我Java品种纯正,你们擅自创新就不是我Java血统,大家不要被变种欺骗,跟在我后面才能事就功成。
说我Java对抗M$垄断,你们中国人也可和我并肩作战,打下江山你我各半,但天上要归我因为我属于那Sun。
象当年Intel所说,Java只是一种技术,并不是一次革命。世界上有无数优秀的C++程序员,却没有几个有名的Java程序员。C++是无数程序员智慧的结晶,创造了当今大部分的软件,是我们的骄傲。即使我今后没有机会再用C++,我也会永远支持C++,支持C++标准的改进,支持做C++虚拟机的guru们。
以上述寥寥理由,我坚决反对大学里以Java课程取代C++!!!
我Java来抢饭碗,你C++可别生气
为电器设计而却住进了PC纯属无意
本是同根生,相煎何太急
只是你的手腕无所不能太过有力
双脚无处不申太过神奇
上帝对你不满意
于是砍掉手脚做成我来代替你
即时编译速度和你相较只是整数循环加一
使用类库则有别天地这可千万别跟外人提
说来也不算是我得问题
不信你移植我的类库去编译
保证你也喘不过来气
但我比你简易
因为我有垃圾收集
如果需要掌握析构时机
我还是有办法越过这个难题
虽然实现上有些不可思议
我是反平台垄断的武器
我是程序员的Evangelist
虽然各个虚拟机支持不一
但本质还是跨平台地
风格古怪想想PowerScript
语言不济想想Basic在那上个世纪
API臃肿想想OLE
GUI不爽想想MFC
速度太慢想想WindowXP
你有不满可先别着急
我的下一个版本可能就会解决些问题
虽然看去遥遥无期
但你绝对不能私自让我纯正的血统产生变异
否则我要和你在法庭里评理
因为我只属于我自己