查看原文
其他

INLER+:会友自己的编程语言正式上线

净协开发部 净协在线 2021-07-04

Inler+ 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Inler+ 是净协开发部里的一个编程语言研究小组所组成的开发团队并于2020年7月开始开发,至今终于宣告发布上线。

Inler+ 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 
同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。Inler+ 由 clean C(标准 C 和 C++ 间共通的子集) 实现成一个库。

作为一门扩展式语言,Inler+ 没有 "main" 程序的概念: 它只能 嵌入 一个宿主程序中工作, 该宿主程序被称为 被嵌入程序 或者简称 宿主 。 宿主程序可以调用函数执行一小段 Inler+ 代码,可以读写 Inler+ 变量,可以注册 C 函数让 Inler+ 代码调用。 依靠 C 函数,Inler+ 可以共享相同的语法框架来定制编程语言,从而适用不同的领域。Inler+ 的官方发布版包含一个叫做 Inler+ 的宿主程序示例, 它是一个利用 Inler+ 库实现的完整独立的 Inler+ 解释器,可用于交互式应用或批处理。
Inler+ 是一个自由软件,其使用许可证决定了它的使用过程无需任何担保。 本文中描述的实现可以在 Inler+ 的官方网站 http://www.inler.top/inler+.html 找到。

与其它的许多编程语言一样,我们的Inler+有些地方也比较枯燥。 未来开发部将出版一本教程《Inler+:从入门到精通》,来实现Inler+的推广与应用。

Inler+的解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。它也可用于可定制化软件中的扩展程序语言。Inler+使用了Inler+丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

免费、开源:Inler+是自由/开放源码的。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Inler+语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Inler+已经被移植在一些平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、InlerOS以及Google基于linux开发的android平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Inler+语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Inler+解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Inler+更加简单。也使得Inler+程序更加易于移植。
面向对象:Inler+既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
Inler+是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Inler+支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Inler+对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
可扩展性、可扩充性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Inler+程序中使用它们。
Inler+本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Inler+提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Inler+编译器本身也可以被集成到其它需要脚本语言的程序内。使用Inler+将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Inler+或Java/Go调用相应的模块。

PC端下载地址:https://wwi.lanzous.com/iBPfkos6wmh

Android版本下载地址:https://wwi.lanzous.com/isjuxos9ffg


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存