Prompt 语宙Prompt 语宙
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
Search
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2024 Prompt 语宙. HalfPX. All Rights Reserved.
阅读: 未来属于 Rust —— LLM 使编程语言学习曲线变平 [译]
Share
登陆
通知 阅读更多
Font Resizer字体
Font Resizer字体
Prompt 语宙Prompt 语宙
Search
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
已有帐户? 登陆
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2023 Prompt 语宙. Paooo.com. All Rights Reserved.
价值观之间存在权衡。易用性有利于推广,但可能会影响到可靠性。
Prompt 语宙 > 强化 AI 学习 > 未来属于 Rust —— LLM 使编程语言学习曲线变平 [译]
强化 AI 学习

未来属于 Rust —— LLM 使编程语言学习曲线变平 [译]

宝玉的分享
最近更新: 2024年4月8日 下午6:17
SHARE

未来属于 Rust

编程语言的易用性

在 /r/rust 论坛上,我常常看到这样的言论:

阅读目录
未来属于 Rust编程语言的易用性中阶教材问题使用大语言模型作为编程学习的助手没有挑战,学习会受阻?近端发展区未来属于 Rust

我学习 Rust 已经三个月了,现在回想我之前学习 C++ 的过程,我发现 Rust 显然更加困难。要想在 Rust 中高效编程,你需要掌握许多规则,包括但不限于:所有权(ownership)、借用检查(borrow checker)、cargo 工具、生命周期(lifetimes)、特性(traits)、泛型(generics)、闭包(closures)、不安全 Rust(unsafe Rust)等。

来源

很多编程语言在设计上追求易用性和快速上手,这种特性历史上让它们在被广泛采用上占有优势,因为对于初学者而言,这些语言确实更易学习。

比如,Python 是继 ABC 之后的语言,ABC 是专门为了教学目的而设计的。现在,大多数人都是从这类学习曲线较平缓的语言开始,然后在尝试学习像 Rust 这样学习曲线更陡峭的语言时感到困难。

为什么会这样?这是因为语言设计总是需要做出权衡。如果优先考虑的是学习的平缓性,那么语言的表达力、严谨性、性能和可维护性可能会有所牺牲。

价值观之间存在权衡。易用性有利于推广,但可能会影响到可靠性。
价值观之间存在权衡。易用性有利于推广,但可能会影响到可靠性。

而采取不同设计理念的语言,如 Rust、Kotlin、Ocaml 等,就面临着许多新手在学习它们时的挑战。学习的缓慢进度可能会让人感到害怕,甚至失去学习的动力,这只是初学阶段的问题。更加复杂的是,当你进入到中级阶段,开始尝试独立构建项目时,挑战会更大。

现在,得益于大语言模型(LLMs)的发展,这个陡峭学习曲线的问题已经变得容易解决了。 无论是 Rust、Haskell 还是其他任何语言,借助大语言模型的帮助,现在学习起来都更加容易。事实上,如果你在学习难懂的材料时没有利用大语言模型(LLMs)的帮助,那么你的学习方式可能不是最佳的。 至少这是我个人的看法。让我来解释一下。

中阶教材问题

译注:“中阶教材问题” (The Intermediate Material Problem) 是指在学习某个技能或领域时,在初级和高级阶段之间存在的一种学习难点。具体来说,在编程语言学习中,这个问题特别明显,尤其是对于像 Rust 这样的复杂语言。

在初级阶段,学习者通过教程和基础课程获得基本的知识和技能。这些资源通常都是易于理解和遵循的,目的是帮助初学者快速入门。然而,当学习者试图从基础过渡到更复杂的应用和项目时,他们常常发现可用的学习材料突然变得稀少并且难度很高。例如,在 Rust 编程中,学习者可能已经掌握了基本的语法和概念,但在尝试开发更复杂的系统(如光线追踪器)时,他们需要理解更高级的概念,比如所有权规则和内存管理,这些通常不在初级教程中详细讲解。

这种情况造成了一个“中阶教材”缺口,学习者必须依靠自己的努力和探索来克服这个难关,这通常包括阅读高级文档、参与社区讨论,甚至通过试错来解决具体的编程难题。这个阶段通常伴随着挫折和困惑,因为学习者不再有清晰的指导和步骤可循,而是需要自己摸索前进。

这个问题并不限于编程或技术领域。在许多学习曲线陡峭的领域中,从初学者过渡到熟练者的过程中都可能遇到类似的“中阶教材问题”。

设想你决定在下一个重大项目中使用 Rust – 你充满野心,打算开发一个光线追踪器 (ray tracer)。Rust 承诺的高速和安全性吸引了你,你通过一些教程和书籍已经成功掌握了其基础。但当你开始着手光线追踪器时,却遭遇了一道高墙。这就是所谓的 中阶教材问题,对于学习 Rust 来说,这是一个巨大的挑战。

在中级学习阶段,你需要理解大量材料,这些内容往往不在教程里,需要你自己去探索。
在中级学习阶段,你需要理解大量材料,这些内容往往不在教程里,需要你自己去探索。

从简单的 Rust 教程跳到复杂的图形渲染实现,差距非常大。你需要努力理解 Rust 的所有权规则 (ownership rules),解读编译器的错误信息,以及学会如何有效地管理内存。这不仅是编程的问题,更是如何用 Rust 的方式思考,而这需要克服陡峭的学习曲线。

这种挫败感是非常真实的 – 你清楚自己想要做什么,但从现在到达目标,就像在没有地图的迷宫中探路一样。这个阶段,从 Rust 的初学者成长为有能力构建光线追踪器的熟练开发者,是一个充满挑战和学习曲线的过程,许多 Rust 爱好者都会经历这个阶段。

这个 中阶教材问题 不仅仅存在于 Rust:它是许多复杂编程语言共有的体验。多年前,受到 Hacker News (HN) 的炒作影响,我决定学习 Haskell。读过几本书之后,我以为自己已经准备好开始一些真正的项目。但很快我就遇到了障碍。我经常遇到困难,不明白自己缺少什么,或为什么某些方法不起作用。感觉就像很多人都曾挣扎穿越这片迷惑的中间丛林,但每个人都必须找到自己的路径。Stack Overflow (一个编程问题解答网站) 虽有帮助,但反应慢,而我加入的一些 Slack (即时通讯平台) 社区则提供了更快的调试建议,但这整个过程都很漫长。

这就是所谓的陡峭学习曲线。它不是开始时的教程学习,而是当你离开教程,开始自己动手做项目,并遇到问题时的体验。

使用大语言模型作为编程学习的助手

在编程学习的中级阶段,我们常常遇到的一个挑战是,通过 Stack Overflow、邮件列表、论坛和 Reddit 等渠道获取反馈的速度过慢。但想象一下,如果你能在编程语言相关的子论坛上提出问题,并且几乎立刻就能得到答案,这会怎样改变你的学习过程?

试想一下,如果 Stack Overflow 能即刻回答每个问题,而不是简单地因为题目偏离主题而关闭它们。这种体验既有直接和朋友私聊时的即时性,又拥有专业社区邮件列表中的深度和广度。

在编程学习的中级阶段,ChatGPT 使这一切成为可能。

如果你在构建光线追踪器程序时遇到错误,直接问 ChatGPT。如果你不确定采取什么方法,就像在 Reddit 发帖一样表达你的想法,并向 GPT4、shell GPT 或 aider 寻求建议。虽然有时你可能会遇到它的知识极限并获得无用答案,但在中级阶段,你所提的大多数问题并非知识的边界,大语言模型会比你更了解这些内容。你需要的仅仅是一些指引。有时你不知道自己不知道什么,需要了解可能的问题和解决方案。ChatGPT 能迅速为你提供这些信息。

很多人没有意识到以这种方式使用 ChatGPT 的实用性,这令我感到惊讶。陶哲轩,当代最著名的数学家之一,就在使用 ChatGPT:

陶哲轩
陶哲轩

作为一个实验,我最近在解决方案出炉前,尝试使用 #GPT4 咨询我在 #MathOverflow 上发现的一个问题。

根据以往的经验,我知道不应该直接让 #AI 回答问题(那几乎肯定会导致毫无意义的回答),而是让它扮演合作者的角色,提供策略建议。

它最终提出了八种方法,其中一种(生成函数法)最终被证明是成功的方法。在这个特殊的案例中,我可能最终会尝试使用生成函数法,但它的建议还是有些许帮助(我最初考虑的是采用渐近分析法来获取直觉,但这证明是不必要的)。

我想分享我的经验,希望能激励其他人也去尝试类似的实验。

来源

如果 ChatGPT 能帮助陶哲轩探索 Diaconis-Graham 不等式的解决方案,那它同样能帮助你理解 Rust 中基础的生命周期编译错误。

以下是一些我在一个 Python 和 Rust 小项目中的个人实例,这就是 我所说的。

没有挑战,学习会受阻?

这种方式引发的一个现实问题不是大语言模型 (LLM) 是否足够有助于你度过学习的中间阶段,而是它是否会妨碍学习过程。当我遇到问题并咨询 ChatGPT 时,它会提出一些解决方案,其中一个可能正是我需要的。但我担心如果没有它的帮助,我可能无法达到那个程度。难道 ChatGPT 正在使我的技能退化吗?如果我的目标是提高技能,那么 LLM 的协助是否在阻碍我的进步?

与普遍认为最佳学习来源于独立解决问题的观点相反,学习研究显示,在编程等复杂领域中,有指导的学习可能更有效果。

教育心理学家 John Sweller 指出,通过别人的引导来了解解决方案通常是学习的最佳方法,这比自己摸索更有效。大语言模型 (LLM),凭借其即时、情境化和对话式的帮助,在这方面表现卓越。

近端发展区

当中级学习者遇到难以理解的错误或知识空白时,向 ChatGPT 提出问题可以获得结构清晰的解释或逐步拆解这个问题。这不仅仅是解答问题,更重要的是揭示解决方案背后的逻辑和过程,明了其“为什么”和“如何”1。

近端发展区
近端发展区

有一个教育理论称为“近端发展区”。这是一片超越你目前技能的区域,在这里你需要外部帮助才能继续进步。LLMs 可以成为通往这一区域的桥梁,提供必要的辅助,帮助你突破个人能力的限制。

这种学习体验被称为“脚手架式学习”。你可以通过尝试超出自身能力范围的挑战、在遇到困难时寻求 LLM 的帮助,来缩小这个中间的差距。通过这种方式,你将能够完成超越你单独能力所及的任务。如果教育研究属实,这个过程将拓宽你独立完成任务的能力范围。这不是作弊,而是学习的过程。

试着挑战一些难题,并依赖 LLM 的帮助。通过合作学习,你将掌握超越当前界限的工具和技巧,并在新的领域中建立自信。

未来属于 Rust

让我们回到 Rust 和 Python 的对比:如果你是初次学习编程语言,那么不妨尝试 Python。但如果你像我曾经在构建 Haskell 网络服务时遇到难题,那么不妨再试一次。挑战难题,并在此过程中利用大语言模型来助你一臂之力。

现在,陡峭的学习曲线已经变得平缓许多!

试着做些事情,遇到障碍时寻找帮助,稍微回顾以确保你已经理解,然后再大胆前进。进入你的“邻近发展区”!

说到陶哲轩,他现在正在用 Lean,一种功能强大但颇为挑剔的定理证明工具,来形式化他的一些证明。你知道他是如何学习 Lean 的吗?

陶哲轩
陶哲轩

继续记录我的 Lean4 项目的进展。

GitHub Copilot 在结束简短论证时非常有用,虽然它提出的长篇建议通常不准确。但即便是错误的建议也帮我学习正确的语法。

GPT-4 在澄清 Lean 语法细节方面有一定帮助,还能为我提供一种将数学英语转换成 Lean 步骤的建议翻译。然而,它似乎在很大程度上受到了 Lean3 语法的影响,这可能是由于训练数据截止日期的原因。

来源

如果我们这个时代最杰出的数学家都在用 ChatGPT 来帮助他进行证明,那么你也没有理由不尝试。

用 Rust 制作点东西,用 Ocaml 制作点东西,用 Elixir 制作点东西。中间阶段的困难已经不是问题。你的编程伙伴会帮你跨过障碍,很快你将能够自己跳过这些障碍。大语言模型只会变得更强大。因此,即便是编程语言变得更加富有表达力和严谨,拥有更陡峭的学习曲线,我们仍然可以学会它们。未来的世界将属于 Rust。

未曾踏足的路径 [译]
我使用 Claude AI 编写原创、完整、类似人类风格文章的尝试 [译]
如何理解关于 OpenAI Q* 的流言 [译]
Mixtral 8x7B — 混合专家模型(Mixtral of Experts) [译]
使用视觉语言模型进行 PDF 检索 [译]
分享
Email 复制链接 打印
Share
上一篇 iPhone 上运行的 ChatGPT 应用。 为何有科学家不用 ChatGPT?他们这样说 [译]
下一篇 图 1: 智能体的自我提升与自我蒸馏过程。Bamboogle 自动评估,在 10 次运行中的平均准确率及其标准偏差,(%) ReST 与 ReAct 的交汇:多步推理大语言模型 (LLM) 智能体的自我进化之路 [译]
发表评价

发表评价 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Please select a rating!

Ad image
- 入群领取知识星球折扣卷, 仅剩99份 -
Ad imageAd image

最近更新

《人工智能君主制》(The A.I. Monarchy)
强化 AI 学习
AI 正在“扼杀”某些公司,却也让另一些公司蓬勃发展 ——让我们一起看看数据
强化 AI 学习
AI 作为引擎,人类作为方向盘
强化 AI 学习
DeepSeek 开源周第 6 天彩蛋 – DeepSeek-V3/R1 推理系统概览
强化 AI 学习

相关推荐

ong
强化 AI 学习

长故事概要:针对长视频问答的“概括后检索”方法 [译]

宝玉的分享
1次查看
x
强化 AI 学习

多面性:大语言模型的语言回音室 [译]

宝玉的分享
强化 AI 学习

Musk 收购一年后,X(原 Twitter)的各项指标都在下滑 [译]

宝玉的分享
强化 AI 学习

Crowdstrike 分析 [译]

宝玉的分享
/ Prompt 语宙 /

Experience the limitless creative possibilities of generative AI and unlock new levels of innovation.

Quick Link

  • Remaker AI
  • BGRemaker 抠图Hot
  • AIGC 工具
  • Prompt 咒语生成器
  • 去水印工具

Support

  • Contact
  • Blog
  • Complaint
  • Advertise

标签

3D AI AIGC AI人像 AI创作小助手 AI工具 AI换脸 AI海报设计 AI生成视频 AI绘画 AI视频 AI设计 app图标 chatgpt DALL-E3 excel GPT meta Midjourney openai Pika prompt runway SDXL stable diffusion UI设计 专业 丛林 乐高 人像 人物 光晕 动物 吉卜力 咒语 图标设计 圣诞 壁纸 女性 奶牛 实验室 宠物 客厅 室内设计 家居 局部重绘 展台 山景 帅哥 建筑 建筑设计 影谱科技 微摄影 怪物 提示词 摄影 教程 新闻 日本排放核污水 早报 星光 枯木 植物 模特 水果 泳池 海报 海报设计 清华大学 温馨的家 游戏 游戏美术 炫光 炫彩 玻璃 白茶花 矢量插画 研究报告 破碎 科幻 穿搭 窗 美食 背景 节日 芭比 花 花卉 茶园一角 草原 荷兰奶源 表情包 赛博朋克 超现实主义 软件 运动 金毛 风景 食物 香水
Prompt 语宙Prompt 语宙
Follow US
© 2009-2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

忘记密码