巴真的点评

你知道那种代码在跑,你却不知道下面在干什么的感受! 这句话触动太大了哈。

早年汇编程序员过渡C时,发现C语言对于机器抽象太过于猛烈。想当年那些寄存器运算、内存寻址、访问磁盘io多多少少还有些冯诺依曼结构的影子,再看如今C语言遍地的数组、指针操作已经完全把计算机体系映射到完整的数学逻辑操作。汇编程序员一边大骂C太过于傻瓜化,让大量不懂计算机体系,不懂CPU结构的”愣头青”也能参与到程序开发,而且竟然开发效率大大提高,一边暗自催泪,担忧计算机程序设计领域的壁垒再次降低,自己又掉身价啦。

天生从Java程序入手的程序员会有这种感觉吗?我想肯定没有吧。以汇编程序员观念来看,Java程序至少隔离了三层封装,一层是Java虚拟机,再一层是OS接口,最后还有层C编译器。Java程序员计较这些吗?没有,完全没有,他们把仅剩的精力都用来关注Java社区浓厚的OO情结、无处不在的设计模式堆砌,并以此为荣。在狂热的汇编程序员看来,这些繁文缛节般的抽象,如同带着套套做爱一般,永远体会不到一眼望穿底层的快感。但是快感重要么?工程不是科学,工程不会关注你使用多么底层的语言,不会关注你使用多么牛逼的技术,它只会关注你的代码是否能产生价值。

一个深入捕捉程序热点,反汇编逐字逐节进行优化的代码,其效率是一个普通C程序代码无法比及的吧,这正如一个精心设计m/r作业所处理的TB数据量级,普通的hiveSQL能够轻松应对吗?越能站在本质思考问题的越能够处理更加复杂更加苛刻的极端问题,一个能站在计算机全局思考问题的工程师也是一个优秀的工程师。

但是,一个普通的HiveQL程序员价值几何,一个精熟map/reduce设计的工程师又价值几何?同样是完成大部分的普通ETL日常作业,公司会选谁呢?一个熟悉SQL就能快速上手的Hive,一个需要熟悉Java,熟悉map/reduce的hadoop,公司又会使用什么样的技术? 工业不是科学,利润会一直坚定不移地驱动着工业的发展。

posted @ 2013-07-31 14:01  小尼人00  阅读(94)  评论(0编辑  收藏  举报