[闲谈] 有经验的程序员用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.(记住 谷歌永远是开发者最好的伙伴)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ml

HDUOJ-----1166敌兵布阵

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java...

28190
来自专栏牛客网

深信服面经(C++)

22320
来自专栏ml

HDUOJ----1166敌兵布阵(线段树单点更新)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java...

30270
来自专栏一个爱吃西瓜的程序员

第一轮面试需要掌握怎样的基础技术栈?(以Python为例)

想要进入大型互联网公司,首先我们面对的就是面试这一道坎。一般而言,需要3~5面才能最终拿到offer。一面是考查基础知识,二三面是考查专业技能、项目经验等,四五...

38950
来自专栏程序员互动联盟

学会了C语言能做些啥?

我现在C语言入门,基本靠自学,就看网上的那种教程,但是我怎么觉得它就是只能做下数学题,我觉得它并不能编辑出一个啥子游戏或者软件出来噢……初学者,见谅。 ? 马...

1.2K60
来自专栏量子位

机器人实用Python代码合集,帮你搞定自主导航 |GitHub高热

20730
来自专栏tkokof 的技术,小趣及杂念

也说棋类游戏

之前自己编写过一点关于棋类游戏的代码,所以对于这类游戏的大致构成也算是有一些肤浅的认识,前一阵子突然想到应该将这些个零散知识好好总结一番,以算作为自己学习的一...

22120
来自专栏Android开发实战

追MM的各种算法,你会几种?

基本上就是说:你追一个MM的时候,需要对该MM身边的各闺中密友都好,这样你追MM这个问题就分解为对其MM朋友的问题,只有把这些问题都解决了,最终你才能追到MM。...

8510
来自专栏LuckQI

去掉小白身份,从学习K线开始

12920
来自专栏VRPinea

新鲜的的LBS AR应用|在天上下五子棋,还能学习历史与政治知识?

晨曦渲染微蓝天空之际,大家匆匆出门,在通勤路上拥拥挤挤;夕阳西沉之时,急急忙忙下班,心心念念回家,或者去赴各种约会。

21630

扫码关注云+社区

领取腾讯云代金券