写点什么

深度 deepin 开源自研编程语言 Unilang

  • 2022-09-20
    北京
  • 本文字数:963 字

    阅读完需:约 3 分钟

深度deepin开源自研编程语言 Unilang

近日,深度deepin正式公开了自研全新通用目的编程语言——Unilang,包括相关的文档和一个解释器。

 

deepin 方面表示,虽然业界虽然已经有了很多较为成熟的桌面应用开发方案,例如 Qt、Electron、PySide 和 Flutter 等,但各个方案均有着各自的痛点,没有任何一种现有方案能兼顾各种不同的问题,而成为没有疑义、众望所归的桌面开发首选方案。

 

造成这种局面的一个技术理由是,许多方案设计过于专注具体需求而缺乏考虑语言长期演进的普遍因素,使其在预期目标领域之外的适用性急剧下降,通用性不足。当应用领域和预期略有偏差或暴露原有设计的局限性时,用户即便懂得如何改进一个语言,也会在语言二次开发上遇到困难,从而被迫放弃。

 

因此,deepin 希望有一种语言可以尽快解决各个方案中存在的痛点,能极大程度帮助到因语言二次开发遇到困难而被迫放弃的开发者,以更深刻的方式、真正实现“通用性”。

 

于是在 2020 年 4 月,deepin 决定开发“自己的语言”,进一步往上做 GUI 框架;2020 年 6 月,经调研分析后,deepin 创建 Unilang 仓库,提交了第一行代码;2021 年 3 月,deepin 基本实现了 2020 年决定设计的主要特色内容,着手研究目标代码生成方案;今年 9 月,deepin 正式公开了全新的通用目的编程语言 Unilang。

 

根据官方介绍,Unilang 的主要特点包括:

 

  • 作为动态语言,提供相对其它语言更强的语言层次上的可扩展性。

  • 支持类似 C++ 的对象模型和(当前不被检查的)不安全所有权语义。

  • 不要求全局 GC ,同时语言的一个子集允许和 C++ 同等层次的“不安全”但能确保确定性的资源分配。

  • 支持正式意义上的 PTC ,而不需要用户程序内对栈溢出等未定义行为进行变通。

  • 使用隐式的潜在类型(latent typing) 而非显式的清单类型(manifest typing) 。

 

为了保持通用性,Unilang 不内建提供 GUI 功能,而通过库提供相关 API 。当前计划中,Unilang 将会支持基于 Qt 绑定的库,以便衔接过渡现有的一些桌面应用项目。Unilang 的语言设计保持足够的抽象能力和可扩展性,未来支持直接实现 GUI 框架。

 

另外,Unilang 在语言特性的层次上被设计为能支持不同的应用开发场景,但原则上对这些场景保持中立。这意味着,它可以同时支持服务端和客户端应用的开发,不需要用户切换思维范式或者大幅更改对语言的使用习惯。

 

更多资料:

https://github.com/linuxdeepin/unilang/blob/master/README.zh-CN.md

2022-09-20 15:003464

评论 2 条评论

发布
用户头像
谁用谁知道
2022-09-21 08:31 · 浙江
回复
用户头像
牛!去试试
2022-09-20 16:59 · 北京
回复
没有更多了
发现更多内容

测性能,拿周边|OceanBase 3.1.2 版邀你来玩

OceanBase 数据库

架构实战营:模块五作业

刘璐

【英雄大会】之谁说站在光里的才算英雄(上篇)

Anna

经历分享 作者 简介

架构训练营 模块五

Geek_16d2b8

架构训练营5期

“微博评论”的高性能、高可用架构设计

凌波微步

「架构实战营」

微博评论高性能计算架构设计

炎彬

「架构实战营」

【图解数据结构】树和二叉树全面总结

知心宝贝

二叉树 数据结构与算法 二叉树遍历 3月月更 树和二叉树

微博评论的高性能高可用计算架构设计

五月雨

架构实战营 「架构实战营」

深度强化学习的“丛林”大冒险

脑极体

SpringCloud-Feign

昊运

SpringCloud

如何设计信息安全领域的实时安全基线引擎

Apache Flink

大数据 flink 开源 编程 实时计算

透过荣耀耳机的三重“炼金术”,重识TWS行业

脑极体

discuz防止恶意注册!

喀拉峻

网络安全

Linux之ack命令

入门小站

Linux

微博评论-高性能高可用计算架构

邹玉麒

「架构实战营」

模块5作业

Mr小公熊

2月券商App行情刷新及交易体验报告,东方与安信升至领导者象限

博睿数据

“易+”开源 | 网易会议开源之移动端篇

网易云信

开发

“微博评论”的高性能高可用计算架构

张逃逃

模块五作业

Geek_ec866b

架构训练营

在线JSON转HTML工具

入门小站

工具

模块五 评论计算架构

Geek_28cf33

在线JSON转CSV格式文件工具

入门小站

工具

模块五作业

blazar

「架构实战营」

cdr2022新版本序列号功能详解

茶色酒

cdr2022

微博“发评论”高性能高可用计算架构

Fingal

#架构实战营

Flutter仿微信价值几个亿的页面

岛上码农

flutter ios开发 Android开发 移动端开发 3月月更

微博评论高性能高可用计算架构

石小天

「架构实战营」

海量非结构化数据副本难保护,焱融科技携手英方推出联合解决方案

焱融科技

云计算 分布式 云原生 高性能 文件存储

基于爬虫的测试自动化经验分享

FunTester

爬虫 性能测试 办公自动化 FunTester 测试自动化

设计微博系统中”微博评论“的高性能高可用计算架构

IT屠狗辈

架构实战营 微博评论架构实战

深度deepin开源自研编程语言 Unilang_文化 & 方法_褚杏娟_InfoQ精选文章