为什么程序员一定要会用Google和Stack Overflow?

144
作者 程序员联盟
2017.01.05 01:43* 字数 1942

-- 简书作者 谢恩铭 转载请注明出处

内容简介


  1. 前言
  2. 为什么用Google不用百度
  3. 为什么用Stack Overflow
  4. 小结

前言


下文中,谷歌统一用Google表示。

作为程序员,用Google比用百度更节省时间,此话不假。

在法国工作也有4年了,加上之前的两个6个月的实习,勉强算“5年”工作经历吧...

虽说我离编程大牛还相距甚远,但是:

这些年编程的一个很深的感触就是:95%的问题都可以在Google和Stack Overflow找到答案。

真的能达到95%吗?达不到怎么办呢?

我觉得很多时候不是Google或Stack Overflow的问题,而是不少朋友不太懂得如何快速有效地搜索到有用的信息,可以参看下面这篇知乎的帖子:

如何用好谷歌等搜索引擎?

相比于国内的小伙伴们用Google需要“番茄”, 在国外确实相对便利,因此我平时基本不用百度,只有很难得才会用百度来查一些资料。

Stack Overflow网站的jquery需要跨域调用Google Javascript API,网站顶部总会提示"Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load" ,Google"躺枪"后Stack Overflow也被拉下水了。

下面两个值得一看:

不过, 要能在Google和Stack Overflow“畅游”, 还需要比较良好的英语, 因为很多好的资料是英语的, 很多API只有英语解释, 等等。

为什么用Google不用百度


一言不合就用Google

首先,百度是一个以中文信息为主要对象的搜索引擎, 因此对于因为英语信息的收录量和收录精确性就差很多。

但是作为程序员,我们如果不会英语,是会错过很多好资源与好的学习机会的,可以参看一下我这篇文章:对于程序员, 为什么英语比数学更重要? 如何学习

不过百度也是有其用途的,比如查找一些中文资源的时候。

百度比之Google还有很多劣势:

  • 用百度,第一屏的结果往往充斥着广告。而且不少都是用金钱买来的广告位。虽然Google也有广告位,但相比百度还是有良心很多的。相信经过不少的事件,例如魏泽西,大家对百度已经诟病不少了。
  • 百度的界面比Google难看:是的,作为“视觉生物”,要我在Google的界面和百度的界面之间选择,我会毫不犹豫选择前者。
  • 假如不是在国内,那么Google的速度是很快的,因为世界各地有很多Google的集成服务器。

对于“android学习”,Google的搜索结果

对于“android学习”,百度的搜索结果

可以感觉出来,Google的搜索结果很清爽,而且“直击要害”;百度的结果有不少并不是我们想要的,你还需要自己甄别,很麻烦。

更可怕的是,我都开了Chrome上屏蔽广告的插件,百度的搜索结果第一页第一个竟然还是广告!

当然了,Google也不是没有缺陷的。不过,人生短暂,我用Google。

我当年刚开始接触编程的时候,也不怎么用Google,基本都是“百度之”。但是我渐渐发现,百度的标语“百度一下,你就知道”,其实应该更正为“百度一下,也许你就更不知道了”。

最后, 假如你不信我说的,可以试用一下Google。

不过,友情提示:
到时候,你爱上Google,不能自拔的,每天不用一下Google搜索就“不爽不舒服斯基”的时候,不要来找我“算账”。

为什么用Stack Overflow


如果说Google对于非程序员也很有用,那Stack Overflow就基本是极客的选择了。

什么是Stack Overflow ?

Stack是英语“栈”的意思,Overflow是英语“溢出”的意思,因此Stack Overflow的直译就是“栈溢出”。

栈溢出是缓冲区溢出的一种。
由于缓冲区溢出而使得有用的存储单元被改写,往往会引发不可预料的后果。
程序在运行过程中,为了临时存取数据的需要,一般都要分配一些内存空间,通常称这些空间为缓冲区。
如果向缓冲区中写入超过其本身长度的数据,以致于缓冲区无法容纳,就会造成缓冲区以外的存储单元被改写,这种现象就称为缓冲区溢出。
缓冲区​长度一般与用户自己定义的缓冲变量的类型有关。

老外就是喜欢取别具一格的名字~

Stack Overflow简单来说是一个IT技术问答网站。其实网站本身技术实现并不是很难,国内也有模仿者,例如https://segmentfault.com/

Stack Overflow 由 Jeff Atwood 和 Joel Spolsky 这两个非常著名的 Blogger 在 2008 年创建,7月小范围的进行 Beta 测试,直到 9 月份才开始公开的 Beta 测试。Stack Overflow 面向编程人员群体。
到2010年年末,Stack Overflow 单个站点在 Alexa 的Rank 是 160 ,月度独立访客超过 1600 万,每月Page View 超过 7200 万 (refer)。
Stack Exchange Network 在 2010 年 5 月接受了来自 Union Square Ventures 的 600 万美元的投资,在 2010 年扩大并完善了整个团队,从三个全职工程师发展到了 20 多人的队伍,搬进了 7500 平方英尺的豪华装修的办公室(当然每个人都坐着1000美元一把的椅子)。
之后,发展就算比较顺利。

但是,Stack Overflow之所以成功,因为:

  • 整个圈子氛围不错
  • 问答基数大
  • 回复及时
  • 大牛很多
  • 基于英语
  • 问题审核严格
  • 基本你想得到的编程知识点在上面都有相关问题

可以看一下知乎的这篇帖子:国内为什么没有好的 Stack Overflow 的模仿者?

这些年,很多编程难题,我都是先Google,然后Google会很优先地把结果导向到Stack Overflow,我在Stack Overflow可以很容易找到解决我的问题的答案。有些问题甚至很偏门,但是Stack Overflow还是有解决办法,简直神器!

小结


至于Google和Stack Overflow的组合对于程序员的助力有多大,那你必须使用了才能体会到啊。如果需要“番茄”,那还是去买付费的VPN比较好,毕竟“便宜没好货”。

像我这么“耿直”的人,怎么会坑您呢?对吧~

有遗漏或错误,欢迎留言指正,我会及时修改,谢谢!


我是谢恩铭,在法国巴黎奋斗的嵌入式软件工程师。
目前工作是Android嵌入式和app开发。
热爱生活, 喜欢游泳,略懂烹饪。

程序员