谁让程序员的工作大众化——OOP浅谈

来源:互联网 发布:水处理自动化控制软件 编辑:程序博客网 时间:2024/06/16 13:17

曾几何时,程序员是一个让人羡慕的工作:白领,办公室,空调,高薪等一系列让人应接不暇的积极词汇。。。。。。。。。

而如今,这一系列字符串却发生了翻天覆地的变化:码农,加班,熬夜,糊口。。。。。。。。。。。

记得曾在百度知道上看到过这样一个问题:是什么让昔日光环闪耀的programmer沦落到了今天的coder。楼下有回答:是OOP。。。。

计算机这玩意儿刚出来的时候,地球上还没几个人玩得转,那个时候要通过机器码给它下达指令,当时的所谓程序员十分了得,基本上是数学家或者是物理学家,职业背景相当深厚。后来为了减轻编制程序的繁琐,出现了汇编,任然不够方便。为了更进一步减轻程序员的压力,C出现了,它更贴近自然语言,使得编程的效率得到了显著的提高。经历了70年代的软件危机,人们对软件生产力又提出了新的要求。

   OOP出现了。

   OOP的重要目的就是代码复用,这样就可以有效的提高程序员的工作效率,同时减少错误的出现(分工),用一句话来形容就是:我做的更快,是因为我站在了别人的代码上。(呵呵)。

   OOP对于软件业(确切的说应该是软件的就业市场)另外一个重要影响就是使得非科班出生的人也可以很快学会软件开发(为公司产生效益)。

写到这里,我想,上边提到的那个百度知道问题的答案(某人的观点)就是大概来源于此,认为太多的人进入了软件开发这个本属于所谓尖端技术的行业,使得程序员的身价一落千丈。

但我想说的是,这是历史的必然。

回顾人类的科技史,几乎大部分技术都遵循着这样的发展轨迹——少数精英级别的人掌握->更多的人掌握->飞入寻常百姓家。

这样的例子太多了,比如手机,刚诞生的时候万把块钱一个(那个时候万元户可是很流行啊),新号烂的要死,可是现在呢,呵呵。再比如照相,以前如果要照一张理想的相片,是相当麻烦的,你要学习如何调焦,曝光等等。现在技术进步了,连3岁的孩子都会用数码相机拍出美丽的画面。

人类发明科学技术就是为了提高生产力,手段之一就是将繁琐的东西封装起来(上文提到的数码相机照相就封装了调焦和曝光),让普通人更容易使用。

所以,OOP的出现是迟早的,无论有没有C++,smalltalk,java,或者即使不叫OOP,一定会有类似的技术出现来遵循同样的轨迹促进软件业生产力的发展和普及(没准会叫XXP,或者YYP,呵呵)。

同时,OOP的出现使得分工更加详细了,比如java:SUN公司(现在成oracle了)那些高水平的程序员来封装繁琐——编写类库,而一般的开发者就调用这些写好的类来完成自己的工作,这样做除了代码复用带来的高效率之外,也减少了自己重新造轮子时可能由于水平不够而产生错误(术业有专攻嘛)。从这个角度来讲,OOP也是不错的生产模式。

有人问了,是不是以后程序员更加不值钱了?

其实,我个人认为,OOP虽然降低了编程对我们认知能力深度的要求,却在一定范围上对我们提出了广度的要求。

就拿java来说,我们也许可以不再关心内存释放,指针,不用自己造轮子,但是我们必须对别人造好的轮子——类库比较熟悉,对琳琅满目的框架比较了解。类比一个例子:画画,从前我的调色盘里只有三原色(红绿蓝),当我需要不同的颜色时候我需要自己去调,现在我用别人调好的颜色(24,48甚至更多),虽然我知道这些其他颜色的本质都是三原色,可是我要熟悉其他的颜色,知道它们叫什么,用在什么地方。

OOP也是一样的道理,以前自己造轮子的code的功夫现在要用在学习熟悉类库上了(当然时间少得多)。

另外,从繁琐的编码中解脱出来的程序员,现在把精力更多的用在设计上了,从这一点来说,软件对程序员提出来新的要求。所以程序员不应当埋怨OOP,相反,OOP使得现在的程序员更加贴近设计了,更加符合软件设计师这个称号了。

 

 

 

 

原创粉丝点击