主题:【原创】编程心得 -- 荆棘探兴
象指针这样的问题,Java里的所有Object都用类似指针的handle,所以不需要象学C时那样强调。Java相对于C这样的相对低级(“低级”指更靠近机器指令)的语言来说,有个好处就是语言本身的特性逼迫程序员去写出更正确的程序来。比方说Design Pattern,C里面那是非自然的,不标准的,你得有意地去应用,而Java里的一些Design Pattern是内建在语言中的,标准的。而且Java的语言特性还可以简化原来在C中比较复杂的Design Pattern,比如说Visitor,原本Visitor和Visitable是要互相配合的,Visitable里要有accept()。可是如果那是第三方的程序,根本没有accept()呢?Java就可以利用反射机制,不需要accept()。另一个例子当然就是垃圾收集。在Java里当然也得担心内存泄露,但是工作量比C里就微不足道了。另外比如多线程编程,用Java和用C的方便程度就更不能相比了。
有人可能会说C里面程序员对啥都有控制,Java是给水平不高的程序员用的。问题是绝大多数程序员都不是牛人,传说中的牛人是直接拿1和0写机器码的。当然这么说也偏激了,C当然有它自己最合适的使用之处,不过我觉得如今的大多数应用程序都可以用Java或者类似的语言来写而且写得比用C写得好。
- 相关回复 上下关系8
压缩 2 层
🙂“学别的语言不过是几个小时的事情”,不敢说大话啊 当年万户侯 字0 2010-08-06 02:04:38
🙂语言不过是利用几十个关键字所表达的计算模型 雨后的假牙 字431 2010-08-06 20:41:05
🙂类库及框架以及最佳实践,这些是需要功力,但语言的 当年万户侯 字158 2010-08-07 11:35:32
🙂现在要学,还是学Java比较好
🙂如果学习的话,个人觉得还是Scheme或者MOZART好 1 假设 字241 2010-09-06 22:31:26
🙂呵呵,总觉得C是基础 slient 字682 2010-06-24 03:58:43
🙂热机,自动化这些有所不同 明日枯荷包 字1594 2010-06-24 04:49:11
🙂Java本质上是为了让傻瓜也能编程 兰山 字298 2010-08-06 00:31:07