10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后1天 了解详情
写点什么

深度 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:003840

评论 2 条评论

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

工作流智能体商用版:一款可自由搭建功能的 AI 系统

微擎应用市场

MySQL是怎么保证主备一致的?

不在线第一只蜗牛

MySQL 数据库

自定义策略检查助力自动化推理技术普及

qife122

AWS IAM 策略验证

【OceanBase Agent】告别繁琐手动分析,OceanBase Agent 助力轻松运维数据库!

老纪的技术唠嗑局

运维 agent 数据库 大数据

MT Photos图床部署详解:Docker搭建+贝锐花生壳内网穿透远程访问

科技热闻

分布漂移下的实时异常检测技术

qife122

机器学习 在线学习

如何把 Prometheus 告警规则导入夜莺

巴辉特

Prometheus 夜莺监控

爱测智能化软件测试平台

测试人

人才求职招聘小程序:高效连接人才与企业的智能平台

微擎应用市场

研发团队的投入策略:业务开发与效能度量的人力比例

思码逸研发效能

研发管理 研发效能 效能度量 研发效能管理 思码逸

小米开源声音理解模型 MiDashengLM-7B;Salient 融资 6000 万美元,专为消费贷款打造语音智能体丨日报

声网

Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统

极限实验室

Embedding openai easysearch

ADManager Plus:实现从员工账户创建到审计的全生命周期管理

运维有小邓

AD域 AD域管理 AD域组管理

Camtasia中文版免费下载教程,Camtasia2024最新版激活码密钥分享

凡凡不烦

录屏软件 视频编辑工具 Camtasia Studio2024 视频剪辑软件 屏幕截图视频录制软件

go学习笔记:panic是什么含义

不在线第一只蜗牛

Go 学习

MT Photos图床部署详解:Docker搭建+贝锐蒲公英异地组网远程访问

科技热闻

出海品牌的舆情监测风险类型与预警机制构建

沃观Wovision

沃观Wovision 舆情监测系统 海外舆情监测

搞懂这两个组件,Spring 配置问题少一半!

量贩潮汐·WholesaleTide

spring

MySQL是怎么保证数据不丢的?

量贩潮汐·WholesaleTide

MySQL 数据库

低代码 VS 全栈开发,2025年了,程序员到底该如何选择?

优秀

低代码 全栈开发

Electron桌面端开发安全性实践

inBuilder低代码平台

北京理工大学医工交叉教学实践分享(3)|如何搭建并利用AI教学助手实施教学

ModelWhale

AI教育 医工融合 北京理工大学

赛博威与Dify强强联合,构建全方位企业级AI Agent

赛博威科技

AI 赛博威 dify

碰碰贴加无人直播:助力商家高效经营的智能解决方案

微擎应用市场

昇腾赋能三维生成新突破!浙大团队实现跨模态可控3D CAD建模

极客天地

DataWorks千万级任务调度与全链路集成开发治理赋能智能驾驶技术突破

阿里云大数据AI技术

人工智能 数据库 大数据 数据处理 智能驾驶

低能离子束芯片编辑技术实现高效设计

qife122

芯片设计 硬件优化

MCP+LLM+Agent:企业AI落地的新基建设计

测试人

涛思数据亮相可信数据库大会,揭秘 TDengine 时序数据库如何赋能核电数字化转型

TDengine

tdengine 时序数据库 国产时序数据库

轻匠破产会议平台:微擎部署下的破产案件数字化解决方案

微擎应用市场

ArrayDeque双端队列--底层原理可视化

电子尖叫食人鱼

架构

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