🔥 分享: 正在写 <<Mojo 编程学习指南>> 在线教程. 欢迎阅读+贡献.

2023-09-13 11:56:08 +08:00
 akaHenry

如题:

Mojo 教程内容:

done:

in-progress:

todo:

Mojo 中文社区:

阅读提示:

PS:

1505 次点击
所在节点    分享创造
8 条回复
akaHenry
2023-09-13 12:10:29 +08:00
Mojo 教程, 内容截图:

iluolSNS
2023-09-13 13:52:13 +08:00
很棒 如果能打开就更好了
akaHenry
2023-09-13 15:54:51 +08:00
@iluolSNS #2 能打开呀?

需要梯子, 全局模式.
ZX576
2023-09-21 11:09:39 +08:00
昨天仔细看了 mojo 的介绍,看楼主在布道,有几个疑问能帮忙解答一下么?


> It should not be limited in its ability to introduce new keywords or grammar productions merely to maintain compatibility


我的理解是其实算是一门新的语言,python 程序员迁移仍然需要学习成本,考虑到很多地方借鉴了 rust 设计,所以推测学习成本还不低?


> We utilize CPython to run all existing Python 3 code without modification and use its runtime, unmodified, for full compatibility with the entire ecosystem


mojo 内置 Cpython 去支持 python 代码,可以理解为 mojo 并没有解决 python 的性能问题对吧?如果需要性能的领域,需要使用 mojo 语法进行实现


>We will provide a mechanical migration tool that provides very good compatibility for people who want to migrate code from Python to Mojo.


为 python 提速就是把 python 代码转为 mojo 代码?
akaHenry
2023-09-26 18:03:16 +08:00
@ZX576

1. 学习成本不高, chris 并不会增加太多新语法. 语法复杂度远小于 rust. 100% 兼容 python, 目前比 python 扩充的特性, 都比较符合直觉. 并不难理解.

2. 当前 mojo 执行 纯 python 代码 or import python lib 时, 会调用 cpython. (当前依赖 cpython, 未来会去掉依赖, 纯 mojo) 目前对 python codes or libs, 性能上, 应该没啥提升.(只是对齐 python 阶段, 未来 去除 cpython 依赖时, 会有提升. 画饼, 是个长期目标) 当前如果想提升性能, 是需要手动改写 python 代码到 mojo 来优化. 不过官方正在实现 python2mojo 工具(自动翻译), 估计很快就会发布. 到这个阶段, 即使不学 mojo, 只会 python 也能利用 mojo 来提升性能.(当成一个外挂)

3. 是的. 提升 python 性能, 需要转换为 mojo. 当前是手转, 可能比较快就会有工具自动转了.
ZX576
2023-09-27 17:49:44 +08:00
@akaHenry

感谢回答呀!

老实说 "工具自动转" 这一步存在太多变数了,我对此不是很乐观,想了一下中间存在的问题实在太多,个人猜测如果这个方向可行,rust 社区早应该做了,而不是折中搞一个 pyo3 出来。当然肯定是希望 mojo 大佬们能够搞出来这个转换器,社区苦 GIL 久矣!
akaHenry
2023-09-30 12:35:58 +08:00
@ZX576 和 rust 定位不一样. Mojo 是 Python 的超集. 性质如 TS vs JS 和 C vs C++.

你不会觉得 C 转 C++, JS 转到 TS 困难吧?

chris 过去在苹果, 搞过 Objective-C 转 Swift.

这不过是再搞一遍, 轻车熟路. 你要相信专业的编译器专家和语言专家. 不会比我们懂的少.
tntin
183 天前
欢迎加入和共创 https://mojocn.org

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/973338

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX