关于VC的坏话(什么才叫真正的高级编程,什么叫程序的灵魂)。
学习编程已快有一年了,从B、C、Foxpro 到VS6.0再到VS.Net都有所
了解,但这次汇编免谈,我们只谈真正的高级编程。
说到VB,大家都知道:“不吃香,很少有单位需要。”虽然如此,VB
仍然是迄今为止拥有最多程序员和最受大众欢迎的语言,或者可以说
是庶民编程语言,对于真正的高级编程语言这个称号可能大部分人都
不会给VB,但是我要说:VB才是真正当之无愧的高级编程语言。
VC出名出在对程序拥有绝对(相对的绝对)的控制权和相对较好的性能
上,但真正的高级程序并不是靠这些吃饭。接触到底层操作的程序不
是高级程序,它们是对性能非常敏感的商用、军用、政府用或系统扩
展程序,如虚拟光驱、驱动程序、大型数据库、大型的设备接口程序
(如大型生产线控制台程序)等,真正的高级编程不需要这些,也不需
要直接访问内存,我们编程不是在和机器打交道,而是像写文章,在
传播一种理念,一种自己对世界的看法,我们不关心到底是怎样实现
的。我们只关心实现了什么?
在早期的机器语言编程中,程序员过多的和机器纠缠不清,他们几乎
个个是数学天才,但编来编去,其实具体又没有实现什么。到了现代
程序语言发展到今天,语言们已不再需要它们的使用者过分关心实现
某个功能的数学过程,这让我们有更多的精力来做界面,做自己想做
的一切而不用劳神费力。计算机只是工具,VC过分注重工具性能了。
打个比方,VC像一个汽车架子,跑起来飞快,但VB像一辆轿车,虽不
很快,但很养眼,所以我们看见满街轿车乱蹿。事到如今,没有谁怀
疑界面的重要性,计算机它再先进,也必得有个界面拿来和用户交互
,Windows 就是因为有优秀的界面而一炮走红的。VC在界面的实现上
比较困难,而VB却做得极好。试想,若用VB做一个通讯录,友好的界
面,实用的功能,方便的操作步骤,实现这一切都不太难;而VC要做
到VB那样好,将会花费比VB多的多的精力,虽然程序的整体性能上去
了(如果您没有几万个亲朋好友还基本感觉不出速度的差距),但开发
成本也相应地增加,开发周期也会变长。
对于VB和VC,还有个比方:
VB是一个娱乐业老板,它会叫工程公司帮他建设剧场,叫安装公司帮
他安装室内室外各种设备,雇佣剧务人员来处理各种一般事件,雇佣
演员来演出,投入资金来宣传。
VC也是一个娱乐业老板,它会自己开矿,采石,然后建设剧场,自制
各种设备并进行安装调试,自己充当剧务人员和演员,并自己出去宣
传自己。
很显然,老板VC演出的效果肯定更接近他自己心中想象的效果,但付
出的却远远>老板VB,即便老板VB的演出可能与他心中的效果有一段距
离。
微软已经为我们搭好了舞台,我们就尽管在上面展现自己。由于众口
难调,舞台不一定非常适合每个Dancer,但这总比重新搭个舞台要划
算。使用VB只是在实现机器功能和性能上弱于VC,况且现在PC的主流
都上1GHz+128MB了,性能上的小小差异影响不会太大,要真正高效就
不用高级编程了。
都到21世纪了,抓住主要矛盾看,现今高级程序的灵魂不是一味强调
高效,和体积小,红楼梦这么大几本为什么比同期其它的小说出名?
为什么人们宁愿坐会消耗更多的燃料的庞大747 ,而不愿做比其更省
燃料的737,为什么...
程序像人,要有灵魂,人再多么健壮,没了灵魂只能算作哺乳动物。
程序也一样。
常听得CSDN上的朋友说“关键要靠人。”“没有不行的语言,只有不
行的程序员。”,对他们的话,我不置可否,但这至少说明程序员内
涵对一个程序的重要性。程序员在程序灵魂这一点上,起着灵魂的作
用。
程序做出来是要传播的(不传播的程序即使没有灵魂也不致命),有灵
魂的程序,传播的是一种思想,一种理念,一种信仰和一种追求。不
面向对象的程序只能算作工具,它们不是一种文化,也没有我所说的
程序的灵魂。
现在VB.Net完全面向对象了,它能更准确、更方便地把您自己的灵魂
带到程序里去,做出有灵魂的有血有肉的程序,而VC却因为语言固有
的血统问题而难于完全面向对象编程。这使得在未来的编程语言里,
VB仍然是首选的能让程序员准确、方便地做出有灵魂的程序的最佳编
程语言。