Mojo编程语言初次上手体验手记

2023-09-0920:10:20编程语言入门到精通Comments2,337 views字数 1989阅读模式

Mojo 是 Modular AI 公司开发的一种编程语言,专门面向 AI 设计文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

1. 准备工作

官方于9 月 8 日宣布,Mojo 现已开放本地下载运行,除了编译器之外,Mojo SDK 还包括一整套开发者和 IDE 工具,可以用于构建和迭代 Mojo 应用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

目前 Mojo 只支持 Linux 操作系统(主要支持 Ubuntu 发行版本),后续会添加 macOS 和 Windows 系统支持!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

  • 个人系统:WSL —— Ubuntu22.04LTS

Ubuntu 22.04换国内源 清华源 阿里源 中科大源 163源_ubuntu22阿里源_nudt_qxx的博客-CSDN博客文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

让Windows11的代理作用于wsl2,包含clash和v2ray - 知乎 (zhihu.com)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

需要代理!!!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

2. 开始安装

  • 使用谷歌账号或其他注册账号登录 Modular: AI development starts here
  • 本人一开始使用香港、新加坡节点得到了以下的网络错误,后来使用日本的节点得以成功安装,请谨慎选择相关代理节点!
    modular: error: http error: failed to reach URL [https://packages.modular.com/mojo/1.root.json](https://packages.modular.com/mojo/1.root.json) with cURL error SSL connect error -

    modular: error: invalid manifest: was not an object
Mojo编程语言初次上手体验手记
  • 进入Download Now 界面,选择对应的系统,依照指示进行安装(每个账号有着不同的MODULAR_AUTH)
Mojo编程语言初次上手体验手记
Mojo编程语言初次上手体验手记
  • 安装成功!
Mojo编程语言初次上手体验手记
  • 在开始 Coding 前设置相关的MODULAR_HOME 和 PATH 环境变量,因为默认使用bash,在终端输入:
 echo 'export MODULAR_HOME="$HOME/.modular"' >> ~/.bashrc
 echo 'export PATH="$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.bashrc
 source ~/.bashrc 

3. 编码尝试

  • 在 Vscode 中安装插件*Mojo *
  • 执行 mkdir Mojo 和touch hello.mojo, 在 Vscode 中打开该文件夹
  • 配置相关路径:
Mojo编程语言初次上手体验手记

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

{
    "mojo.modularHomePath": "/absolute/path/to/.modular"
}
  • 运行,在 Vscode 终端即可显示
fn main():
   print("Hello, world!")
Mojo编程语言初次上手体验手记

4. 体验感悟

  • 现代编程语言的既视感
fn swap(inout lhs: Int, inout rhs: Int):
   let tmp = lhs
   lhs = rhs
   rhs = tmp

fn main():
   var x = 42
   var y = 12
   print(x, y)
   swap(x, y)
   print(x, y)

42 12 12 42文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

  • Python 的超集
from python import Python

fn main():
   try:
      let np = Python.import_module("numpy")
      print(np.array([1, 2, 3]))
      print("Yes, it's fun!")
   except:
      print("No numpy")

[1 2 3] Yes, it's fun!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

  • 语法上的丰富
struct MyPair:
   var first: Int
   var second: Int

   fn __init__(inout self, first: Int, second: Int):
      self.first = first
      self.second = second

   fn dump(inout self):
      print(self.first, self.second)

fn main():
   var mine = MyPair(1, 2)
   mine.dump()

1 2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

  • 广泛吸收许多的程序语言设计思想,如 Rust 的所有权和借用检查
fn add(borrowed x: Int, borrowed y: Int) -> Int:
   return x + y

fn add_inout(inout x: Int, inout y: Int) -> Int:
   x += 1
   y += 1
   return x + y

fn main():
   let x = 1
   let y = 2
   let z = add(x, y)
   print("x = ", x)
   print("y = ", y)
   print("z = ", z)

   print("------------------")

   var a = 1
   var b = 2
   let c = add_inout(a, b)
   print("a = ", a)
   print("b = ", b)
   print("c = ", c)

x = 1 y = 2 z = 3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

a = 2 b = 3 c = 5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

5. 衷心展望

尽管还处于早期阶段,Mojo 这门语言已展现出非凡的潜力,其发展路线和设计思路都非常务实 ,又有足够专业的领导者和公司作为背景支撑,可以说是未来可期!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

作者:theRunCom文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/56104.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/56104.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定