首场线下 MeetUp 精彩回顾来啦!
3月23日,MoonBit 的首场线下 MeetUp 如期而至,带来了一场关于国产软件新发展的探讨。这场活动汇集了五位行业内的知名专家,他们围绕国产基础软件的新发展,分享了四个充满洞见的主题。从技术创新到市场趋势到个人经历的分享,每一位嘉宾都带来了自己的故事和行业里的最新动态。
文末还有详细的回答环节。来吧,让我们一起往下看,看看这场 MeetUp 带给我们什么新鲜事儿!
张宏波首先介绍了本人的编程语言开发经历,从本科开始至今,他关注并投入函数式编程语言开发已有十几年了,曾担任 OCaml 的核心开发人员,主导创造 ReScript(前 BuckleScript )。
ReScript现在已经可以完全由社区来打理,进展活跃,这是一件值得终身自豪的事情。
我们在疫情前在维也纳召开过两次几百人的全球开发者大会,在美国也召开过一次,然后在南美,甚至还有 ReScript 的一些商业培训课程,我们有自己的书籍。
之后,收到 IDEA 研究院院长沈向洋的邀请,张宏波回到了深圳,成立了基础软件研究中心,并组建了 MoonBit 团队——一个国内独一无二,拥有丰富编程语言开发经验的团队。
我们想正儿八经做一些真正有人用的系统,而不是单纯地追求学术发表,这是我们最大的不一样。我们团队也非常年轻,是很聪明的一个团队。讲这些是给大家信心,MoonBit 是一个非常靠谱的事情。
在立项开始,MoonBit 便瞄准了 WebAssembly 这一新的标准指令集。张宏波解释道:
“作为一门编程语言要去让别人用,其实是很难的事情,我为什么不用一些已经非常成熟的 Java、 go 语言?WebAssembly,它是微软、谷歌在 17 年成立了一个新的跨平台、跨操作性的一个标准指令集。MoonBit 一开始就考虑如何适配 WebAssembly,可能会对一些已有的编程语言有一个降维打击的优势,对 WebAssembly 这个平台也感兴趣的话, MoonBit 希望成为你的 go to language。”
随着团队的成长,MoonBit 也不止步于一门编程语言,而是一个配备了自动调试功能和具有客户端 IDE 的编译平台。除了 WebAssembly 后端外,今年的发展计划还包括支持 JavaScript、JVM 和 Native 等多个后端。
在现场演示中,张宏波通过更改马里奥游戏代码逻辑,向大家展示了 MoonBit 实时 IDE 的编程效果。
对于MoonBit来说,生态系统的构建同样重要。
在今年年初,我们发布了 mooncakes.io 包管理系统,并在几周前开源了 MoonBit 标准库,收到了高质量的贡献。接下来,我们计划逐步开放构建系统和编译器,目标是明年发布兼容性保证的1.0版本。
在全民 AI 的热潮下,张宏波坦言,对于一向不追逐热点的编程语言工程师而言,这是一次几十年难遇的机会。然而,要在 AI 代码生成这一领域取得真正的突破,关键在于拥有一个深刻理解并能精确掌控代码及工具链的团队。MoonBit 在核心技术层面上的创新,包括基于开源 Rust n2 高度定制的构建系统、团队百分之百自主研发的编译器和静态分析工具。在 AI 领域,MoonBit 采用了开源的 llama.cpp,并正在探索使用 MoonBit 语言开发全 AI 交互的 IDE 功能。
然而,AI 代码生成技术在给人们带来震撼的同时,也暴露出了一些亟待解决的挑战,如安全性风险、幻觉问题以及需要创建更自然的 AI 与人的交互方式。为了解决安全性问题,MoonBit 通过采用安全的类型系统、Wasm 安全沙箱机制、死代码删除技术实现了快速静态分析能力,为代码提供了三重安全保障。
在幻觉问题上,MoonBit 采用了对形式化验证友好的函数式循环,并计划引入内置测试功能。通过对代码进行重采样和实时静态分析,实现对大模型幻觉的矫正。
在原生的 AI 人机交互方面,张宏波透露团队正在尝试使用 MoonBit 来写一个 AI 原生的IDE。
关于未来,张宏波表示:我们发自内心地希望 MoonBit 在未来可以成为世界级的编程语言以及配套的工具链。
Q&A
MoonBit 也能在 JVM 中运行吗?
MoonBit 计划支持 Wasm、JS、JVM 及 Native 平台。目前,已完成 Wasm 和 JS 平台的支持。我们计划于本年度 Q3 正式启动 JVM 与 Native 平台的支持工作。我们期待在年底前实现对这些多后端平台的全面支持。
想知道 MoonBit 支持 autodiff 么?
这个目前不支持,目前我们应该不会把 autodiff 作为语言特性,如果实现的话也应该是通过库的方式实现。
前端开发的话,有指引吗?
在未来的更新中,我们将引入对多后端技术的支持。随着社区生态的丰富,我们后续会根据大家的呼声给出具体的指引与文档。如果大家目前在前端开发中遇到任何问题,可以在论坛提问或者 GitHub 上提交 pr,我们会有专人进行解答。
如何看待这个观点【随着 AI 发展应用层编程语言将消失,只剩 “自然语言”】
未来编程语言背后的技术还是会存在。编程语言的生命周期很长,例如 Java 已存在几十年且预计将继续保持重要性,而像 Perl 这样的语言,尽管使用率下降,但由于其庞大社区和市场份额,衰退将很缓慢。大模型技术会促使不同编程语言逻辑表达越来越相似,未来的编程语言界限可能变得模糊而不是消失。
miniblink 适合 serverless 吗?能否解决其冷启动问题?
Miniblink 由于其轻量和快速启动的特性,理论上适合用于 Serverless 环境,可能有助于缓解冷启动问题。然而,实际效果取决于多种因素,包括应用场景、资源配置和优化措施。因此,在考虑将 Miniblink 集成到 Serverless 应用中时,建议进行充分的测试和评估。