能进来看这篇文章的,基本都是看到了Mojo铺天盖地的宣传的,这是一款为了适应未来发展而推出的一款AI计算的高性能编程语言,类似官网说的为AI开发者准备的编程语言:
如果仅仅如此,那未必能够获得如此关注,但它表示自己的性能超过python的68000倍,C++的5000倍:
因此有道理去跑一跑这个编程语言,看看上手情况。
本篇文章不研究Mojo底层如何,或者如何实现性能的优化,也不去对比python,是否真的有68000倍的性能提升,仅仅只是跑通Hello World的一个过程。
如果想要用Mojo开发产品的,可以直接看总结。
友情提示:部分内容需要特殊的上网技巧。
官网下载地址:Developer Console
当前时间2023年9月13日,Mojo仅支持在Linux的Ubuntu上进行运行开发,因此需要拥有一个Ubuntu的虚拟环境才可以进行开发。
很友好的情况是,Mojo官网已经介绍了如何在VS Code中来开发Mojo,未来Mojo会继续推出Windows和Mac环境的版本:
VS Code非常容易安装,直接百度搜索。
这里有传送门:Visual Studio Code - Code Editing. Redefined
在VS Code应用中心安装WSL,该插件支持我们本地安装一个虚拟系统:
安装WSL成功后,左侧工具栏会出现WSL的按钮,点击加号添加安装虚拟系统:
需要在搜索栏中找到Ubuntu 22.04。
由于我已经安装了,因此在搜索栏中并未出现Ubuntu 22.04,如果你没有安装,应该能轻易找到。
选中系统,出现右箭头,进入。
进入成功后,会发现在目录那已经空白了,需要我们打开一个文件夹目录:
此时如果有子用户账号则可以进入子用户账号,否则先进入home后创建子用户。
后面需要安装Mojo的VS Code插件,如果是root目录无法安装,所以需要一个子用户、子目录。
sudo adduser
终端中,输入adduser+空格+用户名来创建用户:
输入密码和信息:
sudo su
当左侧的信息变为你的用户名时,即为成功:
请使用root权限去创建子用户,不然还需要为子用户授权。
curl https://get.modular.com | MODULAR_AUTH=mut_5294445431ee41bc9d09693d273e88e3 sh -
这个过程会比较久,请耐心等待。
modular install mojo
这个安装比modular更加持久, 请更耐心地等待。
在安装Mojo的时候,你很有可能会卡在这个地方:
...
All done! ✨ ✨
1 file reformatted.
TEST: `mojo format`... OK
TEST: `mojo package`... OK
TEST: `mojo test_mandelbrot.mojo`... OK
TEST: `mojo test_python.mojo`... OK
目前笔者实验下来并没有很好的解决方案,可以看到在github的issues中也有相应的问题存在:[BETA]: "modular install mojo" hangs during testing phase · Issue #538 · modularml/mojo · GitHub
如果有大神知道这个问题的解决方案,请告知一下,我好及时修正。
安装完成后,打开Mojo插件的扩充配置:
在Mojo:Modular Home Path中填写modular的路径:
fn main():
print("Hello World!!")
点击运行:
本次运行时,也遇到了一些错误报告,目前也没有特别好的解决方案:
[16574:16574:20230913,140944.182520:ERROR exception_handler_server.cc:361] getsockopt: Invalid argument (22)
[16572:16572:20230913,140944.182786:ERROR socket.cc:153] unhandled cmsg 0, 0
Failed to initialize Crashpad. Crash reporting will not be available. Cause: crashpad failed to start handler
有意思的是,Mojo的文件后缀不仅仅可以是.mojo,也可以是.,以后的产品源码全部是.也是相当炸裂:
就目前阶段,或者是说近期,Mojo还不适合开发上线的产品,虽然它是python的超集,可以使用python的大部分库,但也如官方说的,要支持全部的python库还需要一定时间。
并且目前来讲支持的系统并不多,且很多的问题还没有完善的社区回答去解决,去开发产品还尚早。