代碼都智能自動生成了,還要程序員幹嘛?

導讀:要說開源精神,阿里估計在國內能夠排在最前列。

前一段時間,阿里又發佈了大家喜聞樂見的代碼自動生成工具 imgcook。於是有人說:

“前端幹着幹着,就把自己乾沒了…”

本文經授權轉自公衆號CSDN(ID:CSDNnews),作者:郭芮

01 代碼是如何自動智能生成的?

imgcook 中文譯爲“圖像大廚”,顧名思義,它是一款專注於各種圖像(Sketch、PSD、靜態圖片)處理的工具,通過智能化手段將各種圖像一鍵生成可維護的 UI 視圖代碼。

雖說目前還只是社區體驗版,但其也是經過淘寶前端團隊內部近 2 年的打磨才推出的全新產品。按照阿里官方的說法,這個打着“高度還原各種圖像,釋放 UI 開發生產力”口號的 imgcook 未來足以成爲一位 P5 級別的重構工程師,實現 100% 的還原、100% 的兼容、以及一鍵上線!

也就是說,設計師再也不用還原走查了,測試再也不用適配樣式了,開發再也不用切圖寫樣式了,喜大普奔有沒有…

640?wx_fmt=gif

https://imgcook.taobao.org/

02 自動代碼生成惹爭議:究竟是痛點還是僞需求?

對此,衆多吃瓜網友們立即興沖沖地圍觀吐槽之。

有表示高度認可的:

@劉子健_且行且歌:個人體驗了一下,感覺還是不錯的,總體而言瑕不掩瑜。 之前在 Github 也關注過類似的項目,但都是一些論文和實驗的數據,而這個作爲實實在在可用的系統,至少是一個可用的工具了,能幫我們減少一部分的頁面開發工作量。 如果真的要做到電影裏那種 AI 的效果,估計那時候大家就都都等着失業了。

@小豬快跑lele:今天在D2聽到了甄子的分享,以及現場體驗了一下,確實挺棒的,識別率也很高,個人感覺還是很有用的。但是這對設計人員有了要求,即設計稿要極其符合設計規範才能保證成功率和後期改動的成本。

@大明爺:太棒了,希望趕緊應用於各種複雜場景,終於不用寫 CSS HTML 這破玩意兒了。

@Quetzalcoatlus1:後端菜雞翹首以盼,寫 CSS 是我最痛苦的時候。

也有隨即聯想到其他或曇花一現、或艱難求存的代碼生成器:

@mountainguan:pix2code…響了一下沒了下文,最後一個commit都一年前了。

@robert_:很早以前 DreamViewer 也有,但是當時的基礎設施不完善,現在才逐漸有了模塊標準,有了豐富的組件。

更多的是存疑,並且對前端表示深深的擔憂:

@披荊走天涯:不是,我就想問下,這有啥用?生成的代碼如果我要寫交互的話,還得再看半天。

@fancy-pants:感覺都是聽上去酷炫,用上去很爛的東西。

@闊諾瀟二狗噠:前端更輕鬆了還是失業警告?

@Andself:前端互相搶飯碗可真的激烈啊!

@Ahkari卡狸:前端幹着幹着,就把自己乾沒了。

微博博主@Easy 對於前端“革命”的這一命題就表示,瞭解了語法和結構、主要函數,再補一下 Swoole 和框架等,基本上就是一個現代 PHP 程序員了。

640?wx_fmt=jpeg

事實上,此前也曾出現過大量的代碼自動生成器,但似乎並沒有掀起太大的波瀾。那麼對於程序員來說,所謂的代碼生成、自動編程真的有實際價值嗎?

03 自動編程有實際價值嗎?

有很多廣爲人知的自動代碼生成工具都曾引起過公衆的關注,比如微軟的 Robust Fill、上面提到的 pix2code、DreamViewer 等等,此前微軟發佈的 Visual Studio 還支持智能輔助編程。但是喧囂之下,更多的卻是跟風模仿,鮮少有人會真正在編程中應用,其生產價值也無從考究。

對於這一點,王垠在個人博客《我爲什麼不在乎人工智能》中就老早發表過自己的看法:

我現在可以很簡單的告訴你,(自動編程系統)是不可能實現的。

要機器做事,人必須至少告訴機器自己“想要什麼”,然而表達這個“想要什麼”的難度,其實跟編程幾乎是一樣的。

好的編程工具可以讓程序員工作更加舒心和高效,但任何試圖取代程序員工作、節省編程勞力開銷、剋扣程序員待遇、試圖把他們變成“可替換原件”的做法最終都會倒戈,使得僱主收到適得其反的後果。

所以別妄想自動編程了。

——這樣看來,大家“追崇”的自動編程似乎頗有烏托邦之感。

但也有很多人表示,“瑕不掩瑜,其實它們至少是一個可用的工具”、“雖然效果有點堪憂,但是可以假裝代碼實際上是僱了一個月薪 3k 的實習生寫的,心裏就很能接受了”…而且隨着人工智能技術的深度應用,總體來看也是持續優化的趨勢,不是嗎?

再看回來 imgcook 這一工具,作爲“淘寶前端團隊內部近 2 年的打磨才推出的全新產品”,在代碼生成的合理性、可維護性上也是下了一番功夫,對於二次開發顯得比較友好。

此外,imgcook 還會“對還原後的 UI 在代碼層面上生成使用比較廣泛的 Flexbox 佈局”、“在一些自定義的命名上(比如樣式命名)根據開發者的習慣生成更加人性化的命名”等人性化、智能化設計。

所以,這個不算雞肋的工具,或許也是值得一試的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章