本文作者为易语言创始人吴涛,数十年从事编程语言本地化工作的心得,其本人正在从事国产编程语音平台的研发工作,先后已经完成国产PC软件、游戏引擎、安卓的开发编程平台。
本地化编程语言与产业互联网
1 产业互联网
1.1 产业互联网的特点
产业互联网的目的在于将传统产业与互联网进行深度融合,实现其转型升级并进行资源和数据的整合。
在将行业与互联网结合的过程中,必须由相关软件作为桥梁,该类软件开发存在以下特点:
行业生产环境的多样性
各行各业的生产环境差异化很大,其所基于的硬件和软件环境各不相同,譬如硬件可能使用pc、单片机、移动或嵌入式设备,软件可能使用windows、linux、安卓、专用的嵌入式操作系统等等。
行业从业人员的特点
就软件开发素质来说,行业中负责与产业互联网对接的从业人员(以下简称从业人员)可以分为三类:
1、精通英文和软件编程;
2、不懂或稍懂英文,具有一定的软件编程能力或潜力;
3、完全不能学会软件编程。
这三类基本上呈橄榄型,即:1类和3类都较少,绝大部分都是2类,并且还具有一个共性:即从业人员的主要精力会集中在行业本身上,不会也不愿投入过多时间和精力成本到软件编程的学习上。
行业需求的多样及易变性
具体到行业应用软件的需求上,各行各业都大不一样,实践过程中甚至同一行业的各个地方和各个部门都有可能不一样,而且在应用场景中,软件需求很容易根据实际应用情况随时发生改变。
1.2 产业互联网现状分析
目前互联网在C端已经发展到了一个瓶颈,老百姓的衣食住行,该做的基本上都做了,互联网现在向B端转型是大势所趋,各大公司,包括阿里、腾讯等都在进行这方面的努力和尝试。
行业应用支持目前做得比较好的是后端互联网云支持,但是前端还是由专业软件开发公司使用各种各样的编程语言来开发,而前端恰恰是相对而言更重要的部分(前端决定后端)。
2 本地化编程语言
2.1 本地化编程语言的特点
编程语言本地化不仅仅是替换一下关键字那么简单,主要包括以下几个方面:
开发环境本地化
如果没有提供对应的本地化开发环境,就无法做到完全本地化。
语言字面本地化
编程语言的关键字和语法格式必须本地化。
相关资源本地化
编程语言的所有附属资源,如功能类库、资料文档、附属工具等都必须本地化。
使用习惯本地化
编程语言所有支持内容都必须符合本地的使用和学习习惯,包括语言本身、开发环境、附属资源等。
交流社区本地化
必须为编程语言提供本地化的交流社区,方便用户之间进行交流及资源共享。
编程语言本地化的最终目的是为用户创建一个易学易用实用的应用开发环境,用户不需要掌握英文、不需要有太多软件开发基础、不需要使用西方思维,不需要投入太多学习成本就能学会使用。
2.2 本地化编程语言在行业中的作用和定位
行业的软件,让行业从业人员自己来写。
在开发行业软件的过程中,始终存在以下矛盾:专业软件开发公司懂编程不懂行业,行业从业人员懂行业不懂编程。那么有没有解决这个矛盾的方法呢,就是让从业人员自己来写行业应用:
只有行业从业人员才最了解这个行业,才能完全满足本行业的需求,才能随时根据实际情况调整软件以及时解决需求的易变性问题;
专业软件开发人员的数量相比行业从业人员的数量不值一提,充分发挥行业从业人员的潜力将直接提升社会整体生产力;
在本人数十年的编程语言本地化工作实践中,发现了一个真理:“人民群众的力量是无穷的”,永远不要低估用户的能力和智慧。我当初开发易语言的时候,从未想到过会有用户使用易语言将公司做到上千万上亿的产值,从未想到过会有用户用它来写出数十万的大型行业应用,只要给用户一个可以使用的工具,他能做出你想象不到的事情出来。
行业为什么需要本地化编程语言
由于行业从业人员的特点,让他们学习使用国外编程语言难度较大、学习成本较高、交流和获取相关资源较难,在这个群体中推广使用本地化编程语言是最好的选择。
本地化编程语言在行业中所处的角色
如果仅仅作为一个普通工具软件,那么编程语言在行业应用中将“大材小用”,只有将它作为行业应用的交流和服务平台、到行业从业人员的渠道和沟通桥梁、用来实现产业化互联网的“把手”,编程语言才能有充分的用武之地。
本地化编程语言自始至终都应该着力于为行业从业人员提供各种服务(譬如技术和解决方案咨询)、资源(譬如各种功能模块的推送)、整合(譬如同行业软件开发人力/物力的互流互通)、沟通(从业人员之间、终端用户和从业人员之间、第三方厂商和从业人员之间)、管理(优秀从业人员的筛选、组织、推荐等)平台。
这也是本地化编程语言的市场价值所在。
本地化编程语言的社会意义
1 增强个人就业能力,支持万众创业。
易语言的很多用户都是因为学会了使用易语言,从而改变了他们的人生,个人技能的增强对于其就业或创业都会有很大的帮助。
2 用作计算机编程语言教育, 为社会培养和发掘优秀软件开发人才。
易语言的现有用户很多都是从初中/高中开始学习,让他们那时去学习英文编程语言,难度较大,本地化编程语言能够提前为他们建立好正确的编程思维和习惯,激发他们的兴趣,引导他们进入软件开发的大门,很多优秀者就能够从此脱颖而出。
3 为国产操作系统配套应用开发环境,快速丰富应用周边。
任正非在答记者问中提到过:操作系统好做,周边应用生态难建立。如果想依靠专业软件开发公司来建立,会有以下问题:
软件公司都是趋利的,在一个操作系统前景未明之前,很少会有软件公司会在其上大量投入;
软件公司的数量还是偏少,短期内很难建立起足够的应用生态,而指望国外的个体软件开发者来为国内操作系统建立生态不现实。
本地化编程语言由于其具有庞大的用户基数,且个体用户相对软件公司来说其趋利性没那么强(譬如因为兴趣或爱好),只要引导和组织得当,能够迅速为国产操作系统提供大量的应用软件。
现有本地化编程语言
易语言创始人吴涛
1 易语言
1.1 易语言简介
易语言为本人研发的国内第一款本地化编程语言,研发的初衷和目的就是为了帮助国内那些无法学会国外编程语言的用户学会软件开发。
1.2 易语言的现状
易语言自从2000年发布第一个版本,到现在已经接近20年,在如此漫长的时间内,经历了市场的严峻考验,用户数目一直有增无减,现有用户保守估计应该有数百万以上,累计用户不计其数。
存在即是合理,易语言能够一直到现在还有大量用户使用,充分证明了本地化编程语言在国内具有广泛的实际需求以及易语言自身过硬的产品质量。
易语言的界面展示:
2 火山软件开发平台
2.1 火山软件开发平台的简介
火山软件开发平台是一个目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台。
由于易语言在2000年设计,当初的一些架构在如今看来已有部分不合时宜,因此本人在近几年重新架构并开发了火山软件开发平台。
火山软件开发平台充分应用了本人在近20年的编程语言本地化工作中所积累的知识和经验,解决了在此期间所曾经遇到过的来自用户的绝大部分问题,考虑到了当前及未来的软件应用需求发展趋势,结合了当前国外编程语言值得学习的理论和特点,仅仅设计其架构就花费了接近一年时间,于2018年10月份推出了第一个正式版本。
2.2 火山软件开发平台的大平台概念
为了应对开发行业软件时生产环境的多样性,火山平台设计时的初衷就是让用户能够一站式解决所有的软件开发问题,无论是前端/后端/web端、pc端/移动端/嵌入式,都可以统一使用火山平台进行开发。用户只需要学习一种火山语法规则,就能应对各种各样的软件开发需求,充分降低其学习成本。
火山平台采用独创的“语言之上的语言”(LOL)技术,成功屏蔽了火山程序对特定目标环境的依赖。用户只需要学习掌握火山程序语言,就可以针对各种目的环境进行软件开发。同时由于火山程序编译器所编译出来的是目标语言的源代码,因此能够最大限度地提升火山程序员与第三方的合作和资源共享效率, 以及所开发火山程序被社会的认可程度。
以下为火山软件开发平台的架构图:
2.3 火山软件开发平台的现状
火山软件开发平台目前暂时只实现了基于安卓的移动端程序开发支持,支持其它应用环境的平台插件正在研发中。
自从2018年10月发布第一个正式版本,到现在已经接近半年,在此期间有很多用户使用火山平台开发出了优秀的项目。
火山平台的界面展示: