重複發明輪子又何妨?

2021-08-23 13:32:45 字數 1036 閱讀 5495

「不要重**明輪子」,軟體工程大師如此告誡。然而在我看來,很多情況下重**明輪子是非常必要的,按現在流行的話就是「必須的」。當然,重**明輪子是需要特別慎重的,有意義並且值得做方可,而且這個要發明的輪子要具備足夠的創新。

前些日子,乙個師弟要來我們公司實習,由於沒什麼相關經驗沒能如願。然後他就問,如何積累原始經驗呢?我當時又是怎麼積累經驗的呢?「實踐」,我用這兩個字回答。做計算機技術這行,必須要不斷實踐,不斷學習,方能持續性地進步。從大學本科到研究生期間,我一直在興趣的引導下寫些小軟體,比如五子棋遊戲、php相簿、啟動u盤製作工具、個人**等,另外還做了不少兼職專案,包括以前大學的招生網、招生語音查詢系統、某公司後台管理系統、某wap流**應用平台等等。此外,我還在學習和研究工作中,實現了一系列演算法程式,網路儲存、資料探勘和分布式計算相關的軟體。這些實踐為我積累了很多很多經驗,使得我在畢業找工作面試時,顯得很有經驗,並且很有信心。其實,這些實踐大多都是在「重**明輪子」。對於我來說,重**明輪子為我積累了經驗,而且時常對輪子的改進或者完全重新設計輪子,讓我認識了創新的重要意義。

對我而言,為了學習和實踐,為了積累經驗,我不斷重**明著輪子,改進著輪子,也會發明全新的輪子。但是,很多人都沒有意識到,很多情況下發明全新的輪子都是以重**明了前人的輪子為前提的。創新是需要土壤的,而實踐是這個土壤的主要組成部分。單從軟體工程的角度來看,考慮軟體質量、開發成本、開發周期等因素,我們需要盡量不重**明輪子。對於it公司,核心技術往往是企業的命脈,不能因為已經有輪子了,就不發明輪子。當關係和影響到公司的生存時,必須要發明自己的輪子,把命運牢牢掌握在自己手裡。想想咱們中國,通用cpu、作業系統、編譯器、辦公軟體...,就是因為我們沒有發明自己的輪子,而處處受制於國外,甚至還威脅到國家的安全。在開源領域,中國對開源界的貢獻是非常非常小的,就是因為我們大家都習慣於拿來主義,自由地享受著別人發明的輪子,而很少去重**明或者全新發明輪子。

其實還是那句老話,「走自己的路,讓別人去說吧」,該重**明輪時就重**明一下又何妨!如果再在輪子上來點創新,或者創新性地發明新的輪子,那說不定別人就會重**明你的輪子了。

(aiguille liu / 劉愛貴 / [email protected])

重複發明輪子 自己實現雜湊表。

首先想用彙編寫的。但寫到最後暈頭轉向。沒辦法。先用c 驗證一遍自己的思路吧。如下。chashmap chashmap chashmap chashmap free m nodes bool chashmap set dword key,dword value 刪除舊的.free m nodes m ...

發明輪子和學會發明輪子

一直以來,我都覺得現在中國的技術氣氛很浮躁.研究的都是別人的東西怎麼用,卻沒有辦法研究自己的技術.或許一直以來困擾我們的就是 不要重 明輪子 這句話.一直以來我們都認為自己不需要去研究底層的東西,因為那些輪子已經 發明 好了,不需要我們再去發明一次了.但是不需要重 明,不等於我們可以不會發明 輪子 ...

HTTPWebRequest請求 重複傳送

使用httpwebrequest請求別人的介面,請求了一次,但是對方卻收到了兩次同樣的請求,而且間隔時間為一分鐘,並且只有處理資料比較多的時候才會出現。因為我自己的 裡是有設定超時時間的,且時間設定的是5分鐘,webrequest.timeout 300000 排查了很久,最後發現是因為對方使用的 ...