----我认为最好的编程语言是VB
stgxc 2003-01-09 02:38:40 如果要我说什么编程语言最好,我会说,是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来实现文本显示么?或者,你认为在日记显示栏里加入一个淡出效果更好,因为能够体现你还会一些图象处理技巧。
这就比如做一个镜子,主要功能就是用来反射照人。如果用普通的玻璃就已能够满足要求,就没有必要用表面光洁度更高的加工方法磨制镜面;如果用普通电镀水银就能解决反射问题,就没有必要追求更高科技含量的等离子电镀工艺(不知道有没有等离子电镀,胡说的);如果用普通玻璃切割技术就能满足工艺要求,就没有必要追求激光切割。
所以,作为一个好的软件,追求的是软件的功能是否正常实现,而不是软件的制作过程是如何先进。
一个好的软件,我认为只有六个字:好用、能用、稳定。
而软件的制作过程选择,还是六个字:有效就是先进。
如果你是一个刚进入软件公司的程序员,那么请不要太在意编程工具的选择,因为你的上司根本不会考虑这些,或者他们以前曾考虑过,但后来他们不注重这些了,他们注重别的问题了,所以他们成了你的上司,而你将来也想成为他们,甚至超过他们----除非你愿意一直做一个程序员,一个很棒的程序员,在编程方面你的领导永远也不会超过你!
但你永远不会超越自己……