关于VC的坏话(什么才叫真正的高级编程,什么叫程序的灵魂)。

Speedies 2002-06-03 11:37:04
学习编程已快有一年了,从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仍然是首选的能让程序员准确、方便地做出有灵魂的程序的最佳编
程语言。
...全文
103 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihonggen0 2002-06-05
  • 打赏
  • 举报
回复
u p
dsclub 2002-06-05
  • 打赏
  • 举报
回复
hao!!!
有哥 2002-06-05
  • 打赏
  • 举报
回复
rivershan(笨猫)(VC初学者) 说得不错。

编程常常是无聊与寂寞。
czztk 2002-06-05
  • 打赏
  • 举报
回复
其实用VB做应用(表层),VC做底层,是一个很好的配合。本身是没有什么矛盾的.
czztk 2002-06-05
  • 打赏
  • 举报
回复
对于Delphi,从2.0到6.0,每一个版本的构件向下兼容性都不好,比如我曾经用过的一个Delphi构件,从3.0到6.0的版本都有,这是一个很令人苦恼的问题.

当然,相对于VB和VB.NET,其差别大到令人吃惊.不可同日而愉了.
rivershan 2002-06-05
  • 打赏
  • 举报
回复
关于学习c++和编程的50个观点:

1.把c++当成一门新的语言学习(和c没啥关系!真的。);

2.看《thinking in c++》,不要看《c++变成死相》;

3.看《the c++ programming language》和《inside the c++ object model》,不要因
为他们很难而我们自己是初学者所以就不看;

4.不要被vc、bcb、bc、mc、tc等词汇所迷惑——他们都是集成开发环境,而我们要学的
是一门语言;

5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以
引伸出很多知识点;

6.会用visual c++,并不说明你会c++;

7.学class并不难,template、stl、generic programming也不过如此——难的是长期坚
持实践和不遗余力的博览群书;

8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的c++水平
并没有和你通关的能力一起变高——其实可以时刻记住:学c++是为了编游戏的;

9.看visual c++的书,是学不了c++语言的;

10.浮躁的人容易说:xx语言不行了,应该学yy;——是你自己不行了吧!?

11.浮躁的人容易问:我到底该学什么;——别问,学就对了;

12.浮躁的人容易问:xx有钱途吗;——建议你去抢银行;

13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!

14.浮躁的人容易问:xx和yy哪个好;——告诉你吧,都好——只要你学就行;

15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;

16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

17.c++不仅仅是支持面向对象的程序设计语言;

18.学习编程最好的方法之一就是阅读源代码;

19.在任何时刻都不要认为自己手中的书已经足够了;

20.请阅读《the standard c++ bible》(中文版:标准c++宝典),掌握c++标准;

21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;

22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

23.请看《effective c++》和《more effective c++》以及《exceptional c++》;

24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方
式处理程序;

25.和别人一起讨论有意义的c++知识点,而不是争吵xx行不行或者yy与zz哪个好;

26.请看《程序设计实践》,并严格的按照其要求去做;

27.不要因为c和c++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一
样;

28.c++绝不是所谓的c的“扩充”——如果c++一开始就起名叫z语言,你一定不会把c和
z语言联系得那么紧密;

29.请不要认为学过xx语言再改学c++会有什么问题——你只不过又在学一门全新的语言
而已;

30.读完了《inside the c++ object model》以后再来认定自己是不是已经学会了c++;

31.学习编程的秘诀是:编程,编程,再编程;

32.请留意下列书籍:《c++面向对象高效编程(c++ effective object-oriented soft
ware construction)》《面向对象软件构造(object-oriented software constructio
n)》《设计模式(design patterns)》《the art of computer programming》;

33.记住:面向对象技术不只是c++专有的;

34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;

35.把在书中看到的有意义的例子扩充;

36.请重视c++中的异常处理技术,并将其切实的运用到自己的程序中;

37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;

38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;

39.c++语言和c++的集成开发环境要同时学习和掌握;

40.既然决定了学c++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技
术,而程序设计技术是跨语言的;

41.就让c++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习c++语言本身为主


42.当你写c++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将
余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编
写(参见43);

43.别心急,设计c++的class确实不容易;自己程序中的class和自己的class设计水平是
在不断的编程实践中完善和发展的;

44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而
不是一次记住的;

45.每学到一个c++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清
楚才说明你真的理解了;

46.记录下在和别人交流时发现的自己忽视或不理解的知识点;

47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成version 100.
xx;

48.保存好你写过的所有的程序——那是你最好的积累之一;

49.请不要做浮躁的人;

50.请热爱c++!
handsomge 2002-06-05
  • 打赏
  • 举报
回复
谁说玩VB的就不懂Windows编程?
同时朝着一个目的地,
你选择自行车还是汽车呢?
别告诉我,真正的行路人选择自行车?
我的确不知道汽车是如何工作的,但很多时候没有必要
apexmfg 2002-06-05
  • 打赏
  • 举报
回复
我要學VB,VB最牛B
easypower 2002-06-05
  • 打赏
  • 举报
回复
收藏
didibaba 2002-06-05
  • 打赏
  • 举报
回复
vb、vc都用过,还是感觉vc好。做一般基于对话框程序和vb差不多(稍微麻烦一点),但是做底层的东西又比vb好。总的说来感觉vc要强。
tonykong 2002-06-05
  • 打赏
  • 举报
回复
根本就不需要什么辩论,能完成软件的设计功能,运行正常,维护量少,就是好程序.
这是首先要达到的基本目标,达不到这个目标,什么想法也没有用.
Kuye2002yx 2002-06-05
  • 打赏
  • 举报
回复
同意你的话,不过感觉如果做界面,用Delphi 更好,不但效率比较高,而且可以把控间嵌入程序里,这一点VB 就不如了。

不过 VB 在于语言的易用性上,我就是用VB 入门的。
ccbl 2002-06-05
  • 打赏
  • 举报
回复
up, 精辟。
jafi 2002-06-05
  • 打赏
  • 举报
回复
不无聊也不寂寞
我在代码中飞舞
chickenzzz 2002-06-04
  • 打赏
  • 举报
回复
喜欢VB
Random 2002-06-04
  • 打赏
  • 举报
回复
同意楼上,虽然I Love VB
ColderRain 2002-06-04
  • 打赏
  • 举报
回复
还有,不要把别人的缺点来和你的优点比!--->不公平!
ColderRain 2002-06-04
  • 打赏
  • 举报
回复
我以前是用VB的,现在用VC.
但VC不是你所说的那样,你说得很片面.有很多东西,用VB根本没有办法办到.特别面向系统方面的.
你自己看看市面上卖的大型软件,游戏.你能看到有多少是用VB编的?
真正VC用得好的人,就一定得对WINDOWS有一个全面的了解,要学的东西非常之多.不学个4,5年,那能了解.
我不想在这里争论哪个语言好,毕竟我也是用VB开始学编程的,曾几何时,不是和楼主一样,热爱VB.维护VB.等我学了VC,才发现我的见识那么小,知识那么少.对WINDOWS我竟然只知道那么点!惭愧啊~~~
语言各有所长,关键看你的编程水平,看你用来干什么!
whoamiyxzh 2002-06-04
  • 打赏
  • 举报
回复
up, 精辟。
ql_mf 2002-06-04
  • 打赏
  • 举报
回复
呵呵,精彩的辩论。
加载更多回复(24)

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧