偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python十年開發(fā)者倒戈Rust!只因Claude Code擅長(zhǎng)靜態(tài)類型語言?Rust老炮圍攻:AI寫的Rust代碼出奇的差!

原創(chuàng) 精選
人工智能
“雖然 AI 寫不好 Rust,但如果讓它從零生成可用且優(yōu)雅的 Python 代碼,它反而挺不錯(cuò)的。順便說一句,我并不精通 Python?!?/div>

編輯 | 伊風(fēng)

AI 會(huì)有自己的編程偏好嗎?

如果問 Claude Code “最偉大的編程語言”是什么,它又會(huì)怎么回答呢?

今天,Hacker News 上一篇技術(shù)博客引發(fā)了熱烈討論。作者結(jié)論相當(dāng)直接:靜態(tài)類型語言更適合“Vibe Coding”。

圖片圖片

自從 Claude Code 上線后,這位作者改變了自己十多年依賴 Python 開發(fā)的習(xí)慣。

轉(zhuǎn)而頻繁使用自己并不十分熟悉的 Rust 等強(qiáng)類型語言。

憑借 Claude Code 的功能和編譯器的安全檢查,他即使在并不熟悉的語言中,也能快速生成并驗(yàn)證數(shù)千行改動(dòng),而且?guī)缀醪黄茐姆€(wěn)定性。

他甚至預(yù)測(cè):

 在企業(yè)生產(chǎn)環(huán)境中,Python 的采用率將會(huì)下降——盡管我個(gè)人依舊很喜歡它。 

然而,這樣的結(jié)論在評(píng)論區(qū)卻遭到不少質(zhì)疑與反駁,尤其是在 Rust 這個(gè)熱門語言上的討論,更是針鋒相對(duì)。

接下來,我們就看看,作者是如何得出“AI IDE 更擅長(zhǎng)靜態(tài)類型語言”這一判斷的,而他的觀點(diǎn),又能否站得住腳?

1.因?yàn)?Claude Code,我轉(zhuǎn)向了 Rust——更快、更安全

作者說,在CC上線后,他超過 10 年的編程習(xí)慣發(fā)生了巨變。

Python 不再是他新項(xiàng)目的首選語言。

如今,他常常管理一些并不精通的語言項(xiàng)目——TypeScript、Rust 和 Go——而且運(yùn)行得相當(dāng)順利。

對(duì)他而言,這很反直覺:過去,他一直習(xí)慣用 Python 把項(xiàng)目“Vibe”出來。

而在 AI IDE 的加持下,他逐漸發(fā)現(xiàn),靜態(tài)類型、編譯型語言在 vibecoding 中反而更適合,因?yàn)樗鼈兲峁┝烁鼜?qiáng)的安全性保障。

當(dāng)項(xiàng)目規(guī)模達(dá)到一定程度后,Claude Code 搭配 Rust 反而比搭配 Python 更快、更安全——哪怕 Rust 的代碼更底層。這完全得益于 AI 工具的加入。

他舉了個(gè)例子:在 TextCortex 重構(gòu)大量 TypeScript 前端代碼時(shí),Claude Code 會(huì)在完成每個(gè)任務(wù)后自動(dòng)運(yùn)行 tsc,確保代碼編譯通過才提交。這樣的工作流,讓他的效率遠(yuǎn)超使用 Python——畢竟 Python 并沒有編譯期的安全網(wǎng)。更讓他驚訝的是,那些在短短幾小時(shí)內(nèi)提交的 3-5k 行改動(dòng),不僅沒有破壞系統(tǒng),反而提升了穩(wěn)定性。

“大語言模型依然是‘有泄漏的抽象(leaky abstractions)’,”作者寫道,“但它們現(xiàn)在已經(jīng)足夠成熟,既能保留過去 Python 的快速原型開發(fā)體驗(yàn),又能避免 Python 在安全性、性能、語義清晰度上的短板?!?/p>

他甚至預(yù)測(cè),未來生產(chǎn)環(huán)境里,Python 可能會(huì)被包括 Rust 在內(nèi)的強(qiáng)類型語言擠壓。

的確,Rust 擁有內(nèi)存安全、零成本抽象、強(qiáng)類型和編譯期檢查等特性,但作者的個(gè)人體驗(yàn),未必能代表大多數(shù)開發(fā)者的現(xiàn)實(shí)感受。

2.網(wǎng)友質(zhì)疑:大模型在生成 Rust 代碼上是出了名的差!

在評(píng)論區(qū),不少有 Rust 經(jīng)驗(yàn)的開發(fā)者對(duì)“更快、更安全”的說法表示質(zhì)疑,甚至給出了完全相反的故事。

許多網(wǎng)友認(rèn)為,AI 生成的 Rust 代碼質(zhì)量堪憂——即便能編譯通過,也常常低效、臃腫、不優(yōu)雅。

“這和我用 Claude 寫 Rust 的體驗(yàn)完全不符。我有 2.5 年的 Rust 商業(yè)開發(fā)經(jīng)驗(yàn),水平不差。Claude 會(huì)在 Rust 代碼上產(chǎn)生幻覺,因?yàn)樗墙y(tǒng)計(jì)模型,而不是靜態(tài)分析工具。即便寫出能編譯的代碼,這些代碼通常也低效、難看?!?/p>

圖片圖片

造成這種現(xiàn)象的原因,當(dāng)然也和 Rust 語言本身的特性密切相關(guān):

1)語義難度高

Rust 的內(nèi)存安全和所有權(quán)系統(tǒng)對(duì) LLM 來說理解門檻很高。

“我看到 LLM 在 Rust 上的主要困難,是理解語言語義——也就是編譯器靜態(tài)驗(yàn)證的那些規(guī)則。比如,它們會(huì)‘以為’存在 use-after-free 或 use-after-move 這種問題,但在安全的 Rust 中,這根本不可能發(fā)生,因?yàn)檎Z言本身保證了不會(huì)出現(xiàn)這種情況。

Rust 是為數(shù)不多真正做了新東西的語言,它的語義和 Go、TypeScript 的差異,比 Go 和 TypeScript 之間的差異大得多。我猜在 Haskell、OCaml、Prolog 這類語言中,LLM 的表現(xiàn)也會(huì)差不多?!?/p>

圖片圖片

2) 邊緣情況多,寫法不統(tǒng)一

Rust 的標(biāo)準(zhǔn)庫龐大、邊緣情況豐富,甚至還有不少“看似應(yīng)該存在但實(shí)際沒有”的特性,例如沒有沒有隱式類型轉(zhuǎn)換,沒有默認(rèn)的沒有默認(rèn)的“空值”/null等等。這些都容易讓 AI 生成錯(cuò)誤代碼。

大語言模型在生成 Rust 代碼上是出了名的差?!?Rust 本身坑很多、標(biāo)準(zhǔn)庫龐大且邊緣情況多,還有很多你以為應(yīng)該存在但其實(shí)不存在的東西。Rust 的寫法種類也很多,而不是像有些語言那樣只有一種慣用法。

3)訓(xùn)練數(shù)據(jù)劣勢(shì)

與 Java、Python 相比,Rust 在 LLM 訓(xùn)練語料中的高質(zhì)量代碼庫相對(duì)較少,這直接影響了模型的生成質(zhì)量。

一方面,Rust 誕生時(shí)間較短(2015 年穩(wěn)定版發(fā)布),成熟項(xiàng)目和大規(guī)模開源庫數(shù)量有限;另一方面,很多 Rust 代碼分布在較小的社區(qū)倉庫中,不像 Java/Python 那樣集中在大型開源項(xiàng)目和知名代碼平臺(tái),爬取難度也更高。

3.不過,這并不表示AI IDE不合適寫Rust

Rust 一直以高性能和內(nèi)存安全著稱,但學(xué)習(xí)曲線陡峭。

如今,Claude Code 等一類好用的 AI 編程工具,正在顯著降低 Rust 的上手門檻。

有網(wǎng)友指出,即便是相對(duì)小眾的語言(如 OCaml、Scala),在 AI 輔助下產(chǎn)出高質(zhì)量結(jié)果的時(shí)間和精力成本都大幅下降——雖然第一次生成幾乎不會(huì)完全正確,但修正和迭代的速度快了很多。

那么,如何利用 Rust 的特性找到適合 AI 輔助的用法?

一位開發(fā)者分享了自己的經(jīng)驗(yàn):

我用 Claude 寫 Rust 的結(jié)果還不錯(cuò)。我的提示語通常是這樣: “我有一個(gè)數(shù)據(jù)庫表 Foo,這是它的 DDL:<SQL>,幫我在 /v0/foo 創(chuàng)建 CRUD 接口;用和 Bar 相同的代碼風(fēng)格?!?我覺得它在模仿現(xiàn)有代碼風(fēng)格方面做得挺好。

原因在于,強(qiáng)類型語言在 AI 編碼中確實(shí)能形成更快的錯(cuò)誤定位與修復(fù)循環(huán)。

另一位網(wǎng)友補(bǔ)充:

“尤其是在 agentic coding 環(huán)境里。強(qiáng)類型/靜態(tài)類型語言配合良好的編譯器提示,能通過解析和類型檢查形成非??斓姆答佈h(huán),而如果配合像 Claude.md 這樣的規(guī)則文件,還能迭代得更快?!?/p>

4.寫在最后:AI并不能直接幫你上手不會(huì)的語言

為什么評(píng)論區(qū)有人說“AI 寫 Rust 出奇地差”,而作者卻有完全相反的體驗(yàn)?

一位網(wǎng)友給出了一個(gè)有趣的解釋——他借用了傳播學(xué)中的“媒介素養(yǎng)”概念:當(dāng)人們?cè)谀硞€(gè)領(lǐng)域是專家時(shí),他們能分辨信息源的好壞;但當(dāng)他們對(duì)主題不熟時(shí),往往會(huì)假設(shè)信息源至少是靠譜的。

他說,自己在用大語言模型做 Web 開發(fā)時(shí),也有和作者類似的感受:看起來 AI 的表現(xiàn)很不錯(cuò)——至少比自己手寫的“爛攤子”要好。但問題是,他其實(shí)沒有資格去判斷 AI 代碼的真正質(zhì)量?!?/p>

他說了一句很扎心的話:“我覺得,AI 的不少價(jià)值,都來自工程師以為自己有資格判斷它寫得好不好?!?/p>

這番話引起了不少共鳴。有人補(bǔ)充說:

 “雖然 AI 寫不好 Rust,但如果讓它從零生成可用且優(yōu)雅的 Python 代碼,它反而挺不錯(cuò)的。順便說一句,我并不精通 Python。”

那么,AI 最擅長(zhǎng)寫的,其實(shí)正是你不精通的語言?

在諷刺之余,這也提醒了我們:在 AI 時(shí)代,開發(fā)者的持續(xù)學(xué)習(xí)依然有意義——編程能力既無法被一鍵自動(dòng)化取代,也需要為所謂的“AI 編程神話”降降溫。

不過,像作者這樣,被 Claude Code 改變十年編程習(xí)慣的故事,未來只會(huì)越來越多。

你覺得 AI 更擅長(zhǎng)寫哪種語言?

你有被哪款 AI IDE 改變過編程習(xí)慣嗎?歡迎在評(píng)論區(qū)聊聊。

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2025-01-26 16:12:52

PythonRust開發(fā)

2023-05-25 09:44:37

谷歌開源

2024-06-04 10:49:05

Rust插件開發(fā)工具

2023-05-14 18:56:50

Rust數(shù)據(jù)類型

2024-01-18 15:24:06

Rust開發(fā)鴻蒙OH4.0

2021-12-16 20:12:37

后端開發(fā)Sentry

2024-06-27 11:08:45

2024-11-08 09:19:28

2023-05-29 16:25:59

Rust函數(shù)

2022-12-30 11:05:40

Rust代碼

2024-06-12 08:00:07

2021-03-23 14:50:16

編程語言Rust漏洞

2023-10-30 09:02:13

前端Rust

2021-02-24 07:42:34

PythonRust語言

2024-06-17 09:00:08

2016-04-20 11:08:57

代碼歷史新功能

2021-04-07 14:00:14

AndroidRust編程語言

2021-03-10 09:54:43

RustNuShell系統(tǒng)

2025-01-13 00:00:25

2022-09-16 07:40:17

CloudWeGo開源Rust
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)