当前位置: 首页 > 科技观察

深度操作系统开源自研编程语言:Unilang

时间:2023-03-18 02:08:52 科技观察

深度操作系统发布了一种新的自研通用编程语言:Unilang,其资源库提供文档和解释器作为参考实现。deepin表示,桌面应用开发有很多选择,比如Qt、Electron、PySide、Flutter。但它们各有优缺点。据介绍,Unilang的目标是成为一种现代通用编程语言,可以有效灵活地开发桌面环境应用程序,并协调解决现有缺陷的新解决方案的语言部分。为了保持通用性,Unilang不提供内置的GUI功能,而是通过库提供相关的API。在目前的计划中,Unilang将支持基于Qt绑定的库,以桥接和过渡一些现有的桌面应用项目。Unilang的语言设计保持了足够的抽象能力和可扩展性,支持未来GUI框架的直接实现。此外,Unilang旨在在语言特性层面支持不同的应用开发场景,但原则上对这些场景保持中立。也就是说,Unilang可以同时支持服务端和客户端应用的开发,不需要用户转换思维范式,也不需要彻底改变语言使用习惯。以下内容引自官方介绍:表达能力:Unilang是一门图灵完备的通用计算语言。Unilang的创新语言特性有助于构建强大且易于使用的抽象。可重用性:Unilang对一流对象的强调使得几乎任何源程序组件都比平常更可重用——如果该语言的用户选择的话。可扩展:Unilang的基础语言和语言扩展的底层设计让开发者有机会以前所未有的方式平滑地改进现有语言的设计和实现并保持兼容性——而不是等待与语言设计者和实现者的交流和沟通。反馈。可扩展性:Unilang的资源管理模型和抽象能力,使得程序在不同计算资源平台上的性能默认自然一致,易于调整。多范式:Unilang的语言特性不需要用户被特定的语用范式所束缚——例如,没有副作用的限制需要定制纯函数式风格,或者隐式对象需要程序以面向对象的形式表达。灵活的抽象使得用户可以针对不同领域的设计方案,按需使用不同风格的实现。易用性:Unilang核心语言特性的极简设计使得上手相当容易。可扩展的特性和强大的抽象机制使得该语言保留了丰富的高级内容供开发者按需选择。合理的基础设计,使得不同内容的掌握不易出错,更易上手。专注:Unilang不是一种需要综合熟练掌握各种特性才能用好的语言——如果问题不是需要修改语言,语言的使用者应该能够更专注于解决语言之外的问题。Unilang主要特性核心语言特性实体特性存储和对象模型(C++-like)对象和值类(C++-like)First-classFunctions:CombinerFirst-classEnvironment:EnvironmentReferencesFirst-classReferences:ReferenceValuesEvaluationAlgorithms变量解析函数调用运行时支持动态类型检查动态加载和执行不依赖于GC不安全操作PTC(propertailcall)互操作性C++友好的对象模型CallUnilangcodeinC++FFI:callCandC++andothernativelanguagesModules...Library特性核心库变量绑定块范围列表算法模块机制...字符串数字算术运算输入/输出类型系统增强类型注释静态类型检查FFIAPIQt绑定...HelloWorld示例第一个程序:显示“Hello,world!”输出:你好,世界!本文转自OSCHINA标题:深度操作系统开源自研编程语言:Unilang地址:https://www.oschina.net/news/210746/deepin-unilang