扯谈虚拟机语言的最大致命伤

你永远不会知道客户的.net是哪个版本,甚至客户根本就没安装.net,也不要指望你能够指示客户应该安装什么什么才能运行你的程序,通常会有以下几种情况:

1 最好的情况:你的客户是个明白事理的程序员,这个不用多说了。
2 一般好的情况:客户能够看你的说明,知道怎样首先保证运行时环境。
3 一般的情况:客户身边有会的人来解决问题。
4 希望仍然是乐观的情况:客户没有安装JAVA或者.NET,但是他似乎听说过这么两个东西。
5 最SB的情况:“为什么你的程序不能运行啊?”,“我不会安装”或者“我不会下载,你教教我吧”。
6 最恶劣的情况:其它公司的业务员对你的客户说:“什么破东西,打都打不开,这种人要是在我们公司早就被打发走人了”。

--------------------------------

面对以上情况,我们能做什么?

这世界上有一个恒古不变的做人道理:嘴巴和手是长在别人身上的,你只能做好你自己。你不能要求别人。
所以,第5和第6种情况只有放弃掉,要怪就怪自己倒霉吧。

那么,在1-4中,我们最起码能够得到一个JVM或者.NET。可是我们依然不能得到准确的版本。基于我自己的经验,给出2个建议:

1 可以不用高版本运行时的情况下,就不要用高版本。比如说某个能够在WEB服务端和桌面客户端都可以调用的通用数据库访问组件,就通用性而言,1.1>2.0>3.5。

2 在某些情况下,用WIN32下的VB或者C++做一个外壳,把你自己的.NET和J2EE弄成WEB服务(WIN32下面通过SoapToolkit30组件来调用)。

3 飞信里面那个什么什么的DLL还是EXE了,可以在无.NET运行时的环境下执行.NET程序(本人没试过,听说可以。)。

-----------------------

获取你会说,等到VISTA普及的时候,就不存在这种情况了,但是要想想,VISTA内置的版本只是2.0,到了VISTA普及的时候,恐怕.NET都6.0,JAVA都9.0了。所以,以上的建议1依然是成立的。

你可能感兴趣的:(虚拟机)