注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

TERONY的博客

Still Achieving.

 
 
 

日志

 
 

我们真的在面向对象吗  

2011-12-07 12:48:20|  分类: Life |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    我不是技术大牛,也从没有贡献过一行代码给Liunx,所以下面的这些文字对我来说“太沉重了”。

我们能够从TIOBE看出每种编程语言的流行程度。在面向对象程序设计已经日臻成熟的今天,C语言一直傲立三甲之中,它是个奇迹。

    纯粹的类不叫面向对象,我觉得泛型和模板更面向对象。
    我从DOS下的Turbo C和Turbo PASCAL一路走来,跟大家一样,经历了编程语言孰优孰劣的火热年代,经历了IDE百家齐鸣的辉煌历程,亲身体验了基于对象和纯面向对象的时代变迁,反而让我对面向对象有疑惑了。

我不知道几乎月月排在TIOBE榜首的Java是否是纯粹的面向对象语言。但是,我无意挑起语言之争,我自己也在啃《Java编程思想》,而且这真的是一本好书,Java程序员应该人手一本的那种。当昔日红红火火的UML渐行渐远之后,当B/S结构趋于平淡,而胖客户端依然坚挺之际,更彰显了不同平台和语言之间的本质区别。

    编程就是解决复杂问题的过程,这个过程中我们使用面向对象的方式将事物封装,通过继承和多态进行拓展,程序员和客户多年间从中获益匪浅。但是每每调用Java库中的方法时,我的思想却总是回到过程式开发中去。每每看到“纯粹”的使用类的方式的C++代码时,我心里总是别扭,这是C++的本来面貌吗?亦或是我们自己刻意的按照面向对象的方式“塑造”的结果?有类就是面向对象吗?我老是觉得,为了面向对象而拼凑的类代码,跟集合没什么区别。但是泛型给我的感觉更像面向对象,无论泛型的代码多么“丑陋”。C++的骨子里还是过程式的开发思想,C++之父多年来,以及在《C++程序设计语言》中也只是说C++支持面向对象的程序设计模式,这里面的语义很丰富也很单一。

    使用Java是出于工作的需要,但不是面向对象的需要。C++也是如此。但是C呢?C有没有可能面向对象呢?答案是肯定的。面向对象程序设计从没有要求过程序代码的书写方式,C这种中级语言承上启下,排在Java之后(有时也会跑掉前面去,呵呵),在C++之上,它的地位相当牢固,根基相当底层。比面向对象,C++肯定比Java强(C++几乎支持面向对象的方方面面,Java借鉴了C++的成功经验,回避了面向对象中的艰涩部分),比性能C++不可能比C强,论底层编程能力,C++和Java都不是C的对手。

    是要谈语言的优劣,我们在工作中继续好好使用我们的语言就是了。但是我老觉得平时大多数时候我们在用类的方式干着过程的活,是不是呢?我不知道。

  评论这张
 
阅读(26)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017