本章涵蓋了
- AI 助?如何改變新程序員的學(xué)習(xí)?式
- 為什么編程永遠(yuǎn)不會(huì)再?樣了
- AI 助?如 Copilot 的?作原理
- Copilot 如何解決??級(jí)編程問(wèn)題
- AI 輔助編程的潛在危險(xiǎn)
在本章中,我們將討論人類如何與計(jì)算機(jī)進(jìn)行交流。我們將向您介紹您的 AI 助手 GitHub Copilot,這是一個(gè)使用人工智能(AI)幫助人們編寫(xiě)軟件的神奇工具。更重要的是,我們將向您展示 Copilot 如何幫助您學(xué)習(xí)編程。我們并不期望您之前已經(jīng)編寫(xiě)過(guò)任何程序。如果您已經(jīng)編寫(xiě)過(guò),請(qǐng)不要跳過(guò)本章,即使您已經(jīng)對(duì)編程有一些了解。每個(gè)人都需要知道,現(xiàn)在我們有了像 ChatGPT 和 Copilot 這樣的 AI 助手后,編寫(xiě)程序的方式有所不同,我們需要具備不同的有效編程技能。正如我們將看到的,我們還需要保持警惕,因?yàn)橛袝r(shí)像 ChatGPT 和 Copilot 這樣的工具會(huì)撒謊。
1.1 我們?nèi)绾闻c計(jì)算機(jī)交流
如果我們先請(qǐng)您閱讀并理解下面的代碼,您會(huì)感到高興嗎?
section .text
global _start
_start:
mov ecx, 10
mov eax, '0'
l1:
mov [num], eax
mov eax, 4
mov ebx, 1
push ecx
mov ecx, num
mov edx, 1
int 0x80
mov eax, [num]
inc eax
pop ecx
loop l1
mov eax, 1
int 0x80
section .bss
num resb 1
那個(gè)怪物打印出從 0 到 9 的數(shù)字。它是用匯編語(yǔ)言編寫(xiě)的,一種低級(jí)編程語(yǔ)言。正如你所看到的,低級(jí)編程語(yǔ)言并不是人類能夠輕松閱讀和編寫(xiě)的語(yǔ)言。它們是為計(jì)算機(jī)設(shè)計(jì)的,而不是為人類設(shè)計(jì)的。
沒(méi)有人愿意編寫(xiě)那樣的程序,但特別是在過(guò)去,有時(shí)是必要的。程序員可以使用它來(lái)準(zhǔn)確地定義他們希望計(jì)算機(jī)執(zhí)行的操作,甚至到每個(gè)指令的細(xì)節(jié)。這種控制水平是為了從性能較差的計(jì)算機(jī)中擠取出每一點(diǎn)性能而必需的。例如,1990年代電腦游戲中最需要速度的部分,如《毀滅戰(zhàn)士》和《地震》等,都是用類似前面的代碼示例中的匯編語(yǔ)言編寫(xiě)的。否則,根本不可能制作這些游戲。
1.1.1 使它變得稍微容易?些
好的,不再說(shuō)那個(gè)了。讓我們繼續(xù)吧。你會(huì)更喜歡閱讀下面的代碼嗎?
for num in range(0, 9):
print(num)
這段代碼是用 Python 語(yǔ)言編寫(xiě)的,這是現(xiàn)在許多程序員使用的語(yǔ)言。與低級(jí)語(yǔ)言匯編語(yǔ)言不同,Python 被認(rèn)為是一種高級(jí)語(yǔ)言,因?yàn)樗咏匀徽Z(yǔ)言。即使你還不了解 Python 代碼,你可能能猜到這個(gè)程序試圖做什么。第一行看起來(lái)是在處理從 0 到 9 的數(shù)字范圍。第二行正在打印一些東西。很難相信這個(gè)程序,就像匯編語(yǔ)言的怪物一樣,應(yīng)該打印從 0 到 9 的數(shù)字。不幸的是,它出了些問(wèn)題,實(shí)際上并沒(méi)有打印出從 0 到 9 的數(shù)字(而是打印出了 0 到 8)。
雖然這段代碼更接近英語(yǔ),但它并不是英語(yǔ)。它是一種編程語(yǔ)言,就像匯編語(yǔ)言一樣,有著特定的規(guī)則。就像前面的代碼一樣,對(duì)這些規(guī)則的細(xì)節(jié)誤解可能導(dǎo)致程序出錯(cuò)。
與計(jì)算機(jī)進(jìn)行自然語(yǔ)言交流是溝通的圣杯,比如使用英語(yǔ)。在過(guò)去的 70 年里,我們一直在使用各種編程語(yǔ)言與計(jì)算機(jī)交流,不是因?yàn)槲覀兿胍且驗(yàn)槲覀儽仨氝@樣做。計(jì)算機(jī)對(duì)于英語(yǔ)這樣的語(yǔ)言的變幻莫測(cè)和特殊性來(lái)說(shuō),簡(jiǎn)直沒(méi)有足夠的能力。我們的編程語(yǔ)言有所改進(jìn)——從符號(hào)混亂的匯編語(yǔ)言到 Python,例如——但它們?nèi)匀皇怯?jì)算機(jī)語(yǔ)言,而不是自然語(yǔ)言。這正在改變。
1.1.2 使其變得更加容易
使用 AI 助手,我們現(xiàn)在可以用英語(yǔ)提出我們想要的東西,并得到計(jì)算機(jī)代碼作為回應(yīng)。為了得到一個(gè)正確的 Python 程序,能夠打印出從 0 到 9 的數(shù)字,我們可以用普通的英語(yǔ)語(yǔ)言向我們的 AI 助手(Copilot)提問(wèn),就像這樣:
# Output the numbers from 0 to 9
Copilot 可能會(huì)通過(guò)生成類似以下內(nèi)容來(lái)回應(yīng)這個(gè)提示:
for i in range(10):
print(i)
與我們之前展示給你的例子不同,這段 Python 代碼實(shí)際上是可行的!
AI 編碼助手可以用來(lái)幫助人們編寫(xiě)代碼。在這本書(shū)中,我們將學(xué)習(xí)如何使用 Copilot 來(lái)為我們編寫(xiě)代碼。我們將用英語(yǔ)提出我們想要的內(nèi)容,然后我們將得到 Python 代碼的返回。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-815591.html
此外,我們將能夠?qū)?Copilot 作為我們工作流程的無(wú)縫一部分使用。沒(méi)有像 Copilot 這樣的工具,程序員通常會(huì)打開(kāi)兩個(gè)窗口:一個(gè)用來(lái)編寫(xiě)代碼,另一個(gè)用來(lái)詢文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-815591.html
到了這里,關(guān)于使用人工智能助手 Github Copilot 進(jìn)行編程 01的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!