@Kim Leo 没说完,我来补充一下,我只说VB,因为我没用过Delphi
微软把Windows平台的自家软件封装了一层公共接口,并把这些接口提供给了VB使用,这才是VB最有价值的地方。VB本身语法很渣,但是VB里能方便的通过这些接口控制微软软件体系里的大多数东西:比如资源管理器,比如IE浏览器,比如Office家族的Excel、Word,比如ADODB这类数据库接口等等。
也就是说,真正精华的部分不是VB语言本身,而是微软的统一接口能让VB方便的使用。
C语言很经典吧?那把C语言的所有头文件和所有库都去掉,只留下一个编译器,连printf都要自己实现,那么C语言还有人用吗?肯定没有。
所以,库的丰富性会影响语言的使用,VB能仍然继续用,是因为它的库很丰富,别看VB本身是否很渣。
说到这,我相信易语言的用户会反击说,易语言的库同样也很丰富,易语言也能访问ADODB和Excel等等。
问题是:易语言用的接口,是微软提供的接口,而不是易语言自己实现的接口。
换句话说:有一台复杂的机器(Windows平台的各种软件),厂商(微软)为了方便用户使用,出了个用户手册(VB),告诉用户如何使用它,易语言的作用只是把英文的用户手册翻译成中文。
所以,作为用户,我们肯定最尊重出原始手册的人,而翻译手册的人永远无法做出超越手册内容本身的东西,这就是差距,这也是VB和易语言的差异。
如果有一天,微软提供了一个新软件的新接口,VB可以直接使用,因为那是微软自家的东西,易语言则需要开发者或者语言的设计者手动扩充,这就是区别。易语言永远只是跟随者和模仿者,而不是创造者。
以上是我认为最重要的差别。
除此之外:
VB过去还提供过伪代码编译,提供过各种深度的优化(如浮点检查、数组边界等),我不清楚易语言是否支持这些特性,其中有些特性与编译器息息相关,我不是太相信国人有耐心独立做这个。
理论上VB的编译器(和连接器)可以做出纯净的DLL,修改入口地址,等一些深度定制目标文件的功能,而易语言本身的编译器似乎不是它自己做的,至少反汇编看到的很多东西,都是引用VS的(见过很多类似这种的字符串:\Program Files\Microsoft Visual Studio\Common\MSDev98)。
那么,如果有人声称自己发明了一种新语言,但是语言的编译器都不是自己做的(LLVM这种可以生成IR的除外),那么这种语言的原创性就是值得怀疑的。
所以,如果单单只看语法层面上,易语言是没问题的,甚至不排除它能提供比VB更多的特性。
易语言受人歧视的一个重要原因是它本身不算是一个原创的语言,从编译器到运行库,几乎都要靠别人现成的东西,这也大名鼎鼎的国产操作系统COS其实差不多,所以称之为山寨产品并不为过。