Mojo初体验之Hello World

2023-10-10 19:40
文章标签 mojo hello world 初体验

本文主要是介绍Mojo初体验之Hello World,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

能进来看这篇文章的,基本都是看到了Mojo铺天盖地的宣传的,这是一款为了适应未来发展而推出的一款AI计算的高性能编程语言,类似官网说的为AI开发者准备的编程语言:

如果仅仅如此,那未必能够获得如此关注,但它表示自己的性能超过python的68000倍,C++的5000倍:

因此有道理去跑一跑这个编程语言,看看上手情况。

一、前言 

本篇文章不研究Mojo底层如何,或者如何实现性能的优化,也不去对比python,是否真的有68000倍的性能提升,仅仅只是跑通Hello World的一个过程。

如果想要用Mojo开发产品的,可以直接看总结。

二、安装Mojo 

友情提示:部分内容需要特殊的上网技巧。 

2.1 官网安装教程 

官网下载地址:Developer Console  

当前时间2023年9月13日,Mojo仅支持在Linux的Ubuntu上进行运行开发,因此需要拥有一个Ubuntu的虚拟环境才可以进行开发。

很友好的情况是,Mojo官网已经介绍了如何在VS Code中来开发Mojo,未来Mojo会继续推出Windows和Mac环境的版本:

2.2 安装VS Code 

VS Code非常容易安装,直接百度搜索。

这里有传送门:Visual Studio Code - Code Editing. Redefined 

  

2.3 VS Code安装WSL插件 

在VS Code应用中心安装WSL,该插件支持我们本地安装一个虚拟系统:

2.4 WSL安装Ubuntu 22.04

安装WSL成功后,左侧工具栏会出现WSL的按钮,点击加号添加安装虚拟系统: 

需要在搜索栏中找到Ubuntu 22.04。 

由于我已经安装了,因此在搜索栏中并未出现Ubuntu 22.04,如果你没有安装,应该能轻易找到。

2.5 进入Ubuntu 22.04

选中系统,出现右箭头,进入。

进入成功后,会发现在目录那已经空白了,需要我们打开一个文件夹目录:

此时如果有子用户账号则可以进入子用户账号,否则先进入home后创建子用户。

后面需要安装Mojo的VS Code插件,如果是root目录无法安装,所以需要一个子用户、子目录。 

2.5.1 创建子用户

第一步:打开终端

第二步:创建用户
sudo adduser <username>

终端中,输入adduser+空格+用户名来创建用户:

输入密码和信息:

第三步:切换用户
sudo su <username>

当左侧的信息变为你的用户名时,即为成功:

请使用root权限去创建子用户,不然还需要为子用户授权。 

2.6 安装modular

curl https://get.modular.com | MODULAR_AUTH=mut_5294445431ee41bc9d09693d273e88e3 sh -

这个过程会比较久,请耐心等待。

2.7 安装Mojo 

modular install mojo

这个安装比modular更加持久, 请更耐心地等待。

2.7.1 安装Mojo出现的问题

在安装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

如果有大神知道这个问题的解决方案,请告知一下,我好及时修正。

2.8 安装VS Code的Mojo插件

安装完成后,打开Mojo插件的扩充配置:

在Mojo:Modular Home Path中填写modular的路径:

三、编写Hello World程序

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库还需要一定时间。

并且目前来讲支持的系统并不多,且很多的问题还没有完善的社区回答去解决,去开发产品还尚早。

这篇关于Mojo初体验之Hello World的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/182654

相关文章

【Spring boot】编写代码及测试用例入门之 Hello Spring boot _踩坑记

先贴下目录: 这是我从 start.spring.io 里下载的依赖Web的模板 // DemoApplication.javapackage com.abloume.springboot.blog.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autocon

【JFinal】IDEA+maven上手JFinal之Hello World!

一、New Project 1、在 IDEA 环境下新建 Project 项目 2、选择创建 Maven 项目,并且不使用模板 3、输入 Maven 的 GroupId 和 ArtifactId 4、输入项目名称 二、将当前 Project 改为 POM 工程 将项目的 jfinal-web-demo 作为项目的 parent 工程,用于定义 maven 依赖包的版本信息、

CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法

论文分享简介 本推文主要介绍了CVPR 2024上的一篇论文《YOLO-World: Real-Time Open-Vocabulary Object Detection》,论文的第一作者为Tianheng Cheng和Lin Song,该论文提出了一种开放词汇目标检测的新方法,名为YOLO-World。论文通过引入视觉-语言建模和大规模预训练解决了传统YOLO检测器在固定词汇检测中的局限性。论

Node.js初体验 Kali安装Node.js

背景:偶然看到node.js开发微信公众号的视频,有些好奇,想要接触下。然后花了两个小时在实验楼网站上在线学习了JavaScript的基础知识,以及Node.js的基础 接着本着从实践出发的原则 先去本地kali下安装个Node.js玩玩 下载地址:https://nodejs.org/en/download/ 网页最下面有提示:Note: Python 2.6 or 2.7 is requ

hello,大家好。

由于最近工作变动,目前是从河北来到了广东。 顾不上写博客了,请大家谅解。 后续会慢慢的恢复正常的节奏,很感谢大家的关注。

Adobe After Effects的插件--------CC Particle World

CC Particle World是一个粒子效果器,用于在三维空间中生成和模拟各种粒子系统,包括火焰、雨、雪、爆炸、烟雾等等。它会自动随时间变化发射粒子。 本文部分参照 https://www.163.com/dy/article/IEJVDN760536FE6V.html 使用条件 使用该插件的图层需是2D图层。 我们新建一个纯色图层(也可以是其他类型图层),作为【效果控件载体图层】

java-在idea中antrl的hello world

java-在idea中antrl的hello world 1. 在idea中安装ANTLR V4的插件2. 下载ANTLR的jar包3. idea中创建普通的java项目4. 创建一个Hello.g4的文件5. 使用idea生产接口文件6. java创建一个类和main方法7. 调试输出8. 参考链接 1. 在idea中安装ANTLR V4的插件 路径如下,安装完成后重启ide

World of Warcraft [CLASSIC][80][Shushia][Molten Core][BOSS-5 Baron Geddon]

80级术士单杀[熔火之心]40人团队副本 [5号BOSS 迦顿男爵] BOSS技能①[点燃法力],每3秒燃烧400点法力值,实际上还附带400点伤害,持续5分钟 BOSS技能②[人体炸弹] :迦顿男爵会随机给一个人施放DEBUFF,被DEBUFF影响的人需要在最短时间内跑到远离人群的角落,等待炸弹爆炸。这个技能会造成3000+的伤害,并且会对周围一定范围内的玩家造成等量伤害,感觉我

html初体验标准标签

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><input type="text"></body></html> 内容展示