青语言使用文档
注意,这是给青语言使用者的文档,如果你是希望了解如何开发青语言本身,请查看《青语言开发文档》
当今世界信息化高速发展,信息技术已成为促进社会进步的重要推力。随着我国信息化的不断进步,尤其是互联网行业的高速发展,我国已迈入信息化强国的门槛,然而与发达国家相比,在信息技术创新、技术分享等方面仍存在较大差距。
这一现在现状的原因包含多个方面,但我们认为其中存在一个基础性的问题,中国没有良好的学习编程的”土壤“。当前主流的编程语言均以英文为载体,各种语言文档、使用手册也均使用英文,这对于母语非英语的人群造成了一定的使用门槛。对于专业的程序开发人员来说,可以通过学习英文来克服困难,但对于业余人员和学生来说,这大大增加了学习成本。实际上,国外很多知名程序员,包括比尔·盖茨、扎克伯格等,大多从青少年时期甚至儿童时期就开始接触编程,对于母语为英语的他们来说,不存在基础的语言障碍。反观国内,虽然近年来开始部分推行编程进入课程,但整体推广的效果并不理想。这就导致了我国缺少广泛的、良好的编程”土壤“,在争取科技制高点的过程中,这将成为我国的劣势。
为了解决这一问题,我们需要以中文为载体的编程语言,以方便大众学习和使用。
在青语言之前,已经存在一些中文编程语言,其中比较成功的有易语言、习语言等等。然而,这些语言均存在一些问题,例如闭源、不支持跨平台等。当前主流的编程语言均采用开源的发展模式,企业和社区共同扩展语言的功能,构建良好的语言生态。而上面提到的现有的中文编程语言,大多采用闭源的模式,这就导致了语言的发展推力单一,开发力量薄弱,无法形成基础的语言生态,最终无法进入主流大众视线。
基于此,我们决定打造一门完全开源的中文编程语言——青语言。
取名为青语言,意为主要面向广大青少年、儿童和业余爱好者学习和使用的编程语言,同时也希望这门语言充满青春朝气,蓬勃发展。
为了适应目标人群的需求,我们对青语言的设计目标如下:
1、使用中文为载体,消除语言障碍。
2、语法设计简洁,易于学习和使用。
3、具备简单的扩展接口,方便社区开发扩展功能。
在确定了使用中文为载体后,还需要明确中文编程语言的实现方式,我们对中文编程语言分类如下:
1、使用现有语言,采用关键字替换,实现中文编程,但本身依赖原语言。
2、从头编写实现中文编程,但语法逻辑参考主流编程语言。
3、从中文出发,设计和实现全新的编程范式。
这3种方式中,第一种实现难度低且可以借用原语言生态,但同时对原语言的依赖过高。第三种方式实现难度太高,近几十年来并未出现新的成功的编程范式,且实现后其生态构建和推广难度都较大。
综上,我们选择采用第2种方式,具体的设计构成如下:
1、语言核心参考Lisp语言。 Lisp被称为实现编程语言的语言,其极简的语言内核,非常便于实现。这样可以使得青语言的核心语言实现十分简介,方便开源开发者参与和推动语言核心的发展。
2、语法上参考JavaScript语言。 JS编程语言语法非常简单,其最初设计也是Lisp核心,因此实现起来非常容易。对于使用者来说,需要掌握的概念少,可以很容易地学习和使用。
3、使用C#开发,运行在.Net平台上。 目前.Net平台可以说是最开放、跨平台兼容最好的编程语言之一,且本身有良好的语言生态可以借用。基于.Net平台可以使青语言具备是否良好的跨平台兼容性,同时可以方便地扩展其功能。
4、目前使用动态链接库DLL的方式扩展功能。 青语言提供简单的C#原生功能的封装方法,开发者可以通过参照示例项目,将需要的功能封装成为单个DLL文件,可以方便地分享和使用。
目前,我们已经实现了青语言的语言核心,也实现了诸如音频播放、GUI、机器学习功能的简单封装。未来我们希望通过开源社区的助力,进一步扩展青语言的功能,构建良好的语言生态。
除了语言本身和扩展功能的开发外,语言的发展还离不开丰富和优质的文档支持,所以我们也希望社区能够进一步补充青语言的教程、使用文档、代码示例等文档内容。
路在脚下,愿你我同行,迈向崭新世界。