首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深度 deepin 开源自研编程语言 Unilang

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

作者头像
深度学习与Python
发布于 2023-03-29 05:37:47
发布于 2023-03-29 05:37:47
5790
举报

作者 | 褚杏娟  

近日,深度 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

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

从一线研发到公司创始人,基础软件创业者迷雾中与市场赛跑

Azure CTO 呼吁不要使用 C/C++ 启动新项目,C++ 之父回应:你们这些高管就爱喜新厌旧

NGINX 局限太多,Cloudflare 最终放弃它并用 Rust 自研了全新替代品

CEO 们突然介入到 IT 建设, 企业纷纷迁出 VM 虚拟机基础设施

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度 deepin-IDE 正式亮相,全面开源,真正的完全自研!
deepin 社区正式官宣 deepin-IDE(深度集成开发环境)—— 由深度公司自主研发,具有多语言、跨平台兼容特性的轻量级集成开发环境。
好好学java
2023/11/07
4400
深度 deepin-IDE 正式亮相,全面开源,真正的完全自研!
中文编程不如英文香?今年诞生的这些国产编程语言表示不服
作者 | 柴树杉 回到 2018 年,突然就到了码农 35 岁面临下岗的年龄。为了缓解焦虑也喝了不少之前不屑一顾的鸡汤,没想到偶尔喝一些鸡汤也没有那么腻。在喝鸡汤过程中印象最深的一个概念是:从 25 岁 35 岁才工作 10 年,35 岁到 60 岁退休还有 25 年,职业生涯才刚刚走了 1/3 呢!另一个有感触的概念是工作是短期阶段性的、而职业是一生的。在这一年我才开始思考后半生的职业方向。 时间再往前推到大学期间,作为一个非计算机专业的半路出家人士,我对编程语言底层工作原理一直比较感兴趣。当时照着《编译
深度学习与Python
2023/03/29
1.4K0
中文编程不如英文香?今年诞生的这些国产编程语言表示不服
Star 4.1k!Gitee GVP开源项目!新一代桌面应用开发框架 ElectronEgg!
随着现代技术的快速升级迭代及发展,桌面应用开发已经变得越来越普及。然而对于非专业桌面应用开发工程师在面对这项任务时,可能会感到无从下手,甚至觉得这是一项困难的挑战。
Python兴趣圈
2023/12/11
7890
Star 4.1k!Gitee GVP开源项目!新一代桌面应用开发框架 ElectronEgg!
C#成为2023年度编程语言之王!
2023 TIOBE 年度编程语言正式揭晓,C# 在陪跑多年后首次斩获这一殊荣。TIOBE表示,C#在 Web 应用后端和游戏等领域变得持续流行,并开始蚕食 Java 的市场份额。然而在国内,C#的认知度却并不高。腾讯云开发者社区特邀国内 .Net 平台开发专家张善友,创作了这篇 C# 夺魁背后的解读文章,让我们一探究竟!读完全文还可以参加文末龙年红包封面抽奖活动哦!
腾讯云开发者
2024/01/09
2.1K0
C#成为2023年度编程语言之王!
​ubuntu touch: deepin pc os和deepin mobile os的天然融合
本文关键字:ubuntu touch as deepin mate os,second pc os
minlearn
2020/09/27
1.3K0
职场生存指南:颇具前景的五大编程语言
玲琅满目的编程语言,经常会让入门级开发人员身陷选择困难症。在本文中,我将从适用范围、职业道路和未来发展等方面,和您比较五种编程语言的各种特点,以方便您根据自己的兴趣,进行轻松的选择与学习。
Lemon黄
2019/11/27
1.3K0
Deepin V23,转正了
上个月,我安装了 Deepin OS,选择的是 V23 RC2 版本,详细情况可以参考我之前的文章《使用国产操作系统作为开发系统》。当时,我觉得既然已经是 RC2 版本,正式版应该很快就会发布。果然,没等多久,就在 2024 年 8 月 15 日,Deepin V23 正式版就发布了。我也在第一时间收到了系统更新提醒,升级之后,我的 Deepin 系统也顺利更新到了正式版。
云水木石
2025/01/23
1190
Deepin V23,转正了
第一编程语言?Java会一直牛逼下去?
链接:cnblogs.com/misterchaos/archive/2020/04/06/12650643.html
开发者技术前线
2020/11/24
1.2K0
第一编程语言?Java会一直牛逼下去?
最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?
本文绝非标题党,而是基于大量数据和为期两周的深入探究,在18年初,对IT行业的现状、趋势以及预测进行客观观察,让大家对编程语言有一个更清晰的认识,以选择最值得花费时间和精力的职业方向,为大家走向码农事业巅峰助攻。
IT阅读排行榜
2018/08/16
1.4K0
有小伙伴问:上位机用QT还是winform/wpf好?
QT是一个跨平台的开发框架,提供了丰富的GUI库和工具,可以用于开发各种类型的应用程序,包括上位机应用。它支持多种编程语言,如C++、Python和QML,具有强大的绘图和图形处理功能,适用于需要跨平台支持和高度定制化的应用开发。另一方面,WinForms和WPF是专为Windows平台设计的框架,提供了简单易用的可视化编辑工具和控件库,适合快速开发传统的Windows桌面应用程序。它们利用.NET平台的强大生态系统和C#编程语言,提供了丰富的第三方库和组件,适用于需要与.NET集成和充分利用其功能的项目。选择QT还是WinForms/WPF取决于具体需求,如跨平台支持、界面定制化、学习曲线和开发团队的技能和经验等因素。
郑子铭
2023/08/30
1.6K0
有小伙伴问:上位机用QT还是winform/wpf好?
QT6实战-QML与C++联合编程
Qt是1991年由HaavardNord和EirikChambe-Eng开发的跨平台C++图形用户界面应用程序开发框架。发展至今,它既可以开发GUI程序,也可以开发非GUI程序,比如控制台工具和服务器。Qt是一个跨平台的C++应用程序框架,支持Windows、Linux、MacOSX、Android、嵌入式系统等。也就是说,Qt可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。开发者只需要编写一次代码,而后在发布到不同平台之前重新编译即可。
小企鹅204415010
2024/05/14
8240
Qt widget vs Qt Quick
并不是说web语言不好, 我很喜欢web, 从一开始学习html到后来入坑nodejs可以说web领域给我带来了很多的见识同时还payed my bill, 但是w3c定义的html+css的这样一套GUI解决方案实在有很多坑(即使是mdn维护的ecmascript也有很多不尽如人意的地方), 比如浏览器的兼容地狱问题; CSS不够灵活; DOM的臃肿程度等等地方.
Jean
2018/11/04
8K0
八大可商用桌面客户端应用开发框架深度指南-优雅草卓伊凡
在数字化浪潮中,桌面应用在各个领域发挥着关键作用,从日常办公到专业设计,从娱乐游戏到工业控制,应用场景极为广泛。以热门游戏为例,《英雄联盟》基于Windows平台,运用DirectX技术进行图形渲染,自研网络同步技术确保全球对战稳定。《地下城与勇士》采用2D渲染与动画骨骼绑定技术构建独特画面,借助分布式架构和负载均衡技术应对大量玩家在线。《穿越火线》基于Windows平台,利用Direct3D技术逼真呈现枪战场景,构建高效网络协议保障对战实时性。不同的桌面应用场景对开发框架需求各异。作为优雅草技术总监,我(卓伊凡)在桌面应用开发领域经验丰富,对多个框架都进行过尝试与试用。以下为大家详细介绍八个值得推荐的商业化桌面应用开发框架及其优缺点。
卓伊凡
2025/04/13
6300
开发桌面应用,自然用 Electron !
可能很多读者会感到奇怪,本来是说 Electron,为什么一开始要提到 Node.js 和 JavaScript 呢?它们是什么关系呢?别急,听我慢慢道来。
CSDN技术头条
2019/03/08
4.9K0
开发桌面应用,自然用 Electron !
C++ 中文周刊 2024-01-26 第147期
RSS https://github.com/wanghenshui/cppweeklynews/releases.atom
王很水
2024/07/30
1940
C++ 中文周刊 2024-01-26 第147期
Crosswalk携手深度操作系统发布15版本
本文介绍了深度操作系统15版本,该版本在用户界面、系统底层、功能应用等方面进行了全面升级。在用户界面方面,深度操作系统15采用了全新的扁平化设计,带来了更加简洁美观的视觉效果;在系统底层方面,新版本对系统架构进行了优化,提升了系统的性能和稳定性;在功能应用方面,新版本增加了Crosswalk、深度商店、深度截图等全新功能,为用户提供了更加便捷、丰富的使用体验。
IMWeb前端团队
2018/01/08
1.2K0
Crosswalk携手深度操作系统发布15版本
2021 年,这8种编程语言最流行
怎样判断哪种编程语言最流行?正如要挑选最受欢迎的冰激凌一样,每个人都有自己的最爱。实际上,由于各种原因,不同的开发人员喜欢不同的编程语言,当你认为一种编程语言可能占主导地位时,一种新的编程语言出现了,或者一种老的语言与新的应用联系起来了。
庄闪闪
2021/04/09
1.1K0
Qt是什么?Qt简介(非常全面)
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
全栈程序员站长
2022/08/27
3.7K0
Qt是什么?Qt简介(非常全面)
猫头虎博主揭秘:令人叹为观止的编程语言与代码技巧 ‍
本文将深入探讨几种令人叹为观止的编程语言:Go, Python, Java, 和 C++。每种语言都有其独特的魔力和应用场景。我们还将分享一些惊人的代码技巧,以及这些技巧在实际开发中的应用。无论你是编程新手还是经验丰富的开发者,这篇文章都会带给你新的启发和惊喜。关键词包括:Go语言, Python, Java, C++, 编程技巧, 实战案例。
猫头虎
2024/04/08
2210
猫头虎博主揭秘:令人叹为观止的编程语言与代码技巧 ‍
C++和C#界面开发方式的全面对比
在桌面应用开发中,C++和C#是两种非常常用的编程语言,它们各自提供了多种用于开发用户界面的技术和框架。除了广为人知的MFC、Qt和WPF之外,还有其他一些选择。本文将详细介绍这些界面开发方式,并通过表格对比它们的优缺点,帮助开发者更好地选择适合自己的工具。
码事漫谈
2025/06/03
2310
C++和C#界面开发方式的全面对比
推荐阅读
相关推荐
深度 deepin-IDE 正式亮相,全面开源,真正的完全自研!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档