现在的位置: 首页 > 综合 > 正文

程序员随笔(2)

2014年02月09日 ⁄ 综合 ⁄ 共 1951字 ⁄ 字号 评论关闭

我的工作任务之一是图像转换,但实际上我知道有一个叫CImage的东东(流传已久),并且我在开源中找到了它,它的功能是如此的强大,并且令人振奋的是其License也相当宽松。于是,我的工作只不过需要用FAÇADE来定义一套高层接口,你可以想见我的工作有多么之轻松。因此,我非常清闲,大量的空闲时间,使得我可以开始补一补C++Windows编程,几个月下来,我几乎翻看了网上流传的绝大多数的相关经典书目(全是上班时间看的)。我的悠闲,甚至让有些同事长时间认为我是新到的毕业设计实习生(我只是埋头看我的书)。对于C++,我从书中,也通过自已大量的练习,有了较全面的了解(并不是忘自菲薄,几个月的时间,只不过是看看书,根本谈不上掌握或者说精通,我更多的是纸上谈兵,并无太多实践)。

[C++Java]

说到C++,大家最热衷的莫过于拿它与现在最流行的Java做比,孰强孰弱,孰优孰劣。大家争得面红耳赤,不亦乐乎。蔚为网上一大奇观。就我接触到的程序员,但凡C++程序员大都对Java有一定的了解,而大量纯Java程序员对C++却是知之甚少,我所在部门就是清一色的Java程序员,在他们眼里,C++是一门学校时的语言,它很难快速体现生产力,唯一记住只有那著名的”Hello world”,它有指向指针的指针,看起来很强很神秘,但它却又脆弱而危险,一不小心,你就可能被你的程序杀死。经常会有Java程序员来问我一些标准C的语法或者CRT函数的使用,我开始总是指出他们问的是老旧的标准C范畴。但他们Don't care,第二次询问时依然故我,我只好叹气默认。

C++Java到底有何区别呢,在我看来,C++相比Java,更象一门纯粹的编程语言(它也符合老程序员对编程语言的理解,也有人将它称为最佳研究型语言)。Java则不同,它更象一个完整的系统。因此也就有人将它与另一个正在发展中的平台(.NET)进行对比,那是另一场激烈的辨论,并且还在一直继续着。

当然,Java也是编程语言,这毋庸置疑,它的语法,对于C++程序员来说,除了反射有些神奇以外,其它大都是熟识的老朋友了(或都能找到取代物)。不过,值得一提的是,Java的虚拟机,作用不仅仅是跨平台。它更象是一只深藏于你的代码后面的无形的手,它具有Magic,它为你的代码疗伤止痛,它会让你的工作更加开心、快乐,而不再会被你自已的代码杀死。当然,你也需要为此付出一点点代价,继然你自愿引入了上帝或是魔鬼,那你就再也无法完全主宰你代码的命运。

如果要让我来比喻,我愿意将C++比做一个崇尚自由的星球战士,他从不限制你什么,他总是无私的提供给你所需的一切神奇的星球元素,你可以用它创作出最优美的,受万人景仰的超级武器(编译器类),你也可以用它为神舟五号生产零散配件(组件或驱动类)。不幸的是,也有人用它来制作订餐系统,OH,星球战士,宽恕他们吧。最后,如果你愿意,你完全可以用它来生产一辆完整的劳斯莱斯(命令你的人显然是在用他自已的金钱显示他的尊贵,但仅此而以)。

Java,从它第一天面世,它就显得庄严而高贵。它更象一个无所不能的机器人。它的脑子里装有太多的成型方案,它严谨执行你交给他的每一项任务,最重要的是,它的肚子上还有一个叮铛猫的聪明口袋(它能不断免费提供更新和扩充)。你能快速的利用现成的指导方案,从口袋中取出你所需要的,记着顺便拿出一听可乐,边饮可乐,边看着它会你快速体现生产力。Java程序员可能会生气,哪有你说的那么简单。Oh,对不起,我想可能是我嫉妒了,每次我从Eclipse的环境切回VC6时,我都感到无名的沮丧。

Java机器人的作用当然不仅仅如此,最重要的是,它是可编程的,你可以充分发挥你的聪明智慧,去扩充它,去改造它,将它变为你的超级机器人,所以,你的任务更多的是改建机器人(这就是所谓的技术平台及框架技术吧),使它按你的要求去工作,去生产你所需要的产品。现在的机器人,可能还需要你的干预,拿可乐看是不可能的,但总有一天,它会完全自动化。如果你觉得枯燥,你也可以让你的机器人在工作的同时,为你献上一段优雅的芭蕾。

另外,它还是开放的,它的家族生来就可以无线联网,知识共享。你可以方便的将你的smart经验提交为它们家族的一部分,让他人获益。当然,某一天你自已也会由此而获益。也正因如此,它变得越来越强大。天天都让人挂目相看。

程序员生活真的很平淡,但并不清苦,当你肚饿却还在工作时,你可以把它想象成你的午餐,它就是三块香喷喷的香鸡排(引用某台湾作家蔡的说法)

我讲了许多废话,因为我自已也回答不了这个问题,如果非要我下个结论,我会说:武林至尊,宝刀屠龙(C++),号令天下,莫敢不从,倚天(Java)不出,谁与争锋!

<未完>

石头 于2005-06-19

抱歉!评论已关闭.