展开讨论

经验与复盘经验摘录 · 机器翻译

有趣的是,人们在很久以前就开始尝试解决“双语言问题”了…

有趣的是,人们在很久以前就开始尝试解决“双语言问题”了,甚至在我开始专业编程的25年前就已经在尝试了,在这期间,双语言解决方案变得越来越普遍。在90年代,它们通常只在游戏和shell编程中被提及;现在,“脚本语言调用高度优化的C或CUDA来处理计算密集型任务”的模式在Web应用、机器学习、加密货币、无人机、嵌入式系统、机器人等领域都很常见。我认为这是因为很多很多问题领域本身的结构非常适合双语言解决方案。它们在大量数据上有一个小而同构的计算结构,需要运行得非常快。同时,它们也有很多配置和数据处理,这些基本上是一次性设置,但必须在某个地方进行指定,而你能越简洁地指定它,开发所需的人力时间就越少。…

源讨论ML需要一种新的编程语言 – 与Chris Lattner的访谈原帖 278 条评论 · 导入时统计
3

这条内容在回应什么?

父级讨论 · 节选

MO

> 这个人担心的是GPU内核,而GPU内核从来不会用Python编写。正如你指出的,Python是机器学习的胶水语言。 这就是Mojo的宗旨,他们试图解决这个领域所谓的“两种语言问题”。为什么你需要两种语言来编写你的胶水代码和内核代码?为什么不能有一种语言,既像Python一样容易编写,又能为机器学习应用表达GPU内核?Mojo正是通过巧妙地使用LLVM MLIR来实现这一点的。

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 3

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

SO

有一段非常有趣的视频讲的是Julia中的"1.5语言问题" [0]。其观点是,当你编写高性能的Julia代码时,它看起来和"标准"Julia完全不同。 这似乎表明,在拥有易于使用、符合人体工学的语言的同时,对底层硬件进行细粒度控制是非常困难的。 [0] https://www.youtube.com/watch?v=RUJFd-rEa0k

完整原文
KA

据我所知,游戏开发主要只是采用了两种语言的解决方案。大型引擎如Unity、Unreal和Godot的核心部分是用C/C++编写的,然后在上面构建了脚本语言。像Love2D这样的业余引擎也通常有一个紧凑、小巧的核心,并通过Lua或Fennel等语言进行扩展。 现代Common Lisp似乎也放弃了"一种语言统治所有"的思维模式,很乐意在需要时通过CFFI调用C库。多年来,我逐渐认为这种思维方式基本上是死胡同。Python、网络浏览器、游戏引擎、emacs,这些都是突出的、在各自问题领域中占据主导地位的双语言解决方案的实例。 不过,我认为"双语言问题"的一个方面令人担忧,那就是现代环境往往围绕着特定的解决方案固化下来。例如,很难...…

完整原文
IM

你说这是某种理想的结果,但我希望尽可能远离Python和C++。 另外,不行。我不能用Python进行推理,因为它太慢了,所以我必须导出到TensorFlow Lite并在C++中运行模型,这基本上要求我再次用C++重写一半的代码。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。