知道自己可以创造任何东西,这种感觉很奇怪,我开始怀疑“软件开发人员采用人工智能的人员阶段”是否还有第七个阶段
第七阶段基本上就是黑客帝国中的这个场景……
你会深刻理解“你现在可以做任何事”,然后开始行动,因为它既可能又有趣,而且行动起来比自己解释要快得多。结果胜于雄辩。
有一种错误观点认为,人工智能会导致 SWE 的技能萎缩,并且没有学习潜力。
如果你只使用人工智能来“做”而不是“学习”,那你就错过了
–大卫·福勒
我从来没有写过编译器,但我一直想写一个,所以在过去的三个月里,我一直在通过在 while true 循环中运行 Claude(又名“ Ralph Wiggum ”)来编写编译器,并使用一个简单的提示:
嘿,你能给我设计一种像 Golang 那样的编程语言,但所有的词汇关键词都被交换,所以它们就是 Z 世代俚语吗?
为什么?我真的不知道。但它确实存在,而且能生成编译好的程序。在这段时间里,克劳德能够实现他想要的任何东西。
这门编程语言被称为“被诅咒的”。它被诅咒的地方在于它的词法结构,被诅咒的地方在于它的构建方式,被诅咒的地方在于它能够实现这一切,被诅咒的地方在于它是多么的廉价,被诅咒的地方在于我曾经无数次地咒骂过克劳德。
https://ift.tt/HDmR6bU
在过去的三个月里,克劳德一直在这个循环中奔跑,只有一个目标:
“给我制作一个 Gen-Z 编译器,你就可以实现任何你喜欢的东西。”
现已在以下网址提供:
该网站
源代码
包括什么?
克劳德认为合适的任何内容都可以添加。目前……
- 该编译器有两种模式:解释模式和编译模式。它能够通过 LLVM 在 Mac OS、Linux 和 Windows 上生成二进制文件。
- 有一些半完成的 VSCode、Emacs 和 Vim 编辑器扩展,以及 Treesitter 语法。
- 一大堆真正狂野且不完整的标准库包。
词汇结构
控制流:
ready
→如果otherwise
→否则bestie
→ 为了periodt
→ 当vibe_check
→ 开关mood
→ 情况basic
→ 默认
宣言:
vibe
→ 包装yeet
→ 导入slay
→ 函数sus
→ var
facts
→ const
be_like
→ 类型squad
→ 结构体
流量控制:
damn
→ 回归ghosted
→打破simp
→继续later
→ 推迟stan
→ 去flex
→ 范围
值和类型:
based
→ 真实cringe
→错误nah
→ 零normie
→ int
tea
→ 绳子drip
→ 浮lit
→ 布尔值ඞT
(Amogus) → 指向类型 T 的指针
评论:
fr fr
→ 行注释no cap...on god
→阻止评论
示例程序
这是 leetcode 104 – 二叉树的最大深度:
vibe main yeet "vibez" yeet "mathz" // LeetCode #104: Maximum Depth of Binary Tree 🌲 // Find the maximum depth (height) of a binary tree using ඞ pointers // Time: O(n), Space: O(h) where h is height struct TreeNode { sus val normie sus left ඞTreeNode sus right ඞTreeNode } slay max_depth(root ඞTreeNode) normie { ready (root == null) { damn 0 // Base case: empty tree has depth 0 } sus left_depth normie = max_depth(root.left) sus right_depth normie = max_depth(root.right) // Return 1 + max of left and right subtree depths damn 1 + mathz.max(left_depth, right_depth) } slay max_depth_iterative(root ඞTreeNode) normie { // BFS approach using queue - this hits different! 🚀 ready (root == null) { damn 0 } sus queue ඞTreeNode[] = []ඞTreeNode{} sus levels normie[] = []normie{} append(queue, root) append(levels, 1) sus max_level normie = 0 bestie (len(queue) > 0) { sus node ඞTreeNode = queue[0] sus level normie = levels[0] // Remove from front of queue collections.remove_first(queue) collections.remove_first(levels) max_level = mathz.max(max_level, level) ready (node.left != null) { append(queue, node.left) append(levels, level + 1) } ready (node.right != null) { append(queue, node.right) append(levels, level + 1) } } damn max_level } slay create_test_tree() ඞTreeNode { // Create tree: [3,9,20,null,null,15,7] // 3 // / \ // 9 20 // / \ // 15 7 sus root ඞTreeNode = &TreeNode{val: 3, left: null, right: null} root.left = &TreeNode{val: 9, left: null, right: null} root.right = &TreeNode{val: 20, left: null, right: null} root.right.left = &TreeNode{val: 15, left: null, right: null} root.right.right = &TreeNode{val: 7, left: null, right: null} damn root } slay create_skewed_tree() ඞTreeNode { // Create skewed tree for testing edge cases // 1 // \ // 2 // \ // 3 sus root ඞTreeNode = &TreeNode{val: 1, left: null, right: null} root.right = &TreeNode{val: 2, left: null, right: null} root.right.right = &TreeNode{val: 3, left: null, right: null} damn root } slay test_maximum_depth() { vibez.spill("=== 🌲 LeetCode #104: Maximum Depth of Binary Tree ===") // Test case 1: Balanced tree [3,9,20,null,null,15,7] sus root1 ඞTreeNode = create_test_tree() sus depth1_rec normie = max_depth(root1) sus depth1_iter normie = max_depth_iterative(root1) vibez.spill("Test 1 - Balanced tree:") vibez.spill("Expected depth: 3") vibez.spill("Recursive result:", depth1_rec) vibez.spill("Iterative result:", depth1_iter) // Test case 2: Empty tree sus root2 ඞTreeNode = null sus depth2 normie = max_depth(root2) vibez.spill("Test 2 - Empty tree:") vibez.spill("Expected depth: 0, Got:", depth2) // Test case 3: Single node [1] sus root3 ඞTreeNode = &TreeNode{val: 1, left: null, right: null} sus depth3 normie = max_depth(root3) vibez.spill("Test 3 - Single node:") vibez.spill("Expected depth: 1, Got:", depth3) // Test case 4: Skewed tree sus root4 ඞTreeNode = create_skewed_tree() sus depth4 normie = max_depth(root4) vibez.spill("Test 4 - Skewed tree:") vibez.spill("Expected depth: 3, Got:", depth4) vibez.spill("=== Maximum Depth Complete! Tree depth detection is sus-perfect ඞ🌲 ===") } slay main_character() { test_maximum_depth() }
如果这是你喜欢的混乱氛围,并且你想把它变成编程语言的狗狗币,请前往 GitHub 并使用以下提示运行更多 Claude 代码循环。
研究 specs/* 来学习编程语言。编写 cursed 标准库时要格外用心,因为 CURSED 编程语言不在你的训练数据集中,而且可能无效。想出一个将 XYZ 实现为 Markdown 的计划,然后付诸实践。
没有路线图;路线图是社区从现在开始决定要发布的内容。
目前,我几乎确信 cursed 中发现的任何问题都可以通过由熟练的操作员(即经验丰富的编译器人员,根据他们的专业知识进行调整,而不是让 Claude 无人看管地进行 Ralph 循环)运行更多 Ralph 循环来解决。还有很多问题需要修复,欢迎提交拉取请求。
智商最高的事情也许是智商最低的事情:循环运行代理。
LLM 可以增强开发人员已有的技能,使人们能够做他们尚不具备专业知识的事情。
成功的定义是,cursed 在 Stack Overflow 开发者调查中被评为“最受喜爱”或“最讨厌”的编程语言,并继续致力于引导用 cursed 编写的编译器。
很快在 Discord 上再见?- https://discord.gg/CRbJcKaGNT
网站
源代码
附言:社交
我循环运行了 Claude 3 个月,创建了一种全新的“GenZ”编程语言。
它被称为@cursedlang 。
v0.0.1 现已推出,网站已准备就绪。
详情如下! pic.twitter.com/Ku5kbWMRgR
— geoff (@GeoffreyHuntley) 2025年9月9日