转载

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

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

内容简介

  • 前言

  • 为什么用Google不用百度

  • 为什么用Stack Overflow

  • 小结

前言

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

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

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

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

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

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

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

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

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

对于Google“躺枪”大家肯定不陌生,但是Stack Overflow在国内不用VPN估计也上不了吧。

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

下面两个值得一看:

  • Stormzhang的文章: 你为什么一定要使用 Google ?

  • 知乎上的讨论: 如何优雅地使用 Stack Overflow?

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

为什么用Google不用百度

Google 就是好,谁用谁知道!

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

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

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

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

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

  • 百度的界面比Google难看:是的,作为“视觉生物”,要我在Google的界面和百度的界面之间选择,我会毫不犹豫选择前者。

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

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

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

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

对于“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 Overflow之所以成功,因为:

  • 整个圈子氛围不错

  • 问答基数大

  • 回复及时

  • 大牛很多

  • 基于英语

  • 问题审核严格

基本你想得到的编程知识点在上面都有相关问题

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

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

小结

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

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

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

我是谢恩铭,在法国巴黎奋斗的嵌入式软件工程师。

目前工作是Android嵌入式和app开发。

热爱生活, 喜欢游泳,略懂烹饪。

原文  http://www.cocoachina.com/programmer/20170110/18550.html
正文到此结束
Loading...