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

ChatGPT強悍的編程能力,讓我嚇出一身冷汗!

人工智能
ChatGPT確實很厲害,應該是學習了海量的數(shù)據(jù),肚子里貨很多,但是它依然沒有真正的理解需求,它告訴我們的答案就是在現(xiàn)有知識中做提煉和整合。

最近有好幾個人給我安利ChatGPT,說老劉快你去看看吧,這貨實在太強了,搞不好我們程序員都失業(yè)了。

剛開始我都是微微一笑,怎么可能?我之前的觀點一直都是在我的有生之年,AI絕對不可能干掉程序員。

但是安利的人實在是太多了,我忍不住要去注冊個賬號去看一下。

沒想到這貨竟然沒對中國開放,網(wǎng)上有些攻略,我嫌麻煩,趕緊呼叫在國外的好兄弟,請他幫忙注冊一個賬號。 

嘗試開始,我決定跳過那些簡單的問答,例如:

如何反轉一個字符串?

如何發(fā)起一個HTTP調用?

因為這種東西對于閱碼無數(shù)的AI來說太小兒科了,根本測試不出來它的本事有多大。

程序員的一個核心能力就是拿到需求,能作出優(yōu)雅的設計,咱們就拿這一點考考它。

先問一個簡單的問題:

圖片

(點擊看大圖)

不出所料,它“背誦”得非常好!

它說的最后一個原則是:盡量使用合成/聚合的方式,而不是繼承來達到復用目的。 這確實是面向對象一個重要的設計原則。

ChatGPT能運用這樣的原則嗎?

先問問它會不會做設計:

圖片

說得真不錯,咱們開始放大招,我手頭正好有一個經(jīng)典案例:薪水支付,這是從經(jīng)典書《敏捷軟件開發(fā):原則,模式和實踐》中提取出來的。 

這個案例的需求是這樣的:

該系統(tǒng)由一個公司數(shù)據(jù)庫以及和員工相關的數(shù)據(jù)組成,系統(tǒng)需要準時地按照規(guī)則給員工支付薪水

員工有三種類型

1.鐘點工,每個小時有固定報酬,他們每天提交工作時間卡,其中記錄了日期以及工作小時數(shù),如果每天工作超過8小時,按1.5倍進行支付。每周五對他們進行支付。

2.月薪員工,工資固定,每個月的最后一個工作日對他們進行支付

3.銷售人員,有固定工資,但會根據(jù)他們的銷售情況,支付給他們一定數(shù)量的傭金,他們會提交銷售憑條,其中記錄了銷售的日期和數(shù)量。每隔一周的周五對他們進行支付。

員工可以選擇支付方式,可以把支票郵寄到他們指定的郵政地址,也可以保存在財務那里隨時支取,或者要求直接存入他們指定的銀行賬戶。

看了這個需求以后,一般的設計是這樣的:

圖片

Employee 作為基類,不同類型的雇員類來繼承。

但是這個需求會有變更,客戶要求員工類型可以變更,例如從鐘點工變成月薪雇員,這樣上面的設計就不行了。

這個時候應該做個抽象,,用一個類PaymentClassification來表達支付分類,然后讓Employee類持有這個實例,簡單說就是組合代替繼承。

圖片

這相當于是個陷阱了,我們程序員能識別,抽象,這個ChatGPT可以嗎? 我還真有點好奇。

先問最初的需求,ChatGPT的回答是這樣的:

圖片

(點擊看大圖)

你別說,還真是不錯,它“理解”了需求,從中抽取出了名詞進行類的設計,并且設計好了類的繼承關系。

已經(jīng)達到了面向對象設計的初級水平。

接下來是重點,給他挖坑:

圖片

圖片

圖片

非常驚艷,這貨竟然學會了抽象!

雖然它抽象出的類型叫EmployeeType,不如PaymentClassification那么精確,但是大方向是一致的:用EmployeeType來管理支付規(guī)則,員工類型發(fā)生變化時,Employee類不需要變化。

說實話,我看到它給出這個結果,內心是很吃驚的,可以說,能超越相當多的程序員了。

接下來我又問它關于支付周期怎么處理:

圖片

這一次它的抽象更加厲害,直接給出了精確的名稱:PaymentSchedule,還有相關的偽代碼!

圖片

它還特別提到了,當需要修改支付周期時,只需要更改PaymentSchedule即可,不用修改原有的員工類,組合優(yōu)于繼承,再次體現(xiàn)出來。

這和書中的例子幾乎一樣了:

圖片

繼續(xù)問支付方法的處理方式:

圖片

不出所料,它的設計依然很棒:

圖片

實際上,ChatGPT的設計,已經(jīng)非常接近書中的最終方案了:

圖片

嘗試到這里,心里有一絲失落和不甘,這個ChatGPT實在是太強悍了,展示出來很強的設計能力,并且對話過程非常流暢。

人工智能真的能理解需求,學會了抽象,能設計出漂亮的類結構了嗎?程序員的核心能力被替代,程序員的危機真的來了?

我又問了它一個問題,讓它把類圖畫一下:

圖片

圖片

圖片

等等,這里的類名怎么和之前的不一樣了,怎么出現(xiàn)了一個新的概念:工會成員? 我在這次對話中,可是從來沒有告訴過它這個概念??!它從哪里知道的?

最大的可能是,這貨并沒有理解我告訴它的需求,它之前應該學過這個案例,依然是在“背誦”它學習的東西,自作主張把工會成員也給我弄出來了,從而露出了馬腳。 

我關掉了ChatGPT網(wǎng)站,再次登錄,重新用同樣的內容和它交互,這次的結果徹底地把它暴露了。

圖片

圖片

看到?jīng)]有,這次它根本沒有抽象出PaymentClassification/EmployeeType,它竟然推薦了面向過程的思路,添加一個type的屬性,用switch來解決問題。這比之前的方案要差太多了。

最后聊一下感受吧!ChatGPT確實很厲害,應該是學習了海量的數(shù)據(jù),肚子里貨很多,但是它依然沒有真正的理解需求,它告訴我們的答案就是在現(xiàn)有知識中做提煉和整合。

如果拋給它一個完全全新的領域問題,估計它會懵的,大家可以拿實際業(yè)務問題來玩一下。

所以,ChatGPT是一個好幫手,但是你要想完全依賴它,可要掂量掂量了,它告訴你的可能是優(yōu)雅的代碼,也可能是垃圾代碼。

責任編輯:武曉燕 來源: 碼農(nóng)翻身
相關推薦

2012-06-11 09:05:29

2019-06-05 19:03:03

微信消息延遲

2021-08-23 08:01:38

微信IM系統(tǒng)

2020-10-21 11:20:42

MySQL數(shù)據(jù)庫Bug

2011-05-25 19:16:35

2025-05-27 08:40:00

2021-04-15 19:37:06

戴爾

2011-08-31 15:39:16

惠普激光打印機

2014-05-23 10:25:48

Clojure

2011-10-13 16:54:33

聯(lián)想激光打印機

2023-04-13 13:03:25

信息技術ChatGPT失業(yè)

2017-06-21 09:20:29

AMDEPYC處理器

2011-06-17 09:39:04

華為Sx700交換機華為

2015-09-22 21:24:37

惠普激光打印機

2023-03-30 13:56:38

ChatGPT

2012-09-17 09:59:46

創(chuàng)業(yè)創(chuàng)業(yè)教訓創(chuàng)業(yè)家

2023-10-23 15:27:09

OpenAIChatGPT

2011-11-26 12:24:44

惠普復合一體機

2023-04-20 14:48:05

微軟AIChatGPT

2014-03-06 15:48:37

李奕泓編程程序媛
點贊
收藏

51CTO技術棧公眾號