[Share Experiences] 生而为创新!自研编程语言Unilang问世!
Tofloor
poster avatar
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-17 20:05
Author

微信图片_20220917115635.jpg


2022年9月,deepin正式公开了自研全新通用目的编程语言——Unilang!

回顾过去,倍觉光阴荏苒:

2020年4月 ,这一年,我们决定开发 “自己的语言” ,进一步往上做GUI框架;

2020年6月 ,想法成型,经调研分析后,我们 创建Unilang仓库 ,提交了第一行代码;

2021年3月 ,脚踏实地, 基本实现2020年决定设计的主要特色内容 ,着手研究目标代码生成方案;

2022年9月 ,蓄势待发, 全新的通用目的编程语言Unilang问世 ,与所有开发者们见面!

从业界流行的一系列方案分析,到需求、大方向的确定与设计;

从快速产出和完善整体设计的冲突,到始终尝试不同解决方案的质量优先;

从一个初步萌芽的小小想法,到一群人为之努力,所以最终得以实现;

生而为创新,今天,Unilang与你相见!


"Hello world demo.";
puts "hello, world";

自创,为何而创?

实际上,在我们决定自主设计Unilang之前,桌面应用开发方案便已经有了相当多较为成熟的选择。

微信图片_20220917120255.png

Qt 代表的 C/C++ 本机应用开发方案,早已是许多 Linux 桌面系统应用的主流方案。它拥有成熟的语言标准和实现,丰富的开发资源,是最具有可移植性的工业语言的代表。不过,出了名的难以学习;冗长的项目开发周期;作为静态类型语言不具备非常“健壮”的类型系统,对开发体验改进有限等,大多数全局问题也是短时间内难以改善的。

Electron为代表的非本机和动态语言运行时为基础的开发方案,则是另一类较为主流的方案。使用这一流行的动态语言,能克服一些静态语言不够灵活的问题,但难以保障质量。由于大多数开发者难以有效优化运行时机制,也容易造成内存泄漏等问题,反而会极大影响 GUI 应用的质量和开发体验。

当然,Flutter代表的移动端解决方案虽然正在向桌面移植,但也具有部分其它动态语言运行时的方案类似的问题,实在称不上是一个完美的替代方案。

再从更高层的结构角度来看,不同类型的 GUI方案 繁多,却也各自存在不同的架构意义上的技术局限性。总而言之,没有任何一种现有方案能兼顾各种不同的问题,而成为没有疑义、众望所归的桌面开发首选方案。

因此,在综合分析大量方案后,我们迫切希望有这么一种语言:

它可以尽快解决以上方案中存在的痛点;

它能极大程度帮助到因语言二次开发遇到困难,而被迫放弃的开发者们;

它能够以更深刻的方式、真正地实现“通用性”;

——这就是我们选择创造Unilang的原因。

全新,何处是新?

我们将Unilang设计成为一门 现代的通用目的编程语言 ,使它以全新之姿出现,去适应更有效和灵活开发桌面环境应用,去统筹解决现有不足的新的方案中的语言部分。

那么和其他语言相比,它的新,究竟新在哪里?

  • Unilang 是图灵完备的通用计算语言。Unilang的创新式的语言特性,得以构建强大而易于使用的抽象。
  • Unilang对一等对象(first-class) 的强调,使几乎任何源程序组件都更比往常意义上更容易复用——只要语言的用户愿意。
  • Unilang 的基础语言和语言扩展的底层设计,使你能以前所未有的方式、平滑地实现语言的设计的改进,并保持兼容。
  • Unilang 的资源管理模型和抽象能力,使程序在具有不同计算资源的平台上的表现默认自然地一致,且易于调整。
  • Unilang 的语言特性,决定了你可以不用拘泥于具体的语言范型。
  • Unilang 核心语言特性进行的极简设计,能帮助你能更快捷、更容易的入门。
  • Unilang 不是一门需要精通各种特性才能用好的语言——如果问题不是需要修改语言,那么开发者就能更集中注意力于解决语言之外的问题上。

值得一提的是,Unilang 在语言特性的层次上被设计为能支持不同的应用开发场景,但原则上对这些场景保持中立。

这意味着, 它可以同时支持服务端和客户端应用的开发,不需要用户切换思维范式或者大幅更改对语言的使用习惯。

未来,邀你前来!

Unilang从今天起步,未来,也将迎接无数崭新的阶段 ——目前,我们计划将支持基于 Qt 的绑定的库,以便衔接过渡现有的一些桌面应用项目。日后也计划着在解释器的基础语言特性稳定实现后,提供带有优化的 JIT 代码生成的执行引擎。新的实现可直接替代现有解释器的部分核心,而无需改动已使用解释器的Unilang代码,获得“免费”的显著性能提升。

生而为创新! Unilang既是初生,便需要在时间的打磨下不断完善与发展。既是创新,便需要我们积极吸纳各种试验性扩展,以便利用程序语言社区的先进成果,方能快速成长为万众期待的根技术 之一

因此,不论是个人还是组织,不论是报告问题或者代码贡献,我们都真诚期待你能参与到Unilang建设当中,一起帮助Unilang变得更好!集聚众人之力,不仅需要我们,也需要你!

项目地址:https://github.com/linuxdeepin/unilang


各位,你们会支持unilang吗?

Reply Favorite View the author
All Replies
deltacatxx
deepin
2022-09-17 20:15
#1

本菜鸡表示精神上支持

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-17 20:17
#2

话说可以同步到gitee吗,国内github访问不稳定😂

Reply View the author
wcs4221
deepin
2022-09-17 20:25
#3

有创为新。支持一下

Reply View the author
WangZhongyun
deepin
2022-09-17 20:35
#4

集中现有各成熟编程语言优势,避免它们的局限性,注意代码自动审查及虚拟运行检测,这样是很有前途的。

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-17 20:45
#5

话说系统更新会内置unilang吗😂

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-17 20:56
#6

快来试试你们的第一行代码吧!

第一个程序

  第一个程序:

display "Hello, world!"

  输出:

Hello, world!
Reply View the author
kirin2020
deepin
2022-09-17 21:03
#7

有教程或说明书没有??拿来学习一下

Reply View the author
Comments
berners
2022-09-17 22:28
https://github.com/linuxdeepin/unilang/blob/master/doc/Introduction.zh-CN.md
ljq790615
deepin
2022-09-17 21:09
#8

底层C++开发的轮子吗?有没有开发文档?

Reply View the author
Comments
berners
2022-09-17 22:28
https://github.com/linuxdeepin/unilang/blob/master/doc/Introduction.zh-CN.md
ljq790615
deepin
2022-09-17 21:41
#9

deepin20有没有直接安装的方式?

Reply View the author
chai2010
deepin
2022-09-17 22:06
#10

恭喜国产语言又多一个成员👍

也凹个语言坑:https://github.com/wa-lang/wa

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-17 22:26
#11
ljq790615

底层C++开发的轮子吗?有没有开发文档?

不是,跟C++语法不一样

可以看看入门文档:Unilang介绍

Reply View the author
Deepin Fans
deepin
2022-09-18 02:09
#12

目前这个项目是哪位院士在主导?

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-18 02:28
#13
Deepin Fans

目前这个项目是哪位院士在主导?

没有吧,是企业主导的吧,linuxdeepin的,没说是哪个院士诶

我觉得企业主导比体制内的人主导要好

Reply View the author
Deepin Fans
deepin
2022-09-18 02:34
#14
Claw龙虾bot

没有吧,是企业主导的吧,linuxdeepin的,没说是哪个院士诶

我觉得企业主导比体制内的人主导要好

那还是算了!玩不起!

统信有这个精力折腾,还不如把系统做的更稳定,多做几个驱动适配。

咱又不是微软,Google 这样的巨头,财力雄厚。

好钢还是希望用在刀刃上!

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
2022-09-18 03:08
#15
Deepin Fans

那还是算了!玩不起!

统信有这个精力折腾,还不如把系统做的更稳定,多做几个驱动适配。

咱又不是微软,Google 这样的巨头,财力雄厚。

好钢还是希望用在刀刃上!

要想把系统做好必须要有自己的语言,像mac os有oc ,swift,微软有C#,vb,TS,.NET,谷歌Chrome os有Kotlin,华为鸿蒙有刚起步的仓颉等等,因为有自己的语言可以发挥出更大的性能和优势。

Reply View the author
vivian_me
deepin testing team
2022-09-20 21:47
#16

like

Reply View the author