作者 谢恩铭 转载请注明出处
公众号「程序员联盟」(微信号:ProgrammerLeague )
原文:http://www.jianshu.com/p/af143595efce
内容简介
- 前言
- 为什么用Google不用百度
- 为什么用Stack Overflow
- 小结
前言
下文中,谷歌统一用 Google 表示。
作为程序员,用 Google 比用百度更节省时间,此话不假。
我在法国工作也有 5 年了,加上学生时代的两个 6 个月的实习。虽说我离编程大牛还相距甚远,但是也算是有些开发经验的程序员了吧。我想说:
这些年编程的一个很深的感触就是:95% 的问题都可以在 Google 和 Stack Overflow上找到答案。
真的能达到 95% 吗?达不到怎么办呢?
我觉得很多时候不是 Google 或 Stack Overflow 的问题,而是不少朋友不太懂得如何快速有效地搜索到有用的信息,可以参看下面这篇知乎的帖子:
相比于国内的小伙伴们用 Google 需要“番茄”, 在国外确实相对便利,因此我平时基本不用百度,只有很难得才会用百度来查一些资料。
Stack Overflow 的官网 倒是在国内也可以上。不过貌似不是那么稳定,有时候打开比较慢。
Stack Overflow 的官网下面两个内容值得一看:
- Stormzhang 的文章:你为什么一定要使用 Google ?
- 知乎上的讨论:如何优雅地使用 Stack Overflow?
不过, 要能在 Google 和 Stack Overflow “畅游”, 还需要比较良好的英语, 因为很多好的资料是英语的, 很多 API 只有英语解释, 等等。
为什么用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简介和基本使用。
有遗漏或错误,欢迎留言指正,我会及时修改,谢谢!
我是 谢恩铭,在巴黎奋斗的软件工程师。
我创建了程序员联盟的 知识星球,欢迎加入。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」
网友评论
欢迎订阅《程序员联盟》https://toutiao.io/subjects/138092