0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自研编程语言:Unilang 的语言设计

西西 来源:OSC开源社区 作者:OSC开源社区 2022-09-21 11:32 次阅读

deepin 宣布了自研的全新通用目的编程语言:Unilang,其仓库提供了文档和作为参考实现的解释器。 deepin 表示,目前桌面应用开发虽然有许多选项,例如 Qt、Electron、PySide 和 Flutter 等。但它们存在各自的优势和不足。 据介绍,Unilang 目标是成为一门现代的通用目的编程语言,能够有效、灵活地开发桌面环境应用,去统筹解决现有不足的新的方案中的语言部分。为了保持通用性,Unilang 不内建提供 GUI 功能,而通过库提供相关 API 。当前计划中,Unilang 将会支持基于 Qt 绑定的库,以便衔接过渡现有的一些桌面应用项目。Unilang 的语言设计保持足够的抽象能力和可扩展性,未来支持直接实现 GUI 框架。 此外,Unilang 在语言特性的层次上被设计为能支持不同的应用开发场景,但原则上对这些场景保持中立。也就是说,Unilang 可以同时支持服务端和客户端应用的开发,不需要用户切换思维范式或者大幅更改对语言的使用习惯。 以下内容引用自官方介绍:

表现力:Unilang 是图灵完备的通用计算语言。Unilang 的创新式的语言特性,有助于构建强大而易于使用的抽象。

可复用:Unilang 对一等对象 (first-class) 的强调使几乎任何源程序组件都更比往常意义上更容易复用 —— 只要语言的用户愿意。

可扩展:Unilang 的基础语言和语言扩展的底层设计使开发者能有机会以前所未有的方式平滑地改进现有语言的设计和实现并保持兼容 —— 而非等待和语言设计及实现者的沟通与反馈。

可伸缩:Unilang 的资源管理模型和抽象能力使程序在具有不同计算资源的平台上的表现默认自然地一致,且易于调整。

多泛型 (multi-paradigm) :Unilang 的语言特性不要求用户拘泥于具体的语用范型 —— 例如,不会限制副作用来要求习惯纯函数式的风格,或者要求隐含对象而要求程序按面向对象的形式进行表达。灵活的抽象使用户能够针对不同领域的设计方案按需使用不同风格的实现。

易用性:Unilang 的核心语言特性的极简设计使它的入门相当容易。而可扩展的特性和强大的抽象机制使语言保留了丰富的进阶内容,供开发者按需选择。合理的基础设计使不同内容的掌握不易出错而更易使用。

专注性:Unilang 不是一门需要面面俱到精通各种特性才能用好的语言 —— 如果问题不是需要修改语言,语言的用户就应能更集中注意力于解决语言之外的问题上。

Unilang 主要特性

  • 核心语言特性
  • C++ 友好的对象模型
  • 在 C++ 中调用 Unilang 代码
  • FFI :调用 C 和 C++ 等本机语言实现的模块
  • 动态类型检查
  • 动态加载和执行
  • 不依赖 GC
  • 不安全操作
  • PTC(proper tail call)
  • 变量解析
  • 函数调用
  • 存储和对象模型(类似 C++)
  • 对象和值类别(类似 C++)
  • 一等函数:合并子 (combiner)
  • 一等环境:环境引用
  • 一等引用:引用值
  • 实体特性
  • 求值算法
  • 运行时支持
  • 互操作
  • ……
  • 库特性
  • 类型标注
  • 静态类型检查
  • 变量绑定
  • 块作用域
  • 列表算法
  • 模块机制
  • ……
  • 核心库
  • 字符串
  • 数值算术操作
  • 输入 / 输出
  • 类型系统增强
  • FFI API
  • Qt 绑定
  • ……

Hello World 示例 第一个程序:

display "Hello, world!"
输出:
Hello, world!
编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1942

    浏览量

    34703
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6508

原文标题:深度deepin开源自研编程语言:Unilang

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    消息称华为编程语言仓颉,预计明年对外公布

    9 月 13 日消息 据博主 @长安数码君 爆料,从华为内部得知,华为正在编程语言,名为仓颉,并且该项目已经进行了很久,预计明年会向外公布具体细节,目前华为已经申请了不同种类的华为
    的头像 发表于 09-14 11:01 2760次阅读

    太强了!华为鸿蒙编程语言,行业大佬都已经偷偷学起来了

    华为开发者大会 2021(Together)上,Harmony OS 3 开发者预览版正式发布,华为鸿蒙又是一个历史性的进步啊,而且,华为还表示,将发布鸿蒙编程语言!!!
    发表于 10-25 16:53

    华为编程语言「仓颉」火了,已开启内测,成员辟谣:不是中文编程

    备受关注的华为编程语言「仓颉」,又火上热搜了。这次是因为「仓颉」正式开启了内测,目前已经有部分开发者拿到源代码。​前不久,华为编程
    发表于 04-02 14:43

    plc编程语言有几种_plc常用编程语言介绍

    PLC的编程语言与一般计算机语言相比具有明显的特点,它既不同于一般高级语言,也不同于一般汇编语言,它既要易于编写又要易于调试。目前,还没有一
    的头像 发表于 02-06 14:32 5.5w次阅读
    plc<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有几种_plc常用<b class='flag-5'>编程</b><b class='flag-5'>语言</b>介绍

    华为申请注册“仓颉语言”商标 编程语言

    ”商标,所涉及国际分类为科学仪器。 同时,以“仓颉”为关键字搜索发现,华为技术有限公司还申请注册了“华为仓颉”商标。 早在去年9月,就有博主爆料称,华为还在编程语言,名字定为“仓颉
    的头像 发表于 02-25 16:46 2128次阅读

    华为编程语言仓颉曝光

    企查查App显示,近日,华为技术有限公司申请注册“仓颉语言”商标,国际分类为42类,设计研究。
    的头像 发表于 02-25 17:38 7999次阅读

    PLC编程语言的国际标准 和C语言的区别

      PLC编程语言是工业控制领域内用于编写PLC程序的语言,旨在实现对工业设备和生产流程的自动化控制和监测。PLC编程语言包含多种
    发表于 03-17 17:13 5351次阅读

    基于PASCAL的高级编程语言——SCL编程语言

    根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST
    发表于 06-20 10:20 2269次阅读
    基于PASCAL的高级<b class='flag-5'>编程</b><b class='flag-5'>语言</b>——SCL<b class='flag-5'>编程</b><b class='flag-5'>语言</b>

    PLC编程语言的特点

    PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求
    的头像 发表于 07-04 17:13 966次阅读

    Python编程语言属于什么语言

    Python编程语言属于高级编程语言中的一种。它是一种通用、面向对象、解释型编程语言。Pytho
    的头像 发表于 11-22 14:31 1475次阅读

    脚本语言编程语言的区别

    脚本语言编程语言是计算机语言的两个主要分类。尽管两者都是用于编写计算机程序的工具,但它们在设计和运行方式上存在一些显著的区别。下面将详细探讨脚本
    的头像 发表于 11-22 14:33 2951次阅读

    PLC编程语言和C语言的区别

    在工业自动化和计算机编程领域中,PLC(可编程逻辑控制器)编程语言和C语言各自扮演着重要的角色。尽管两者都是
    的头像 发表于 06-14 17:11 2765次阅读

    华为仓颉编程语言引领全场景智能编程新纪元

    在科技飞速发展的今天,编程语言作为软件开发的基石,其创新与突破一直备受瞩目。近日,华为开发者大会论坛上传来了一则振奋人心的消息:华为的仓颉编程
    的头像 发表于 06-22 11:30 1016次阅读

    华为仓颉编程语言首次对外亮相

    在科技界的星辰大海中,华为再次展现了其深邃的探索精神和不懈的创新追求。在近日举行的华为开发者大会2024上,华为正式发布其的仓颉编程语言,这也是这款备受期待的
    的头像 发表于 06-24 15:11 826次阅读

    C语言与其他编程语言的比较

    C语言作为一种历史悠久的编程语言其诞生以来,一直在软件开发领域扮演着重要角色。它以其高效、灵活和可移植性强的特点,成为了系统级编程的首选
    的头像 发表于 10-29 17:30 254次阅读