美文网首页极乐科技linux学习程序员
为什么程序员一定要会用Google和Stack Overflow

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

作者: 程序员联盟 | 来源:发表于2017-01-05 01:43 被阅读8833次

    作者 谢恩铭 转载请注明出处
    公众号「程序员联盟」(微信号:ProgrammerLeague )
    原文:http://www.jianshu.com/p/af143595efce

    内容简介


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

    前言


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

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

    我在法国工作也有 5 年了,加上学生时代的两个 6 个月的实习。虽说我离编程大牛还相距甚远,但是也算是有些开发经验的程序员了吧。我想说:

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

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

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

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

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

    Stack Overflow 的官网 倒是在国内也可以上。不过貌似不是那么稳定,有时候打开比较慢。

    Stack Overflow 的官网

    下面两个内容值得一看:

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

    为什么用Google不用百度


    一言不合就用 Google

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

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

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

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

    • 用百度,第一屏的结果往往充斥着广告。而且不少都是用金钱买来的广告位。虽然Google也有广告位,但相比百度还是有良心很多的。经过不少的事件,例如 魏泽西,大家对百度已经诟病不少了。

    • 百度的界面没有 Google 那么清爽:是的,作为“视觉生物”,要我在 Google 的界面和百度的界面之间选择,我会毫不犹豫选择前者。

    百度的首页 Google 的首页
    • 对比一下 Google 的首页和百度的首页就会发现:Google 的首页大气简洁干净,百度的首页就是多了让我们分心的新闻什么的。百度你给我看那么多菜单,那么多其他内容,我怎么专心去搜索。

    • 假如不是在国内,那么 Google 的速度是很快的,因为世界各地有很多 Google 的集成服务器。

    我们可以用“android学习”,看看 Google 和百度的搜索结果对比(第一页):

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

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

    还有,我都开了 Chrome 浏览器上屏蔽广告的插件,百度的搜索结果第一页第一个竟然还是广告。你可以去试试不加屏蔽广告选项的话,百度第一页的搜索结果,基本至少前 5 个都是广告。

    当然了,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 的组合对于程序员的助力有多大,那你必须使用了才能体会到啊。

    当然了,作为程序员,也得学着使用一下 Github,简直赞到不行。可以看看我的这篇文章:Git,Github和Gitlab简介和基本使用

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


    我是 谢恩铭,在巴黎奋斗的软件工程师。
    我创建了程序员联盟的 知识星球,欢迎加入。
    热爱生活,喜欢游泳,略懂烹饪。
    人生格言:「向着标杆直跑」

    相关文章

      网友评论

      本文标题:为什么程序员一定要会用Google和Stack Overflow

      本文链接:https://www.haomeiwen.com/subject/fqfovttx.html