曾经的神级语言——易语言的陨落

啥是易语言

易语言(EPL)是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言,也通常代指与之对应的集成开发环境。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并不用再去学习西方思维。易语言的诞生极大的降低了编程的门槛和学习的难度。从2000年以来,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。

(百度百科复制的)

易语言优点

  1. 方便学习…

    易语言使用中文的确使得很多国人走进编程圈子,学习起来也变得简单,因为使用母语,可读性也有大大提高,即使不动编程者,也可以理解,也因为如此,易语言在开发小工具上体现出来惊人的简易性(360文件粉碎机的早期版本就是用易语言写的)

  2. 编译方面…

    易语言为了降低学习难度,放弃了SDK等复杂的东西,同样也大大降低了环境搭建难度,一个软件,一个加密狗,就可以写程序了(静态编译也就麻烦一点点)

  3. 在历史上…

    易语言历史长,有稳定特点,并且从1.0到现在,易语言的编写程序难度已经大大降低,例如早期版本无缘无故的“草稿”在现在也没了

  4. 第三方上…

    易语言因历史长,也有了广泛的第三方基础,这些库方便了他人,不需要其他开发者去反复造轮子

为什么陨落

凡事都是双刃剑,易语言的这些优点到头反而成了易语言最大的缺点,举例便是…

  1. 历史问题…

    作为2000年发布的编程语言,软件以及有多年历史,往好处说,更加成熟,但也正因为历史太长,软件也开始了屎山堆积

    易语言最新版本实际上都是为Windows XP或者Windows 7开发的,导致软件在更新的系统总会有点小问题(毕竟这些年来微软添加了不少API,同时也有许多过时的API被删除)

    也是因为如此,易语言IDE对于Windows新API的支持很差,包括其编译出来的程序也有同样的问题(如果自己调用Windows API,当我没说)

    此外,大有吴涛在21世纪前10年时积极更新易语言,短短10年从1.0进化为5.0,甚至还兼容了Windows Vista引入的UAC,但是第二个10年开始,易语言就开始大力咕咕咕,10年来就几乎没有更新什么东西,这年头易语言依旧是5.x

    此外,易语言界面也堪称复古,典型Win2k风格,并且没有更新过,虽然有第三方UI库,但是随之而来的是更多的BUG

  2. 软件编译…

    易语言的定位实际上是简单用母语写程序,所以也带来了许多编译问题

    • 易语言默认编译器即使编译一个空白程序都要500KB,而隔壁Visual Studio 2022的编译器去编译一个空白程序才100KB,如果编译32位还要小于100KB,虽然有黑月等优秀的解决方案,但使用门槛高(不能使用易窗口)
    • 不支持指定SDK,导致编译的软件通常对新版Windows兼容性不是特别特别好,总会有小问题
    • 不支持编译64位程序,也是易语言最大的问题之一,Visual Studio在200x年就可以编译64位程序,易语言硬是到201x年才有一个编译64位程序的选项(如果可以编译64位程序,软件性能将会有巨大提升,并且还可以更方便地调用64位API,并且如果调用的第三方库是别人用其他语言编译的64位库,那调用会变得特别麻烦)
    • 软件编译出来是有内存限制的,最高只可以占用1GB出头一点,虽然易语言助手已经有插件尝试提高内存限制,但也不高(况且人家内存调度也不太行,容易留垃圾)
    • 编译的软件经常会报毒,虽然无可厚非,因为很多人拿这玩意写病毒,杀毒软件往往就将易语言编译的软件的共同特征信息给存在了病毒库中
    • 编译以后如果你用Resource Hacker去看易语言程序,你会发现有很多无用信息,譬如两个不知道哪来的图标和一堆可能这辈子都用不到的窗口
    • 这年头居然还有编程语言不支持Unicode编码,还在使用ANSI(GBK),这导致的问题就是不支持非中英文的语言(不然不是问号就是被替换成了汉字),其他语言的系统运行程序会有乱码(Unicode中文编码在其它语言系统的字体也就难看一点,最少可以看),并且在与其他现代程序的进程通讯也会很麻烦(使用精易模块会使得你的代码非常乱,疯狂互转,非常蛋疼,还容易忘)
  3. 软件自身…

    易语言作为一款商业软件,很多地方都要付费使用,但是硬件解密+高昂的价格的确使得易语言变得不太好用,并且据说加密狗很容易坏,尤其是高频拔插,很容易丢失,坏了丢了你就得去重新买,最终导致了一堆易语言用户都不会去买正版,易语言官方也不善罢甘休,到5.9直接从5.8的仅编译时插加密狗变为打开软件都要插,虽然此举可以有效改善加密狗丢失问题,但是如果是笔记本就很不便携,毕竟谁愿意好端端笔记本凸出来个东西

    当然了,之前的易语言PJ版都是靖宇通制作的,随着他不再参与PJ制作,易语言新版本的PJ深度明显不如之前的版本,可能某些时候就被一些插件识别出来了

    并且作为第一个完全封闭的,从编码到编译器全部知识产权,没有第三方IDE,不开放,反而使编程体验不太友好

    毕竟是一个10年来几乎没有更新实质东西的老软件了,软件操作也远远落伍了,例如易语言自身和其编译的软件对新电脑的触摸板的支持就特别差,无法双指放大,滑动特别艰难等

    更离谱的是,易语言在你没有保存源代码前都可以调试,这很容易让人忘记保存源码,并且易语言在不安装第三方支持库的前提下,都不支持自动保存

    软件还有一个问题,就是不支持协同开发,源码的二进制储存就是在位这过程雪上加霜,多人开发效率极低

    并且呢,版本控制上也不太行(如果源码体积太大甚至需要依靠Git LFS才可以上传到Github或者Gitee)

  4. 源码部分…

    说真的,易语言可以说是当前唯一活跃的保存的源码全二进制化的语言,并且,易语言的保存方法还不是单纯的加密混合源码,是直接保存内存数据,堪称离谱(只要是个普通的碳基生物都不大可能会想到这么奇葩的方式吧),导致源码只能在易语言中打开,其他IDE几乎可能打开,除非有朝一日易语言破天荒开源或者被完全PJ(虽然有一个e2txt,但是相比其他语言方案依旧有点拉)

  5. 语言问题…

    易语言因使用中文而变得简单,但是中文也成了易语言最大的累赘,易语言写程序相比其他西文编程语言而言编写效率太低,这也是为什么很多易语言开发的复杂软件的变量或者程序集都是直接拿英语去写

    易语言变量声明也很让人难受,只可能在一个子程序顶部或者全局变量页去声明,有时会带来很多麻烦

    易语言至今都没有做到原生函数式支持,在开发数学软件会比较麻烦,虽然有第三方开发的

    易语言的语法也是万年没有更新了,其他语言实现相同的功能写起来越来越简单,但是易语言依旧十分复杂,有时一些奇葩但又很正常的逻辑会让你怀疑自己的智商

    总而言之,易语言并不是一个合格的现代编程语言

  6. 社区问题…

    随着许多逆天开发者加入易语言社区,社区也开始变味了,现在社区有多让人难受,说说就明白

    • 易语言开发的一个简单的功能源码可能就要卖¥500,但是一个功能齐全的完整软件的超过¥50都可能嫌贵
    • 即使将MIT许可协议(除WTFPL被开源社区认证的最自由的开源协议)作为软件开源协议,其他人改完重新发布都有可能被开发者追着骂
    • 很多人使用易语言多用于开发外挂插件等非法软件,并且随着时间发展,这件事从没有停过
    • 社区成员喜欢给自己打广告,导致其他人很难找到适合自己的资源
    • 部分易友甚至连等宽字体与不等宽字体都不知道(虽然不知道有啥关系,但是可见易友的素质有待提高)

    不仅是社区逆天,可以用的资源相比其他语言也少太多

    另外社区中也不乏有外挂开发者,计算机病毒开发者等违法软件作者,一定程度上也不利于社区

  7. 第三方上…

    广泛归广泛,但也没其他历史更短的开放语言广泛,实际上,易语言的第三方开发也非常蛋疼,尤其是支持库,官方推荐你用Delphi和C++去开发,这还没什么问题,但是如果你去反查易语言开发手册,你会发现这玩意不仅仅不太好理解,很多使用的接口都没了,导致在支持库开发上要走很多弯路才可以实现一些功能

    模块开发虽然相比而言简单很多,但是如果要让模块在易窗口作为组件使用,还是有点难度

    易语言在第三方模块和支持库的兼容性也非常奇妙,支持库冲突可能会直接导致IDE完全崩溃,重新打开还要按快捷键清空设置打开,很多地方都需要重新配置,会增加很多麻烦

  8. 系统占用…

    暂且不提前面说到的文件大小比正常情况下大,因为易语言编译原理本质上是将源码丢给易语言自家编译器后再丢给Visual C++链接器做链接(静态编译流程,其他编译方式并非如此),导致编译时需要亿点资源,但是易语言IDE也是32位,系统资源调度不完全,可想而知,因此易语言不适合大型项目开发

  9. 开发者上…

    易语言的开发者是吴涛,这毋庸置疑,但是易语言的安危和发展完全看吴涛脸色,可以说,易语言背后的主要开发者就他一人,而进入21世纪10年代,吴涛的开发中心开始转移到了两个火山的开发(火山3D游戏引擎(这个好像活的不太好),火山开发平台(易语言精神续作)),易语言自然就被吴涛给冷落了,年更易语言也开始变得难得(就说易语言5.93,是2021年发布的,之后的2022年就没有发布过一个易语言版本,上一次较大版本更新还是2019年,在5.x早期,易语言甚至还有托更过几年,而易语言刚发布甚至还有过周更)

  10. 后遗症上…

    长时间从事易语言开发,很容易使一部分人将自己与那些专业程序员相提并论,但是如果真的和那些专业程序员比,又远远不如他们

    并且,国内招收易语言开发者的公司很少,比较有名的怀疑只有精易了,但是只会易语言未来并不明朗的,这不是我说的,而是几乎所有评价易语言的人说的

    通常而言,如果你学通了易语言,你会发现你学习其他语言会异常艰难,因为易语言的编写思路在你精通以后根深蒂固,并且你很有可能会犯编程界里那些大错误,例如拼音作为变量名这些事情,还有一些很弱智的错误

长期以来,易语言已经步入中国开发界程序员鄙视链底层,很多使用易语言开发优秀软件的开发者并不希望有人出来曝光自己软件开发语言,以免被键盘侠们喷。易语言的精神续作火山平台虽然解决了部分问题,但是社区更加离谱,很多方面甚至不如易语言,中文编程语言是否拥有未来,这还是一个未知数,如果吴涛继续摆烂,迟迟不做出实质上的大更新的话,中文编程语言将无未来,反之或许可能复兴!(隔壁还有一个极语言,称自己为中文编程语言的未来,但是实际了解以后可以发现这位更是离谱,槽点更多,无奈啊)

“易语言能做的,英文编程语言都能做。很多英文编程语言能做的东西,易语言做不了。”

——来自知乎网友

“(易语言)除了全是问题之外没有什么问题。”

——来自网友

“易遗言”

——来自网友

《 希 望 》


曾经的神级语言——易语言的陨落
http://damon233.js.org/eplNotAll/
作者
What Damon
发布于
2022年12月18日
许可协议