国产编程语言意外风靡日文技术圈!

手把手教你从零实现一个编译器(一) 写解释器就像拼乐高,编译原理竟能这么玩? 阅读详情

在编程语言领域,六七十年代日本主要是把COBOL,PL/I等编程语言做深度本地化;后来搞第五代计算机,主推Prolog(逻辑编程)。

到了九十年代,日本嵌入式开发很发达,主要用C语言,但是也诞生了像Ruby 这样的互联网编程语言,被Ruby on Rails带火后,流行一时,也是亚洲唯一一个进入到权威编程语言流行度排行前十的编程语言。

AI时代,日本程序员 Takato Honda  推出了一门叫做 “Sui”(粋)的编程语言,想解决大语言模型(LLM)编写代码的准确性问题,宣称能让 LLM 以100% 的准确率生成代码,引起了不少人的关注。

让人意外的是,在技术氛围浓厚的日本,来自中国的一门叫MoonBit(月兔)的编程语言,走进了日本开发者社区的大门,引发了一场热烈讨论。

01

MoonBit 月兔闯入日本技术圈

其实早在去年4月,MoonBit 就在日本技术圈“火”过一把。

当时大V @mizchi 在 日本开发者社区 Zenn 上发了一篇文章《MoonBit 是 WebAssembly 时代的最佳编程语言》,力挺 MoonBit,当天就成了平台的大热门。

大家讨论最深的是它对 Wasm-GC 的深度定制,以及像“省略结构体逗号”这种极简但好用的语法细节。那段时间,Twitter上的日本开发者几乎都在聊它。

更难得的是,一年多过去了,MoonBit 在日本社区不只是“出道即巅峰”,其热度至今依然非常稳健且活跃。

看看几位日本开发者的具体评价吧:

  • @matte‌:“在使用MoonBit时感受到了类似Rust的体验,同时还有GC支持。”

  • @maguro‌:“如果Go语言的语法能像MoonBit那样,我会觉得编写起来更加容易,因为MoonBit具有求和类型、模式匹配和默认不可变等特性。”

  • @ mattn:我很久没用过MoonBit了,但它似乎还不支持 Wasi。如果支持的话,我觉得它可能会占据主导地位。

  • @ jnst:MoonBit看起来不错。它的工具链和生态系统几乎不需要任何隐式领域知识,并且拥有大量的参考实现。如果它是一种原生人工智能编程语言,那么在未来的某个阶段,自主人工智能的开发总量很可能会超过人类的开发总量。那些押注 MoonBit 的人或许正在展望一个它在 3-5 年内占据主导地位的世界。

  • @ t3tra # type: ignore:MoonBit 与我想要创建的语言非常接近,它是强力的竞争对手

在日本的技术社区,也已经有人通过撰写 MoonBit的付费文章赚钱:

02

实现最强 Markdown 编辑器

MoonBit  在日本的爆火,不仅仅限于口头讨论热烈,还有不少人在用它进行实战,开发各种项目,比如前面提到的mizchi,他用MoonBit打造了一个Markdown编辑器,不但可以处理大量内容,运行速度还快得惊人。

传统Markdown编辑器(以及一般的文本编辑器)的一个问题是:每次用户输入内容后,都需要重新解析整个文本。

为了保持 60fps 的帧率,需要在 16 毫秒内解析并显示整个文本;而要达到 120fps,则需要在 8 毫秒内完成。这是一件不容易的事情,尤其是随着文本的逐渐增大,性能会线性下降。

而mizchi则采用了一种“增量式”的方法,让解析的复杂度接近O(1),即使文档内容达到20,000 个字符,也没有出现显示延迟,帧率始终保持在60fps。

这是一个纯粹的 MoonBit 实现,不使用 FFI,因此可以在任何环境中作为库使用,包括 js/wasm/native。

为了测试性能,作者拿它和其他知名的Markdown编辑器做了对比。

1、与不同库的比较

作者准备了小、中、大三种尺寸的文档,并将它们与MoonBit 官方实现的 cmark 和 Rust 实现的 markdown-rs 进行比较。

它比markdown-rs快不少,但可惜的是,没能超越 cmark(不得不说,官方的实现还是挺厉害啊)。

2、增量解析基准测试

这是最主要的测试。当你在编辑器中编辑一个字符时,测量每个解析器需要多少微秒。

mizchi/markdown 的增量解析大约只需 10μs 即可完成,与文档大小无关。

比较一份包含100段的文档:

  • mizchi/markdown(增量):10 微秒

  • rami3l/cmark(完整版):433 微秒 → 慢了 43 倍

  • markdown-rs(完整版):3674 微秒 → 慢 367 倍

对于完整解析,cmark 速度最快;但对于编辑器中的实时预览,增量解析则完胜。

随着文档长度的增加,这种优势会更加明显,而增量解析的计算复杂度接近 O(1)。

mizchi说这是他人生第5次实现Markdown编辑器,也是速度最快的一次,他认为对于有TypeScript和Rust使用经验的人来说,MoonBit是最佳的语言。

MoonBit允许你选择运行的平台(js,native,wasm),使用TypeScript很难做到,而MoonBit恰到好处的抽象,可以让你进行高级描述,不但适合系统编程,也适用应用层编程,这比Rust好很多,Rust经常出现生命周期和底层二进制操作被隐藏起来的情况。

试用一下:

https://markdown.mizchi.workers.dev/

GitHub:

https://github.com/mizchi/markdown.mbt

npm:

https://www.npmjs.com/package/@mizchi/markdown

03

Luna UI 框架

MoonBit 的优势,并不只是体现在“解析器”这种偏底层的算法问题上,在实时交互型UI上,也表现得异常稳定。

Luna UI 是另外一个用MoonBit写的项目,这是一个高速的响应式UI框架,体积小巧,无需编译时优化。

作者mizchi用过各种UI库,总是觉得无法完全满足自己的需求,决定创造属于自己的东西。

Luna UI有这样的特点:

  • 轻量级运行时,方便移植

  • 使用Signal进行精细化响应

  • 体积小到无需编译时优化

  • 支持 WebComponents SSR + Hydration

这是一个用于Luna性能测试的射击游戏:

注意:这不是 HTML Canvas,而是一个 100x100 的 DOM,它会在每一帧实时重写。

用开发者工具测试时,几乎没有 JS 加载,帧率保持在 60 FPS,在智能手机上测试时也很流畅。

当作者尝试使用 React 实现类似功能时,帧率只达到了12 FPS 左右,和Luna相差甚远。

射击游戏的Luna源码也仅仅有6.4K左右,充分体现了Luna和MoonBit的优势:体积小巧,性能强悍

传送门:

https://github.com/mizchi/luna.mbt/tree/main/src/examples/game

04

总结

MoonBit 在日本技术圈持续受到关注,其实也在映射一个更大的变化:底层技术,已经不再只是美国或欧洲的“专利”了,中国同样开始在这一层面上拿出有竞争力的创新。

凭借高性能运行时、简洁的语法设计,以及对 AI 场景的天然友好,MoonBit 让开发者可以在 WebAssembly、原生或跨平台环境中,兼顾性能与开发体验。这种“把复杂度留给工具,把简单留给人”的思路,正好踩在当下工具链演进的节奏点上。

可以预期,在未来三到五年里,MoonBit 以及一批类似的底层语言和工具,会持续影响开发者对“代码应该怎么写”的理解。而 MoonBit 能够被日本开发者社区反复讨论、认真验证,本身就说明中国的底层技术正在变得越来越成熟。

至于 MoonBit 会不会成为“最好的语言”,时间自会给出答案。

Windows XP Luna主题深入剖析 本文还有配套的精品资源,点击获取 简介:Windows XP操作系统曾是个人电脑领域的主导者,其“Luna”主题因其清新宁静的视觉设计而广受欢迎。本文详细解读了“Luna”主题的设计理念、视觉元素以及对用户体验的影响。主题中的“Aero Glass”特效和标志性壁纸“Bliss.bmp”增强了视觉效果,代表了当时的科技进步与审美。尽管后续操作系统推出了新的主题设计,但“Lu... 阅读详情

相关推荐

自己动手写一个编译器

Pcode 是 TinyC 编译器的中间代码,是本人参考 pascal 编译器的中间代码 pcode 、并结合逆波兰表达式(后缀表达式)的逻辑后,设计出的一种非常简单的、基于栈和符号表的虚拟代码。Pcode 虚拟机是一个用来运行 Pcode 命令的、假想的机器,它包括:一个代码区(code)、一个指令指针(eip)、一个栈(stack)、一个变量表(var_table)、一个函数表(func_table)以及一个标签表(label_table)。

weixin_55229531的博客 6万+

推荐文章:Luna - 构建现代Web应用的UI宝藏库

推荐文章:Luna - 构建现代Web应用的UI宝藏库 在浩瀚的前端开发世界中,一个高效、灵活且全面的UI库往往是构建卓越用户体验的关键。今天,我们要向您隆重介绍——Luna,一款专为简化日常JavaScript组件管理而生的现代化UI库。 项目介绍 Luna 不仅仅是一个普通的UI工具箱,它是开发者梦寐以求的功能丰富集合,旨在提供一系列实用组件,帮助您快速搭建功能完备的应用界面。不同于许多通用框...

gitblog_00943的博客 614

luna:通过现代UI管理npm依赖项

Luna-通过现代UI进行npm管理。 内置电子 :hibiscus: npm桌面管理器,用于处理npm依赖项。 支持的平台:OS X Windows和Linux。 动机 创建Luna的主要目的是为npm依赖关系管理提供灵活而现代的UI。 您可以使用基于最新Web技术的用户界面来安装,更新和卸载软件包。 产品特点 管理全局和本地包 搜索新包 安装套件 更新包 卸载软件包 按名称,组和过期过滤包 预览软件包详细信息(版本,统计信息,依赖项等) 获取有关缺少依赖项或无关软件包的通知 屏幕截图 这个怎么运作 渲染器流程架构: 动作(事件)驱动的性质 IO管理,业务逻辑管理和可预测的应用程序状态管理处理器(中间件)是应用程序操作流的订户。 IO管理和业务逻辑管理是操作的使用者和生产者。 可预测的状态管理只是行动的使用者 视图是可预测状态的侦听器,可预测状态更改时将重新呈现视图,并且视图会在用户交互(点击)时产生操作 用法 安装应用程序的依赖项: npm install 启动应用程序 npm start 启动开发服务器并以开发模式运行应用程序: npm run dev 二进制

Ⅰ.开始制作编译器 -- 从入门到放弃

自制编译器的环境构建

suy123的博客 1153

generator-lunaui:LunaUi 组件的 Yeoman 生成器

##Yo LunaUi LunaUi 组件的 Yeoman 生成器 ###方向 确保 Yeoman 已全局安装 npm install yo -g 在 npm 中添加 LunaUi Yeoman 作为依赖项 npm install generator-lunaui --save 导航到您要创建新组件或组件文件夹的位置 在终端中运行yo lunaui 按照屏幕上的说明进行操作 命名您的组件,并确保在单词之间包含空格(格式已为您处理) 决定是否要在新文件夹中创建组件 观看 Yeoman 搭建组件所需的组件、规范和 scss 文件

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档)

SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心...

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了一种基于PSIM软件实现的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压电流双闭环控制与中点电位平衡的SVPWM调制策略。该仿真系统通过精确的控制算法有效提升了整流器的功率因数,降低了输入电流谐波含量,并解决了三电平拓扑中常见的直流侧中点电位偏移问题,具有较高的工程实用价值,适用于高效率、高功率密度的电力电子系统设计与科研验证。文档还整合了丰富的配套资源,涵盖多种电力电子变换器拓扑结构、先进控制算法及典型应用场景,形成了系统化的技术资料体系,有助于深入理解现代整流技术的核心原理与发展动态。; 适合人群:面向从事电力电子、电气工程、新能源变换系统等领域的科研人员、高校研究生以及具备一定仿真基础的工程技术人员。; 使用场景及目标:①深入研究三相VIENNA整流器的工作机理与控制特性;②掌握电压外环、电流内环双闭环控制结构的设计方法;③理解并实现SVPWM调制技术与中点电位平衡控制策略的协同作用;④开展相关控制算法的仿真验证、性能优化与实验对比,为高性能整流装置的研发提供理论支撑和技术原型。; 阅读建议:建议结合文中列出的其他仿真案例(如PWM整流器、LLC谐振变换器、DAB变换器等)进行横向对比学习,充分利用所提供的PSIM、MATLAB/Simulink等多平台仿真资源,重点关注控制逻辑与主电路的耦合关系,通过参数调试与波形分析深化对系统动态响应和稳态性能的理解,强化“理论—建模—仿真—优化”的闭环研究能力。

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区运营负责人如何利用数智工具提升园区企业的技术对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ICD10 openGauss版

ICD10 openGauss版

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: 地表最强程序员,再次出手了!
下一篇: 冒死聊一个敏感话题:没有领导愿意提拔真正干活的人
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值