成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

好程序員不寫代碼?網(wǎng)友:沒必要重復(fù)發(fā)明輪子

新聞 前端
現(xiàn)實的西方程序員世界里,也有與之如出一轍的精神:The Best Code is No Code At All。最好的代碼就是根本沒代碼。

 無劍勝有劍,是金庸武俠世界的***境界。

  現(xiàn)實的西方程序員世界里,也有與之如出一轍的精神:The Best Code is No Code At All。***的代碼就是根本沒代碼。

  簡單說來,無碼勝有碼。

[[254427]]

  △Francois Chollet

  山景城坷垃斯劍派祖師 Francois Chollet 最近就連連發(fā) Twitter,傳揚這種精神,贊同者云集。

  他說:

  程序員寫多少代碼不重要,重要的是解決問題的效率。

  不用你寫、不用你維護的才是好代碼——直接用的現(xiàn)成解決方案嘛。

  簡單幾句話,仿佛說到了眾多同行的心坎里。他們高喊“太對了”,還用“@”呼朋喚友前來觀摩。

  Chollet 有充分的資格發(fā)推布道:他是入門框架 Keras 的作者、Google 研究員、《Python 深度學習》一書作者,頂會論文沒少發(fā),打 Kaggle 競賽也很厲害,***排到過全球第 17 名。

  圣誕之后新年之前的垃圾時間里,他這條不總結(jié)不展望不拜年的 Twitter,已經(jīng)被轉(zhuǎn)發(fā)了 700 多次,收獲了 2100 多贊。

  多寫代碼就是好?

  引來這么贊同的核心觀點說來也簡單:

  代碼是幾十行還是幾千行不重要,解決問題才是正經(jīng)事。

  就拿 Chollet 舉的例子來說吧:如果老板讓你搞個系統(tǒng),監(jiān)控有沒有人在廚房做飯,該怎么辦?

  解決方案一擺,高下立判。

  如果買個攝像頭,花 10000 美元收集數(shù)據(jù),然后親自把控訓練流程,奮戰(zhàn)幾周用低級庫定制一個 CNN-LSTM 架構(gòu)……那是糟糕的程序員,程序員里的戰(zhàn) 5 渣。

  好程序員會怎么辦呢?

  買幾個 5 美元的溫度傳感器,幾個小時收集完數(shù)據(jù),然后用 sklearn 訓練一個簡單的邏輯回歸模型。

  一下午就能搞定,而且系統(tǒng)更可靠、更好維護,甚至,還沒什么隱私之憂。

  有人做飯,廚房自然會熱起來嘛!如果只知道拿攝像頭檢測人形物體,簡直是不知變通,費時費力還費錢。

  不過這還不算慘,如果程序員搭了 CNN-LSTM 之后對效果不太滿意,再花幾周時間,用 GAN 來擴增數(shù)據(jù)細心打磨……

  “認真”到這個程度,已經(jīng)超出了戰(zhàn)五渣的境界,可以叫那個啥隊友了。

  方向走錯了,花再多力氣都是白費。

  而這些“認真”程序員花掉的力氣,大概也會讓 Chollet 一臉無奈:

  就算你非搭 CNN 不可,為什么要用低端庫定制呢?我的 Keras 里都打包好了,拿來試試不行就換別的啊……

  評論區(qū)就有網(wǎng)友一針見血地總結(jié):沒必要重復(fù)發(fā)明輪子。

  不要重復(fù)造輪子

  這句話在各行各業(yè)都深入人心,程序員界也不例外。

  作為 Keras 這個高級框架的作者和布道者,Chollet 對重復(fù)造輪子這種行為,更是持之以恒地批判。

  前不久,他還在吐槽某些“痛恨框架”的程序員,說他們自己從頭構(gòu)建的東西只不過是重新實現(xiàn)了框架的部分功能,而且設(shè)計拙劣、無法復(fù)用。

  為什么這么推崇用框架呢?是為了站在巨人的肩膀上。那些大型框架是眾多人想法和努力的結(jié)晶,想自己實現(xiàn)其中一部分功能?那相當于想靠 0.01% 的努力&腦力出人頭地。

  好程序員,要善用前人打下的基礎(chǔ)。

  不過,關(guān)于“重復(fù)造輪子”這個問題,爭論很是激烈。Twitter 上、Reddit 論壇里,關(guān)于“什么時候用框架、什么時候手寫”的討論總是熱火朝天。

  想自己手動搭模型的程序員各有各的理由。比如說,為了優(yōu)化程序的性能:

  這種說法太短視了,如果追求性能、低延遲,就要重寫很多代碼,這也沒什么問題。

  更多重造輪子的人,是為了學習。

  不少人都認為,在剛開始學習編程的時候,重造輪子不失為一個好辦法,能夠讓初學者能更好的理解技術(shù)或方法背后的邏輯。

  比如,如果你想了解 PyTorch 的原理,以及怎么讓它運行得更快,***的方法,就是自己實現(xiàn)一個簡單版本的 autograd。

  雖然不能夠得到一個比 PyTorch 更好的框架,但通過這個過程,你對 PyTorch 的理解會變得更加深刻,在之后用到 PyTorch 的時候,也會更加順手。

  同為 Google 研究員的 David Ha 就曾經(jīng)和 Chollet 激烈爭論過,David 說:

  從零開始(用純 Python、numpy、甚至 JS)實現(xiàn)全連接網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、RNN、反向傳播、SGD,然后用小訓練集來訓練這些模型是一種學習神經(jīng)網(wǎng)絡(luò)如何工作的好方法。在跳到框架上之前,應(yīng)該花時間從這里收獲寶貴的直覺力。

  除此之外,還有一個充滿無奈的原因:現(xiàn)成的輪子還真不一定能用。

  沒開源、不適合這個特定任務(wù),都讓開發(fā)者們面對輪子的時候很無奈。最近的“圣誕彩蛋”事件,更是讓程序員們對輪子充滿警惕:

  誰知道作者會在輪子里藏些什么東西!

  但切記,不論你為什么要自己動手從頭實現(xiàn)一個算法,千萬不要造出來一個方輪子。

  One More Thing

  知乎上曾經(jīng)流傳著這樣一個問題:程序員真的很少寫代碼嗎?

  有網(wǎng)友嘲諷&自黑,說寫代碼多、天天敲鍵盤的程序員是“苦力”、“段位不夠”。

  也有不少人吐槽:還不是因為大部分時間都是在找 bug!

  話說回來,無論調(diào)框架還是從頭搭、寫文檔還是找 bug,都是為了實現(xiàn)功能。

  你支持有碼還是無碼呢?

責任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2022-01-26 08:02:40

開發(fā)者模式工具

2019-02-20 11:14:08

程序員技能溝通

2020-10-27 13:41:43

Java技術(shù)開發(fā)

2020-10-25 23:26:14

Java開發(fā)代碼

2019-05-15 09:59:24

程序員技能開發(fā)者

2020-10-15 14:33:18

Node.js中國程序員

2021-12-31 08:56:13

程序員算法代碼

2012-01-04 09:50:07

程序員

2019-09-12 10:00:57

程序員技能開發(fā)者

2013-01-22 13:50:11

程序員前端Web

2014-03-25 10:35:35

程序員代碼調(diào)試

2020-08-27 16:43:23

程序員加班工作

2020-11-20 14:14:14

SQL數(shù)據(jù)庫語言

2017-10-17 12:47:19

2018-08-09 10:45:13

程序員技能開發(fā)者

2013-04-28 11:03:41

編程語言程序員私有云

2013-04-18 09:55:05

程序員

2019-11-07 22:00:22

程序員代碼規(guī)范

2022-11-10 08:03:37

GitHubCopilot

2015-07-02 11:20:17

程序員代碼
點贊
收藏

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

主站蜘蛛池模板: 99久久免费精品 | 手机三级电影 | 午夜国产一级片 | 在线成人一区 | 五月婷婷在线视频 | 日韩中文字幕在线观看视频 | 亚洲啊v在线 | 免费黄色在线观看 | 视频在线亚洲 | 国产精品视频一区二区三区, | 国产在线网站 | 亚洲一区二区视频在线播放 | 爱草视频 | 国产高清视频 | 日日夜夜天天干 | 色黄爽 | 国产激情视频网址 | 另类亚洲视频 | 毛片a级 | 午夜久草 | 黄色片在线看 | 午夜播放器在线观看 | 亚洲一区二区三区四区五区中文 | 喷潮网站| 成人福利网站 | 亚洲永久免费观看 | 亚洲国产精品久久久久久 | 97久久久久久久久 | 久久成人精品视频 | 91免费在线看 | 中文字幕日韩欧美 | 精品视频在线免费观看 | 国产精品美女久久久久久久网站 | www.youjizz.com日韩 | 国产麻豆乱码精品一区二区三区 | 日本成人午夜影院 | 2020国产在线 | 日韩一区不卡 | 精品免费国产视频 | 成人亚洲网站 | 又爽又黄axxx片免费观看 |