Contents
前幾天在FB上看到許多網友在傳閱這張照片, 找了一下Google, 發現這張圖片源自Reddit的Programmer Humor channel, 這張圖片大概只有寫過code的程式設計師才看得懂的梗, 如果您看不懂, 那麼您也許不是程式設計師, 如果您是程式設計師, 那還看不懂, 那麼我要如何定位你? 你可能已經很久沒寫code, 不然你也許是很努力的工程師, 因為小編以前聽過一句話- 努力的工程師寫自己的code, 聰明的工程師會利用別人寫的code.
我們先不用爭論上面那句話到底對不對, 來看一下一則更早之前的新聞
這篇文章指出一位資訊安全顧問Scott Helme揭露了Nissan app這件糗事, Nissan app的iOS導航權限設定竟然出現了以下字串
The spirit of stack overflow is coders helping coders
這段字串很有可能Nissan app開發者在Stack Overflow找到適合的答案後直接copy/paste到他們的code裡面, 文中還將Stack Overflow的網址列了出來, 有興趣可以去看一下, 這篇文章的作者還一直告誡開發者
Never copy and paste code from the internet you don’t understand
我們從以上的最有生產力的Exception Handler這個笑話到Nissan App的Copy/Paste事件, Stack Overflow 似乎成為工程師不加思索問題直接去找答案的罪惡的淵藪. , 網路還出現不少嘲諷的圖片, 其中最經典的應該是這一本 Essential Copying and Pasting From Stack Overflow
程式設計師使用Google找答案是罪惡嗎?
很巧的, 小編其實看到以上的新聞沒多久後就在灣區日報看到這篇文章
答案是Yes, 而且用的還比剛入門的工程師還多, 作者還引述了一句愛因斯坦的名言
“Never memorize something that you can look up.” – Albert Einstein
意思是不要去記憶那些可以檢索到的資訊, 愛因斯坦講這句話的時候應該沒有想到這句話會被這篇作者引用, 讓你用Google Search時不會有罪惡感 XD
不過這篇作者想要表達的應該是使用Google search的正確心態, 也是我們該學習的精神
Good programmers also know that they cannot be the first one to have encountered a problem. They use Google to research possible solutions, carefully evaluating the results and consciously separating the wheat from the chaff; they don’t blindly follow or copy-paste any solution they come across
Good programmer不會盲目地順從或是copy/paste別人的code. 專家級的程式設計師是帶有偏執狂, 自我懷疑, 對於他人的技能也可以提出質疑. 文中的作者還有舉一個他要在Java中使用Netty開發一個Web server來處理遠端手機遊戲persistent socket的問題, 他從未使用過Netty, 於是他利用了23組關鍵字去收集他想要得到的資訊, 可以去看一下這位作者下的關鍵字, 也可以順便學習有經驗的開發者是如何利用Google Search起始一項陌生技術的開發工作. 這些關鍵字小編看了一下是有意義的, 這位開發者很有經驗, 他在開發前應該已經預期會遇到哪些問題. 這也證明資深的工程師遠比剛入門的工程師更會使用Google Search. 作者最後說了這句話
Google is software developer’s best friend
那麼沒有Google前的程式設計師遇到問題怎麼辦?
小編剛接觸Google時, 已經有4年的軟體開發經驗, 所以這個問題小編還可以回答得出來, 這個問題應該還可以再切細一點, 沒有Google前已經有網際網路, 沒有Google前沒有網際網路, 小編遇到的狀況屬於前者
- 訂閱News group , 當時如果遇到問題, 最流行的應該就是到News group, 或是BBS上去爬文或是找網友討論, 情境跟目前其實很像, 只不過現在的搜尋技術做的實在比以前好太多
- MSDN 如果在MicroSoft Windows平台底下開發程式, 應該都用過MSDN找文件, 範例程式來看. 當時的MSDN對於Windows程式設計師的地位相較於現在的Google search不遑多讓.
- 多看書. 當時資訊貧瘠, 除了以上兩項資訊來源, 程式設計相關書籍中的範例程式大概就是最好的補充養份.
如果是後者沒有Google也沒有網際網路的程式設計師怎麼過活呢? 剛好看到這篇國外文章, 有興趣可以看一下去體會沒有網路也沒有Google的程式設計師是怎麼走過來的
What was it like to self-learn programming before Stack Overflow ?
衍生閱讀
Kite wants to be every developer’s pair-programming buddy
這篇文章, 也許跟開發者沒有關係, 但是裡面的一些觀念跟您使用Google Search心態可大有關係
裡面提到扼殺創意的原因
- 第一期(初期):直接給答案,立即解釋為什麼
- 第二期(中期):直接給答案,員工問才會解釋為什麼
- 第三期(末期):直接給答案,只要員工照做,從不解釋為什麼
可以思考一下如果Google search是扮演直接給答案的角色, 而您從不質疑, 從不問為什麼? 您的創意是不是也逐漸消失中?
歡迎加入Soft & Share團購社團
本文在FB程式人雜誌社團引起許多迴響, 網友給了不少好的評論, 歡迎加入討論
喜歡我們的分享嗎? 記得使用以下社群分享按鈕分享給您的社群朋友吧!
發表迴響