又一个新项目拿到融资了,7个亿!

Jack Cui

共 3883字,需浏览 8分钟

 · 2023-09-07

转自:OSC开源社区


大家好,我是 Jack。

今天聊聊最近比较火的两个编程语言。

一、Mojo

近日,Modular AI 公司宣布成功融资 1 亿美元(约 7.29 亿人民币),据称这是继去年 3000 万美元融资之后的第二轮融资。

Modular AI 称他们未来的愿景是通过 AI 引擎和 Mojo 为全球开发者提供 AI 基础设施。

Modular AI 是 Chris Lattner 和 Tim Davis 于 2022 年创立的公司,目标是自下而上重建全球 ML 基础设施。在这家新生的创业公司中,Chris Lattner 以 CEO 身份领导团队。

Chris Lattner 毕业于波特兰大学的计算机科学系,具有创建和领导多个知名大型项目的经验,其中包括 LLVM、Clang、MLIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。

从 2005 年 7 月到 2017 年 1 月间,他曾领导苹果的开发者工具部门,随后,曾短暂领导过特斯拉的自动驾驶团队。2017 年 8 月,Chris Lattner 在 Google Brain 团队领导了 TensorFlow 基础设施工作,包括一系列硬件支持(CPU、GPU、TPU),底层运行时和编程语言工作。

Mojo 是 Modular AI 公司开发的新编程语言,它结合了 Python 的易用性以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。另外,Mojo 能够利用 MLIR,使 Mojo 开发者能够利用向量、线程和 AI 硬件单元。根据测试,Mojo 比 Python 快 35000 倍。

Modular AI 公司公布融资消息后,有人认为 Python 遇到了劲敌,对于 AI 开发者来说,Mojo 甚至有可能会取代 Python。

对此,Chris Lattner 回应称:

Mojo 没有对 Python 造成威胁,它不仅提升了 Python 的地位,还为 Python 程序员提供了 “超能力”。

如果真的要说感到恐惧,那应该是 C++ 和其它难用加速器的语言。

接着他还补充道:“我是作为‘写了数百万行 C++ 代码’的过来人身份这样说的。”

目前 Mojo 编程语言仍处于 Beta 尝试阶段,Chris Lattner 表示它在未来几周内将会正式 GA。

Mojo 官网地址:

https://www.modular.com/mojo

二、MoonBit

由中国开发者团队创建的编程语言 MoonBit(月兔)最近登上了 Hacker News 头条。

根据介绍,MoonBit (月兔)专为云计算、边缘计算设计,是一个用于云计算和边缘计算的 WebAssembly 端到端编程语言工具链,集开发、编译、测试、部署于一体 —— 涵盖了通用程序语言设计、编译器、构建系统、IDE、部署工具等。在语言设计、编译器和构建系统上实现高度的垂直整合,为用户提供更佳的开发体验和性能,致力打造未来世界级的基础软件生态。

主要优势:

  • 生成与现有解决方案相比显著更小的 WASM 文件

  • 更高的运行时性能

  • 先进的编译时性能

  • 简单但实用的数据导向语言设计

MoonBit 目前处于 Pre-alpha 阶段,属于实验性质。

MoonBit 负责人张宏波称,MoonBit 编译器预计在 2024 年第二季度末达到 Beta 状态,到时将会正式公开。

示例代码:

用三种编程语言(MoonBit、Go 和 Rust)实现的 fib 函数:

// Moonbit
func fib(num : Int) -> Int {
  fn aux(n, acc1, acc2) {
    match n {
      0 => acc1
      1 => acc2
      _ => aux(n - 1, acc2, acc1 + acc2)
    }
  }

  aux(num, 0, 1)
}
// Go
func fib(n int) int {
  var aux func(n, acc1, acc2 int) int
  aux = func(n, acc1, acc2 int) int {
    switch n {
    case 0:
      return acc1
    case 1:
      return acc2
    default:
      return aux(n-1, acc2, acc1 + acc2)
    }
  }
  return aux(n, 01)
}
// Rust
fn fib(n: i32) -> i32 {
  fn aux(n: i32, acc1: i32, acc2: i32) -> i32 {
    match n {
      0 => acc1,
      1 => acc2,
      _ => aux(n - 1, acc2, acc1 + acc2),
    }
  }
  aux(n, 01)
}

基准测试结果:

项目地址:

https://github.com/moonbitlang/moonbit-docs

·················END·················

浏览 9239
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报