开始学习java

来源:互联网 发布:网络电视遥控器配对 编辑:程序博客网 时间:2024/06/10 03:23

公司项目转Android/java方向,现在开始学习java,哎,十几年的C/C++经验怕要浪费了。

开始看java简明教程,感觉java把C++阉割得一塌糊涂,强大的特性全部删除掉了。

个人感觉,java的做法就是把C++的一些高级特性给封装了,然后把开发者可以自由发挥的高级语法给阉割掉了,这样用户只能使用java封装后的东西。

而且听人介绍的java中比较牛的特征后,感觉这些特性都可以用C++语言本身来实现。

最典型的是垃圾回收,C++中的智能指针完全实现了智能垃圾回收,其准确性和及时性是java的垃圾回收无法媲美的。

为java程序员所称赞的反射机制,个人感觉完全就是山寨MFC的动态创建机制,而且把MFC的缺陷原版保留,却不支持C++可以改善的地方。

关于MFC的动态创建机制,我在博客中依据该原理增强了这个功能,名字叫做ClassRegister  (http://blog.csdn.net/tonny0832/article/details/12378845) , 同样可以把类型封装为一个对象/把实例封装为一个对象,甚至还可以把关联类型/数据封装为一个可以动态创建的依据,而且提供了用户扩展带参数创建对象的灵活性,这些功能都是java的反射机制所无法完成的功能。


另外一个感觉就是:C++所提供的元编程功能,对于java而言,只能是一个背景,java只能看着C++元编程的背景而无法达到这个高度。


对java有偏好的朋友,如果有兴趣的话,可以介绍一下java中为人称道的功能,我看用C/C++语言能否实现之。