虽然我学过很多语言,但也只是学过,能熟练应用的只有C++(HLSL不算),C++一直都是高效复杂的代名词,关注于问题解决的过程,而不是问题本身,每个细节都必须考虑到,甚至要造很多的“轮子”,包括MFC本身,从头到尾都无不体现了计算机内在细节的复杂性,显然不适合做一个快速开发工具。一个合格的原型开发工具必须具备一下几个条件:
1。我不是为了学习语言本身而学习,我的目的是学习它,然后用它解决我工作中的问题,所以它必须规则简单。
2。应用冗余必须低,C++的应用冗余太高太高,在用它解决问题的时候要做太多重复的东西,比如写一个函数void Fun( int p0 = 0, int p1 = 1, int p2 = 2 ); 如果要我调用这个函数但我只想改变p1的默认值,我依然必须按如下方式调用Fun( 0, 3, 2);如果要做到Fun( p1 = 3)形势需要一些很复杂的步骤。
3。周边功能必须健全,社区支持必须完善。常用的“轮子”必须已经造好,GUI\NET\DATABASE一个都不能少,技术支持要强大,总不能随便碰到一个问题就浪费我N天时间。
4。功能要强大,我的以前的C++经验最好能充分复用。
5。应用范围要广,不能有太多局限性。
可供选择的主要有:lua, python, perl, ruby, java, c#。而DELPHI, VB本身过于衰老,就不在考虑之列了。现在来看看他们的主要优缺点。
lua:简单高效,而且我比较熟悉,曾是我的首选,但其最大的软肋在于应用范围太窄,库不够强大,支持不够完善,如果要完成DATABASE,GUI编程很复杂。
python:规则一般简单,但考虑其功能强大,可以接受。冗余处理得很好。作为最流行得语言,支持就不用说了,库也相当得完善,应用范围也很广,基本符合要求。
perl:规则不够现代,支持面向对象太弱,语法与C++风格差别比较大。
ruby:不熟悉,跟PYTHON差不多,但没有PYTHON流行。
JAVA,C#:让我最难抉择得两个语言,这2个都出自垄断名门,这有点违背我自由得思想,但流行和强大都显而易见,技术上非常成熟,C#最让我不爽得就是只能运行在WINDOWS平台上,虽然我在其他平台工作得机会不大,但我心里很反对垄断私有(深得共产主义真传)。而且它创造了太多人为概念,难于学习。JAVA我很喜欢,我想我是学习C++但也很喜欢JAVA的少数人(好像很多学C++的人都排斥JAVA),但想想学他的人实在太多了,我比较不想太随大流。
所以综合我选择的PYTHON作为下一个我重点应用的语言,我的以上分析很主观,谈不上正确与否,其实PYTHON RUBY C# JAVA都是非常优秀的产品,特别是JAVA和C#有很多极好的思想,没有选择二者完全是我的主观感受。希望正在为选择第二门快速开发应用语言而苦恼的朋友不要被我的主观感受所误导,同时也希望不要有人发表“应用决定选择”的言论,毕竟有时候有很多选择摆在我们面前,在精力有限的前提下我们必须选择其一,我们大多数人都不是为学计算机技术而生的技术狂人,不可能把陪老婆玩游戏睡懒觉的时间都拿来学习各种计算机技术。所以我的目标就是最优选择,最少的投入,最广的应用,最高的回报:)。
posted @ 2008-07-19 13:22
effulgent 阅读(77)
评论(0) 编辑 收藏