[閒談] 有經驗的程序員用Google用得多麼?

關於程序員有沒有必要記一些API什麼的討論有很多,我個人覺得能Google到的就沒必要刻意去記,可以簡單的做個筆記,需要用的時候查一下就好了。真正有必要記的東西,用得多了自然也就能記住了。 文章不難,不浪費時間翻譯了。原文鏈接

Software developers, especially those who are new to the field, often ask this question or at least wonder whether they are good developers or just good at googling up solutions.

“Do experienced programmers use Google frequently?”

The resounding answer is YES, experienced (and good) programmers use Google… a lot. In fact, one might argue they use it more than the beginners. (有經驗的程序員經常用Google,並且比初級程序員用的多得多) Using Google doesn’t make them bad programmers or imply that they cannot code without Google. In fact, truth is quite the opposite: Google is an essential part of their software development toolkit and they know when and how to use it.

A big reason to use Google is that it is hard to remember all those minor details and nuances especially when you are programming in multiple languages and using dozens of frameworks. As Einstein said:

“Never memorize something that you can look up.” - Albert Einstein(絕不要去死記硬背那些可隨手能查閱到的東西 愛因斯坦)

Aside from that, 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. Expert programmers are also paranoid, living in self-doubt and questioning their competence. Whenever their spidey senses start tingling, they know they may be going the wrong hole; they rely on Google on validate their logic. (不要盲目的複製粘貼代碼,要去思考評估別人的代碼,然後提煉出你需要的東西)

Going by the definition, I would be considered an experienced programmer. Recently, I had to write web server using Netty in Java to handle persistent sockets from mobile games. I had never used Netty before. Here are my Google searches I did:

1. netty tutorial 
2. netty maven dependency 
3. netty bytebuf to string 
4. netty bytebuf release 
5. netty 4 changes 
6. setOption("child.bufferFactory") netty 4 
7. ByteBuf netty 
8. opensource projects using netty framework 
9. netty 4 examples 
10. netty 4 adding json encoder 
11. netty channel pipeline 
12. netty 4 messagetomessage encoder 
13. netty serverbootstrap childhandler 
14. ByteBuf netty 
15. lengthfieldbasedframedecoder netty 4 
16. netty 4 client examples 
17. netty 4 bytebuf to bytebuffer 
18. netty 4 endianness 
19. netty channelhandlercontext 
20. netty channelhandlercontext thread safe 
21. netty user authentication 
22. netty heartbeat handling 23. load test netty with 10k concurrent sockets

I wrote 255 lines of code that included a working server and a client. I queried google 23 times mostly landing on StackOverflow, Netty 4 website, GitHub, and JavaDocs. If you do the math, that averages out to 1 query every 10 lines of code! I had no idea. Let me know in the comments what your average is.

So sit back, relax and remember that Google is software developer’s best friend.(記住 谷歌永遠是開發者最好的夥伴)

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