deepin开发了一款借鉴lisp语法的编程语言unilang

感觉有点意思,国内设计新语言很少采用lisp风格吧

  1. 没必要,编程语言往往都是伴随着产业生产力需求而成长起来的,比如系统维护和人工智能的python,网络编程的golang,内存安全的rust,web编程规范的TypeScript, emacs hacking需求的lisp,没有哪种语言是凭空创建不解决实际问题可以长久发展的
  2. 图形方面也需要生态,大的Web JavaScript那么多前端轮子,小的Qt兼容各平台的多年细节打磨,一个人或者一个团队力量太有限,自己再厉害,无法形成生态合力,走不远也走不动
  3. 编程语言成功的只有在长期主义的开源社区或者有需求有资金支持的大公司才能持续烧的起,因为用新的编程语言重写库要有产业目标和大量资金,两者都没有,光做个语法糖语言,基于FFI做底层库绑定的工作,Python就很好,还不说基本现代语言都标配的JIT等苦力活

不看好,个人折腾鼓励,最差有个学习经验,开源社区支持也尚可,未来如何不知道,最起码人多抗的久。

一个都还在处于生存线的公司,不应该内心膨胀搞啥编程语言,除了浪费钱没有啥用。

11 个赞

作为一个企业,通过维护一门语言来解决工程问题的成本太高了,希望统信不要把自己骗进去。

3 个赞

这人不是传说中的“C++吧主”的一员吗 :rofl:

我看他写的一些笔记还挺不错的,以为他语言设计品味会不错,结果怎么来了个抄 Lisp 抄一半四不像 :rofl:


另外来个沸腾体(纯开玩笑,请勿过度解读):国产编程语言 Unilang 吊打 Carbon!谷歌傻眼了!


勘误1:看起来还抄了 kernel(看到了 $vau) https://web.cs.wpi.edu/~jshutt/kernel.html

1 个赞

结果怎么来了个抄 Lisp 抄一半四不像

你是现在才知道么 … 他自己一直在做语言啊,而且一直都很偏好 Kernel。

(而且你说的“C++吧主”不会是 cqw 吧 ←_←)

国内设计新语言很少采用lisp风格吧

我感觉这更像是 FrankHB 的个人设计,而不是“国内设计”。

Edit: 顺便我是从这个人知道这个语言的,而不是从 Deepin 或者其他什么渠道了解的。

网图

为啥不用 flutter 呢

几个月前 ot 群里有 deepin 员工说他们把帝球招进来了。

当时就觉得深度要搞编程语言,果然猜对了。

《 我不是编译器专家》

编程语言在前期一个人开发是有好处的,能够进行整体性的设计。

我听说过他在 deepin 做语言,不过不知道是 kernel 风格的。因为我觉得 Kernel 的 fexpr 还有他另外提到的 first-class environment 两者都是十分动态的特性,但是他又没有 GC,靠 RAII。观感上很不协调,不知道实际上会怎么样(毕竟 Rust 用个闭包已经比较难用了)

而且他一上来就列举现有 GUI 开发框架的优缺点,感觉是要为了 GUI 开发制定一个新语言的解决方案。但实际 GUI 开发里面各种对象的生命周期都是难以确定的,要用 GC(包括 RC)来维护对象存活,然后他把 GC 砍掉了……

cqw 那位更是重量级

我觉得造新语法上,Racket 的 rhombus 还是挺有想法的,他这个就是 Lisp 又涂涂改改了下,不知道目标受众了。

1 个赞

我说的是这个 YSLib/doc/NPL.txt at master · FrankHB/YSLib · GitHub ,你可以看一下这玩意的 History 有多长

注意到这里面“Kernel”的出现次数远远超过 Scheme 之类的,同样超过了 C++ (以及还有这种 typo: YSLib/doc/NPL.txt at 0619ccc328c8b2e9aa9b0670c61eae4727c5b576 · FrankHB/YSLib · GitHub

那一大段我看下来的意思好像并不是要针对 GUI 开发做语言,而是:我做一个可以随便扩展的底子,然后你们在上面做适合 GUI 开发的功能罢 …

我记得 QtWidgets 就是对象树,恰好文档里说打算先 Qt 凑合凑合

而且我觉得就 GUI 来说,库比语言更重要,但是很明显相对于搞库这球更喜欢折腾语言。然后你会发现他把好用的库跟各种语言特性扩展画在同一张饼上了

感觉就像那句高情商的话:相信后入的智慧

我不这么认为,你看 C++ Interop 就是伟大创新,被 Carbon 抄了去(狗头

这语法是够奇怪的,全是括号,但又不是lisp风格。不过国内开发语言,还是值得鼓励的,毕竟折腾才有进步的空间。公司层面那就是成王败寇了,如果成了也不失为一桩美谈,虽然难度很大。