当前位置: 代码迷 >> 开发方法 >> -小弟我认为最好的编程语言是VB
  详细解决方案

-小弟我认为最好的编程语言是VB

热度:9801   发布时间:2013-02-26 00:00:00.0
----我认为最好的编程语言是VB
如果要我说什么编程语言最好,我会说,是VB。
我学的是机械专业,从本科到硕士都是这个专业,而且是与计算机基本上没有关系的机械专业。可偏偏比较喜欢计算机,从1994年开始第一个学习的就是QBASIC,然后是VB,后来虽然用过DELPHI,C++B,但大部分情况下还是喜欢用VB。
我本人可以说是精通VB,粗通DELPHI,略知C++,不懂JAVA。但工作两年来,手下曾有不少C++,DELPHI,JAVA等各种程序员,也有底层编程水平很高的,有数据库设计水平很棒的,更有病毒程序做得极牛的,至少比我牛。 但他们始终在在我手下干,得听我的,而且一直是这样,在我辞职前还是这样。为什么呢?
因为我首先知道编程是一个工具,大部分情况下,仅仅是一个工具。如果你是做机械的,它可能为最优化设计,CAM/CAD服务;如果你是做化学的,它可能会为光谱分析、化学式计算服务;如果你是做公司的,它会为你的赚钱来服务;如果你是一个程序员,它也是一个工具,是为你找一份好工作来服务的----但你愿意一直是个程序员吗?
我以前经常对我的同事说过,如果我们一直在乎编程语言的选择,刻意追求编程语言的选择,或钻牛角尖地研究极其细微的概念与术语,为了不同的编程语言而大发争论 --- 因为每个人都认为自己最精通的编程语言功能最强大,然后不断地找一些例子,从而说服对方我的编程语言做起来如何方便,如何安全,如何快捷。
编程序无非是为了解决一些问题,即采用适当的办法解决一些问题。注意:最终目标是问题得以解决,而不是解决问题的过程中我们如何愉快地享受整个开发过程----当然你要能够象商人一样地思考这个问题。
在解决问题过程中,不可避免地会遇到一些问题,如采用什么编程工具最先进?什么体系结构最流行?什么数据库在某个刊物上评价最高?---- 这些问题是刚成立的小公司经常会讨论的,而且这种状况不会持续太久,因为要么他们成熟了,不讨论了,要么他们完蛋了,讨论不成了。
同样,作为软件人员,在实现目标(比如做一个共享软件)时,也会遇到同样的问题。你可能觉得用C++,C#,甚至未来的C$,C%,C^,C*最能说明自己的编程水平;也可能认为在程序中加入一些特技效果更能体现软件的界面友好;或在软件中加入一些音乐来说明自己会做MIDI编程 --- 因为你可能认为这是最先进的技术,而且认为软件人员要不断地追求先进技术并随时得以应用。 
那么,软件的主要功能是什么?这是最重要的问题。如果它只是一个日记本程序,为什么要用C#来编写呢?VB或DELPHI就足矣,当然除非你的C#更为熟练;能够用标准文本框来显示日记内容,还有必要调用API来实现文本显示么?或者,你认为在日记显示栏里加入一个淡出效果更好,因为能够体现你还会一些图象处理技巧。
这就比如做一个镜子,主要功能就是用来反射照人。如果用普通的玻璃就已能够满足要求,就没有必要用表面光洁度更高的加工方法磨制镜面;如果用普通电镀水银就能解决反射问题,就没有必要追求更高科技含量的等离子电镀工艺(不知道有没有等离子电镀,胡说的);如果用普通玻璃切割技术就能满足工艺要求,就没有必要追求激光切割。
所以,作为一个好的软件,追求的是软件的功能是否正常实现,而不是软件的制作过程是如何先进。
一个好的软件,我认为只有六个字:好用、能用、稳定。
而软件的制作过程选择,还是六个字:有效就是先进。
如果你是一个刚进入软件公司的程序员,那么请不要太在意编程工具的选择,因为你的上司根本不会考虑这些,或者他们以前曾考虑过,但后来他们不注重这些了,他们注重别的问题了,所以他们成了你的上司,而你将来也想成为他们,甚至超过他们----除非你愿意一直做一个程序员,一个很棒的程序员,在编程方面你的领导永远也不会超过你!
但你永远不会超越自己……
------解决方案--------------------------------------------------------
最近一直关注着本站《请给我一些学习VC的优势,让我能够坚持下去》一帖。现在,请充许我这个浅薄无知的人在这里说几句。之所以没有把我的帖子作为回复而是作为一个新帖写出来,是因为我觉得这篇文章由上面的问题引出,而又不仅限于回答上面这个问题,倒是和我前面写的《一个编程迷的思考》有些联系,故起名为(二)以新帖发出。
正文如下:

我认为有些人的观点错了。错得一塌糊涂。
对于这个问题,我的基本观点是:任何实践都是理论的载体或表现形式。而理论也是由实践上升而来的。两者是辨证的。今天,我们只关注它的前一部分:任何实践都是理论的载体和表现形式。
我不是想故弄玄虚,但真理的外表看上去往往就是这么奇形怪状、难以理解。让我来给你解释一下吧。
比如:战争是军事理论的实践,也是它的表现形式。战争的胜负取决于指挥者军事理论的掌握程度(别给我举赵括这类“纸上谈兵”的反例,他们根本算不上掌握了军事理论,充其量只算是“背”下了军事理论。“掌握”和“倒背如流”这是两个概念。)

1、VC、VB、Delphi …… ,你该学哪个?
具体到编程而言,我要告诉你:任何一种计算机语言,都是计算机科学理论的载体或表现形式。C++很神吗?Java很酷吗?它们差距很远吗?是的。但从理论的层面上讲,它们没有区别,都是“面向对象”理论的一个具体形式而已。
现在的程序员们被发行编译软件(通常我们将其称为“系统软件”)的商家不断推出的产品搞得眼花缭乱,头痛欲裂。不断地跟在新语言后面跑,这条路还没跑到头,那边的“新路”又鸣锣开张了,于是再跟着跑……渐渐地有些人开始感叹:学海无涯、学无止境,或什么“程序员是青春饭,过了三十别想干”……
在此我不得不叹息:中国的教育真是一种“形而上学”的教育。早在高中时代我们就学过“辨证唯物主义”的基本理论:做事情要抓主要矛盾。这一条恐怕谁都知道,却鲜见谁能在实践中把这一理论运用得“炉火纯青”的。把这一理论运用到编程上来讲就是:
理论是主要矛盾,语言是次要矛盾,学会了理论,再具体到学一种语言时,你只不过是在进行某种消遣而已。
现在学VC的普遍看不起学VB的或学Delphi的。但如果一个用Delphi的人,在需要写web程序时,用TCP/IP做了一个构架,嵌入到应用程序中;而另一个用VC的人却只会把一个又一个的组件拖来拉去的做些个“例子程序”的翻版。你说他们两个谁历害?Delphi和VC谁历害?
真应了这样一段话,问:纽约好还是上海好?答:有钱哪儿都好,没钱哪儿都不好。上海的富人并不比纽约的富人少多少的优越感,而纽约的乞丐也不比上海的乞丐多多少幸福感。
现在你还会说学VC的人就一定比学Delphi的人水平高、“钱景”好吗?

2、“浅薄”绝不该是中国程序员的性格特征!!!
想问一句:中国程序员这么多,你们真地把基础理论学好了吗?别用你现有的编程经历告诉我:编程不需要数学,不需要数据结构,不需要编译原理…… ……说话得负责任,您知道吗?我之所以发表这篇文章,就是因为再也看不下去这种在中国编程界漫延的歪理邪说了!邪教害死的是人的个体,你们害死的是中国软件业的未来!如果再让这种理论继续毒害编程新手的思想,中国将在计算机领域失去民族的尊严!!!
请问,操作系统、编译软件、数据库系统…… 这些被称为“系统软件”的东东,中国有几样拿得出手的产品?也许是我孤陋寡闻,据我所知:我们国家一件像样的也没有。
不错,我们是有一些网站的股票在西方上市了,我们是有一些人被国外公司请去做高级职员了,我们也有一些人把西方的官方网站给黑了……但是,我们用的编译工具是谁的产品?我们微机里装得是谁做出的操作系统?我们的程序跑在谁的芯片上?
爱之深,恨之切。我爱的是中国,但我痛恨不是中国,而是在中国编程界普遍流行的“浅薄”和“自以为是”,这是我们民族软件业的一颗毒瘤!
是的,现在编程方面快速入门的书满天飞,让程序员的门槛越来越低。我这个外行就得益于这个“低门槛”,跑了进来。但进来后,我们就不能再这样浅薄下去了——我的兄弟们!
用他国提供的工具做几个网站,写几个应用程序,弄出几个病毒…… 是振兴不了民族软件业的。顺便说一句:我尊敬求伯君,但我不认为金山公司和其系列产品配得上被称为“民族软件业”的大旗,相对这个称号,它差得太远了。
……   ……
写flash软件的人会认为用flash做动画的人比他历害吗?Adobe公司真的认为考取Adobe证书的人是“人才”吗?MSCE、MSCD…… 通过这类考试得到微软徽章的人,在微软眼里是“人才”还是“义务推销员”?持这类证书以及其他一些大软件公司认证的人,你们还在以为自己是“中国软件业的精英”而感叹“怀才不遇”、工资太少吗?
醒醒吧,朋友。别再用编程不需要理论的话来自欺欺人了,别再用自己的浅薄来教导别人像自己一样浅薄了。我想问问那些称数学、数据结构等基础课程对编程没用的人:
请你们搞清一个概念:是这些理论“没用”,还是你们“没用到”;是你们“没用到”,还是你们的水平根本“用不到”;是你们“不需要用”,还是你们根本“不会用”?
  相关解决方案