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

程序員們?yōu)槭裁礋嶂杂诎l(fā)明輪子?

新聞 前端
如果把“重復(fù)發(fā)明輪子”這個比喻放到計算機領(lǐng)域,也不見得太恰當(dāng),因為有很多廣泛流傳的軟件本身就是被重復(fù)發(fā)明的“輪子”,不能說它們是無謂的重復(fù)勞動。

 [[257637]]

“重復(fù)發(fā)明輪子”這句話原本用于比喻無謂的重復(fù)勞動,但這個比喻似乎也不那么恰當(dāng),因為在人類的歷史長河中,輪子已經(jīng)被重復(fù)發(fā)明了無數(shù)次。

如果把“重復(fù)發(fā)明輪子”這個比喻放到計算機領(lǐng)域,也不見得太恰當(dāng),因為有很多廣泛流傳的軟件本身就是被重復(fù)發(fā)明的“輪子”,不能說它們是無謂的重復(fù)勞動。

  • Linux 是對 Unix 的重新發(fā)明;
  • MariaDB 是對 MySQL(MySQL 是對 PostgreSQL 和 Oracle 的重新發(fā)明,而 PostgreSQL 是對 Oracle 的重新發(fā)明)的重新發(fā)明;
  • 現(xiàn)代 C++ 是對老版 C++ 的重新發(fā)明,C++ 是對 C 語言(C 語言是對 B 語言的重新發(fā)明,而 B 語言是對 BCPL 的重新發(fā)明)的重新發(fā)明,Rust 是對 C++ 和 C 語言的重新發(fā)明;
  • Clojure 是對 LISP 的重新發(fā)明,LISP 是對 IPL 和 Lambda Calculus 的重新發(fā)明;
  • Haskell 是對 System FC 的重新發(fā)明,System FC 是對 System F 的重新發(fā)明,System F 是對 Labmda Calculus 的重新發(fā)明;
  • DOT 是對 OO 的重新發(fā)明;
  • Kotlin 是對 Java 的重新發(fā)明;
  • Vim 是對 Vi 的重新發(fā)明;
  • Wayland 是對 Xorg 的重新發(fā)明;
  • Ubuntu 是對 Debian 的重新發(fā)明……

我可以舉無數(shù)個這樣的例子。

很多優(yōu)秀的軟件并不只是簡單地往已有代碼庫中添加新特性而已,而是通過不斷迭代,創(chuàng)造出比以往更好的東西。GitHub 上很多流行的代碼庫都有數(shù)百個分支,而對于每一類軟件工具,我們又有很多不同的選擇。

人們經(jīng)常說“不要重復(fù)發(fā)明輪子”,但他們忽略了這樣的一個事實:大部分優(yōu)秀的計算機軟件實際上就是被重復(fù)發(fā)明的輪子,而并非是全新的東西。這些變化是循序漸進的,我們基于已有的概念逐步迭代,慢慢修改它們,讓它們變得更好。這是個無窮盡的過程,甚至我們忘記了自己是從哪里出發(fā)的,也不知道終點在哪里。我們要付出時間,也許這就是計算機編程的神奇之處。在這里,沒有所謂的資源短缺,也不管我們?nèi)绾委偪瘢覀兛偰軇?chuàng)造出一些東西。

重復(fù)發(fā)明輪子不是罪,只是我們要知道在何時以及如何重復(fù)發(fā)明輪子。

沒有合適的輪子?自己造!

在找不到可用的工具時,就自己開發(fā)一個,而不是基于已有的庫開發(fā)一個不那么好用的“次品”。或許其他人也有同樣的需求,那么就可以把你開發(fā)的工具分享給他們。自己開發(fā)可能需要更長時間,但會更有趣,而且開發(fā)出來的工具可能更好用。當(dāng)然,具體要怎么做,完全取決于你自己。你可以“勤快”得像某些 C 語言開發(fā)者一樣,連 list 和 vector 都要自己實現(xiàn),也可以“懶惰”得像某些 JavaScript 開發(fā)者一樣,連最簡單的判斷奇數(shù)的函數(shù)都要從網(wǎng)上下載(比如日下載量超過十萬的“is_odd”包,地址是https://www.npmjs.com/package/is-odd)。

以 Julia 為例,Julia 是一門與 Python 非常像的編程語言,只是它更容易部署,不需要虛擬環(huán)境就可以運行,它運行更快,而且支持大規(guī)模的并發(fā)。Julia 就是一個被重復(fù)發(fā)明的輪子,因為從理論上說,它所能做的事情,Cython 也能做到,只要使用恰當(dāng)?shù)?C/C++ 庫,修改一點代碼,再加上一點耐心就可以。但 Julia 與生俱來就提供了便利性,為開發(fā)人員節(jié)省了大量時間,還讓開發(fā)變得更有趣。或許,它會是 21 世紀最讓人矚目的編程語言之一。

現(xiàn)有輪子停滯不前?造!

當(dāng)很久沒有人重復(fù)發(fā)明輪子,就可以考慮重新發(fā)明一個。出現(xiàn)這種情況,可能是因為現(xiàn)在的輪子已經(jīng)夠好了,沒必要做出大的改進,但更有可能是因為大多數(shù)人希望有更好的輪子,只是他們沒有時間去做。比如,有些問題雖然暫時得到了解決,但并不是沒有缺陷,因為當(dāng)前的技術(shù)或框架無法提供更好的解決方案。這就留有余地,等待更好的時機出現(xiàn)。數(shù)年之后,或許技術(shù)發(fā)展到可以更好地解決這些問題。

以圖像識別為例,圖像識別屬于經(jīng)典的分類器問題。人們在分類器問題上不斷努力改進,直到 2010 年,通過使用 Fisher Kernel 這類算法才讓分類器得到了非常精確的結(jié)果。當(dāng)然,這些成果還不足以用于檢測腫瘤或汽車自動駕駛,從精確度和訓(xùn)練時間方面來看,它們的水平還只是處在鸚鵡和大象之間。直到有人重新發(fā)明了并不太流行的卷積神經(jīng)網(wǎng)絡(luò),還使用了現(xiàn)代的 GPU 來訓(xùn)練那些早在 90 年代就開發(fā)出來的圖像識別模型。2012 年出現(xiàn)了著名的 AlexNet&Co,而幾年之后,圖像識別技術(shù)發(fā)展到令人驚詫的地步,在中型數(shù)據(jù)集上訓(xùn)練出來的分類器甚至可以打敗人類。

輪子所有權(quán)遭到限制?造!

比如 Linux、GCC 和 Git,它們都是對已有版權(quán)軟件系統(tǒng)的重新發(fā)明。在某些方面,它們比版權(quán)軟件更好,而且它們是開源的。這意味著有更多的人在使用,有更多的人參與開發(fā),這讓它們能夠以驚人的速度發(fā)展演化。

單純覺得好玩?造!

對一個已經(jīng)很強大的軟件來一次重新發(fā)明,這樣做也沒什么錯。你可能會失敗,但你會從中學(xué)到很多。盡管別人已經(jīng)解決了大部分問題,但你仍然能夠從解決同樣的問題中獲得有趣的體驗。數(shù)百萬人想證明勾股定理或重新發(fā)明新的 LISP,雖說他們最終不過是在重復(fù)發(fā)明相似的輪子,但他們所做的并沒有什么錯,只要他們能夠從中獲得樂趣。而如果你重新發(fā)明的輪子哪怕只是比原先的好那么一點點,都算是在造福人類。

想造就造!

盡管放手去做吧,重復(fù)發(fā)明輪子不是罪。

如果有人說重復(fù)發(fā)明輪子是無用功,就把馬斯克造火箭的故事甩他臉上。

或許,你也可以開發(fā)出一個更直觀、更優(yōu)雅的 JavaScript 庫,或者一個更快的 Python 編譯器,或者一個更便宜的計算單元,或者一個更好的 Spotify,或者一個更高效的查找表……

因為你是熱愛創(chuàng)造的程序員呀~

 

責(zé)任編輯:張燕妮 來源: 頭條科技
相關(guān)推薦

2015-06-29 14:02:28

IT企業(yè)云計算云數(shù)據(jù)中心

2021-06-24 10:04:33

互聯(lián)網(wǎng)AB測試

2021-09-29 16:24:29

加密貨幣比特幣貨幣

2015-10-26 10:45:00

2015-02-12 09:18:42

無線網(wǎng)絡(luò)WLAN云Wi-Fi

2024-05-14 08:11:56

ReactuseState造輪子

2019-01-02 07:50:02

程序員技能代碼

2015-10-13 14:25:54

企業(yè)大數(shù)據(jù)

2014-09-26 09:57:41

程序員讀書書籍

2018-03-14 13:32:53

程序員C++JAVA

2014-08-15 11:07:09

程序員

2016-03-15 08:51:12

程序員生活怪異

2012-09-06 10:30:58

2011-12-20 09:01:25

.NET

2018-04-27 13:58:31

程序員開源GitHub

2015-09-24 09:04:36

程序員

2013-10-29 10:24:31

程序員漫畫

2011-08-11 14:52:59

2011-09-18 09:42:08

程序員

2015-06-05 14:15:13

程序員難升職
點贊
收藏

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

主站蜘蛛池模板: 国产片一区二区三区 | 午夜视频一区二区 | 伊人网在线综合 | www.中文字幕.com | 鲁大师一区影视 | 欧美二区三区 | 一区二区三区在线播放 | 一级a性色生活片久久毛片 午夜精品在线观看 | 大乳boobs巨大吃奶挤奶 | 国产精品99久久久久久宅男 | 久久久tv| 欧美日韩专区 | 国产精品电影在线观看 | 国产成人在线播放 | 国产亚洲精品一区二区三区 | 亚洲在线免费观看 | 中文字幕第一页在线 | 欧美aⅴ在线观看 | 色综合一区二区 | 欧美性猛交一区二区三区精品 | 99免费看| 日韩国产一区二区三区 | 不卡在线视频 | 亚洲天堂中文字幕 | 日批免费看 | 懂色av色香蕉一区二区蜜桃 | 天天久久 | 国产第1页 | 麻豆av片 | 久久久精品日本 | av免费观看在线 | 国产精品欧美一区二区三区 | 精精国产xxxx视频在线播放 | 日韩av免费在线电影 | 精品免费视频 | www.一区二区 | 91精品久久久久久久久中文字幕 | 我想看一级黄色毛片 | 亚洲色图综合 | 成人av播放 | 在线观看国产视频 |