关于程序员有没有必要记一些API什么的讨论有很多,我个人觉得能Google到的就没必要刻意去记,可以简单的做个笔记,需要用的时候查一下就好了。真正有必要记的东西,用得多了自然也就能记住了。

文章不难,不浪费时间翻译了。原文链接

新博客wossoneri.com portal

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.(记住 谷歌永远是开发者最好的伙伴)

[闲谈] 有经验的程序员用Google用得多么?的更多相关文章

  1. 有经验JAVA程序员如何提升自己?

    作为一个具有一到五年开发经验程序员,需要学习内容很多: JVM/分布式/高并发/性能优化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源码分析等等 ...

  2. 5年经验Java程序员面试20天

      写在前面 今天分享的是一位5年工作经验的Java工程师在帝都的面试经验总结,看看这些互联网公司都爱问些什么题,希望对大家的面试有指导意义. 从事Java开发也有5年经验了,4月初自己的开启面试经历 ...

  3. 推荐一个最懂程序员的google插件

    0.前言 很多人应该也和我一样,使用google浏览器时,它的主页是真不咋地,太单调了,用起来贼不爽,想整它很久了 一打开就是上面的样子,让我看起来真心真心不爽 当然:为了这个不关技术的瞎犊子事情,曾 ...

  4. 作为有经验的程序员如果不懂Lambda表达式就说不过去了吧,建议收藏!!!

      最近刚好有空给大家整理下JDK8的特性,这个在实际开发中的作用也是越来越重了,本文重点讲解下Lambda表达式 Lambda表达式   Lambda 表达式,也可称为闭包,它是推动 Java 8 ...

  5. 面试感悟----一名3年工作经验的程序员应该具备的技能 JAVA 必读书

    http://www.cnblogs.com/xrq730/p/5260294.html#3470685 http://www.cnblogs.com/xrq730/p/4994545.html

  6. 经验分享:程序员如何快速定位问题(BUG)

    让我掉下眼泪的 不止内存泄漏 让我夜夜不眠的 不止你的需求 明天还要改多久 你攥着我的手 让我感到为难的 是善变的需求 发布总是在半夜 回滚是永远的愁 错误(Bug)随时的暴漏 困扰着我心头 作为程序 ...

  7. 为什么说每个程序员都应该刷几道LeetCode?

    2015年即将过去,最近在回顾和总结过去一年的工作经历,发现自己并不能算是一名合格的程序员. Google某前员工Lucida在文章<白板编程访谈——Why,What,How>当中写道: ...

  8. JAVA程序员一定知道的优秀第三方库(2016版)

    几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里.最近,我在业余时间带几个年轻的程序员一起做了一个 ...

  9. [转]JAVA程序员一定知道的优秀第三方库(2016版)

    原文地址:http://blog.csdn.net/zxc123e/article/details/51418163 几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架 ...

随机推荐

  1. js键盘事件全面控制详解【转】

    js键盘事件全面控制 主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型 ...

  2. Windows下使用批处理设置IP地址,DNS

    自动获取IP地址: echo 本地连接 改成你想要改的连接名 比如 无线网络连接set cname=本地连接 echo %cname% 正在设置自动获得IP地址,请稍等...... netsh int ...

  3. fiddler Android下https抓包全攻略

    fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP ...

  4. bzoj2764 基因补全

    Description 在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸),他们分别可以用大写字母A,C,T,G表示,其中A总与T配对,C总与G配对.两个碱基序列能相互匹配,当且仅当它们等长,并且任 ...

  5. android 通知

    https://developer.android.com/design/patterns/notifications.html 通知系统可让用户随时了解应用中的相关和即时事件,例如来自好友的新聊天信 ...

  6. [运维-服务器 – 2A] – nginx下绑定域名

    这个篇文章今天(2016-01-21)才有幸写了,因为自己对nginx部署以前没玩过,还得感谢下我们数字化的总经理.在这里记录下自己成长的经验,与遇到的问题. 因为自己的域名是在万网上买的,解析无法直 ...

  7. DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)

    2014-08-07 Created By BaoXinjian

  8. PO_PO系列 - 采购单管理分析(案例)

    2014-07-01 Created By BaoXinjian

  9. js复习(二)

    一.window.document对象(一)找元素 docunment.getElementById("id"):根据id找,最多找一个: docunment.getElement ...

  10. Navicat MySQL连接Linux下MySQL的问题解决方案

    Error1: 2003:Can't connect to MySQL server on 'localhost' 解决方法:关闭Linux的防火墙功能. #chkconfig iptables of ...