真正的程序员应该能自己解决问题

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:真正的程序员应该能自己解决问题
  • 本文链接:http://zengrong.net/post/2058.htm

真正的程序员应该能自己解决问题

A programmer may solve problems on their own.

刚巧我写了这篇 优秀的程序员和一般的程序员差别在哪? ,就看到了这篇 quick 论坛上的讨论, 原文在这里

我征得了原作者同意,转载在这里。

Xpol Wan

大家好,

我来发点牢骚。

最近老是看到有人发错误信息的截图问怎么办。虽然论坛里面没有说不能问这样的问题。

但是我个人的意思是,这些真的是属于你自己的鸡毛蒜皮的小问题,不必到这里来问,这些问题多数都不属于quick-x。

以下是我的一些建议:

  1. 程序员需要学习英语,如果你连错误信息里面的英语的字面意思都不懂,要么洗洗睡了,要么去学学英语吧。
  2. 你需要学会从错误信息中找到最关键的信息:比如LUA ERROR… module ‘xxxxx’ not found或者undefined reference to ‘xxxxx’
  3. 找到这些关键后(比如,上面的这些’xxxx’就是你解决问题的关键,无非是运行时,或者编译时找不到xxxx。)进行对应的处理和解决
  4. 如果你不知道怎么处理,可以google,把关键错误信息贴到google里面,搜索一下,多半就有答案了;千万别找度娘,切记切记~~(我想说程序员用度娘搜索程序问题,只有两个原因:一是你英语很菜,二是你程序员能力很菜)
  5. 翻墙技能也是必须的,最简单的就是买个靠谱的VPN,喜欢折腾可以goagent或者vps+shandowsocks。
  6. 就算是你要问这些问题,也请别截图,直接贴错误信息文本;就算别人愿意帮你google,你也得得让别人好拷贝粘贴啊,大家都这么忙不是吗?
  7. 问问题的时候,大家希望看到的时候你做了那些分析和尝试,而不是:来吧,帮我看看这个图里面的错误信息,然后就没有然后了。你都懒得打字说明问题,为什么指望别人帮你分析帮你解决,然后打字告诉你该如何如何呢?
  8. 一切技术问题都是纸老虎,搞定他,一个错误信息都搞不定,何以搞定天下?

就是这么多,希望对大家有帮助。

如果你觉得说的都是狗屁,就全当杂音,直接 m 吧。
Best Regards!

Xpol Wan
// There is a better way!

ChildhoodAndy

对楼主说的表示支持。分析问题,能够准确描述问题以及解决问题是程序员走向成熟必不能缺少的阶段。

http://wiki.woodpecker.org.cn/moin/AskForHelp 你会发现你熟读“提问的智慧”并在问题上付诸实践之后,问的问题基本上都会有人答,而且可能直接就是问题的答案所在。为什么stackoverflow上有些问题答案质量那么高,这跟提问者为了提问问题所作出的努力有很大关系,包括事先google、查阅手册、尝试解决问题的方式等等,如果你是stackoverflow网站的注册用户,你还可以对提问着的问题进行编辑,去除不重要的信息,明显语法问题等会让回答者更快的理解到问题所要表达的意思。

Jacky(zrong)

相当赞同。

中文版 提问的智慧(2013-10-26翻译) 在这里:http://www.beiww.com/doc/oss/smart-questions.html ,里面也有英文版的链接。

想要别人回答你的问题,应该先想尽办法把问题描述清楚,加上其中你自己的理解,你的错误尝试等等等~

在问题的格式上应该尽量清晰,容易辨别,这起码是对回答者的一种最基本的尊重。毕竟,没有谁必须回答你的问题。

说实话,现在quick论坛里看到的很多问题,真的是让人看一眼就生气(或者想笑),更别说回答了。

关于为什么必须使用Google而不是百毒,Childhood说的很有道理。但我的意见是,对于技术问题,无论如何都不要用百毒。

算法是一部分原因,更多的原因是这几个:

1. 百毒通常不会把你最需要的技术问题列在第一页(或者第一页的上半部分)。

例如你在百毒中搜索一个软件名称,Google一般会直接把软件的官方网站列在第一个。而在百毒里面第一个一般都是百毒的应用下载中心,或者国内的软件下载站等等地址。你真的去国内的软件下载站下载软件看看就知道了,很难找到真正的下载地址,这得耽误多少事啊~~

再例如,你要搜索一门新的技术(或者老的技术),谷歌通常直接列出该技术的官网,或者比较权威的资源,或者维基百科。而百毒排在前面的一般是百毒百科,然后就是哪些抄来抄去的文章、评测、博客等等。

2. 百毒给出的文章质量通常不高。

当然,这和国内的技术文章质量高的较少有关系。但我很奇怪的一点是,为什么同样是中文,谷歌却能搜出质量很高的原出处中文技术文章,百毒搜出的却都是百毒空间里面哪些被转载了无数次的格式乱成一锅粥前后颠倒内容残缺不全甚至语句都不通顺的烂文?

你看,耽误多少事啊~~

3. 百毒更懂中文,Google更懂英文。

众所周知,许多新的技术(或者老的技术)英文资源更多,优秀的英文资源则更更多。让更懂中文的百毒来做这件不可能完成的任务,还不如仔细学一下怎么用简单的英文关键词得到自己想要的内容更不耽误事儿~

BTW:如果实在不愿意搭梯子,可以勉为其难的用一下Bing的英文搜索。当然,Google是无可替代的。

Ao Xu

本人是百度黑,走到哪黑到哪,从里黑到外,对@Jacky 的回答很赞同,无论如何都不要用百度。就连我原先在github pages的个人博客,都在robots.txt里写了不允许百度收录。
并且我对@Jacky 的回答从原理上补充说明:百度为什么会这样,Google为什么不会。

1. 百度为什么不会把官网列在第一个?这里有几重原因。

首先,百度通过付费可以影响搜索结果的排序(就是臭名昭著的『竞价排名』),而Google不允许这种行为,两者在公司盈利模式上就有本质区别,Google是通过广告盈利的,例如AdWords和AdSense。

其次,两家公司追求的宗旨不同,百度希望自家的产品占领互联网,而Google希望全互联网的网页都能得到有效的检索。百度搜索越来越趋向于『百度站内搜索』,就像@Jacky 说的,搜软件会引导到百度应用下载中心;大家留意一下,平时搜一些东西,结果往往是引导到百度知道、百度百科、百度贴吧、百度空间这些同属于baidu.com域名下的低质量内容来源。而Google从来不偏袒自己的产品,我仅仅举出几个例子:

2. 为什么百度搜不出原始出处的文章?

原因跟之前的相同:竞价排名+百度站内搜索。而且从搜索引擎基本原理上,Google计算搜索结果的权重(PageRank值)的主要来源是『反向链接』数,就是有多少网页有链接指向它。可以想到,一篇原始出处的技术文章,必定有很多地方会引用它,所以它的反向链接数也会很多,自然排名就高。事实上搜索引擎的排序原理有着非常复杂的算法,篇幅所限我无法一一说明。Google搜索在技术原理上的先进性是百度完全无法比拟的,可以说是数量级的差距。

3. 关于『百度更懂中文』这一点,我一直都是不赞同的

黑百度的人都常说『百度是卖假药的』,这不就是中文搜索特有、百度特有的现象吗?另外Google领先于百度的技术有很多是与语言无关的,Google是一个国际化服务,提供世界各国语言的搜索,这不是光靠百度对中文的研究就能超越的。所以即使中文搜索,我依然用Google。

如果不想搭梯子,可以用 www.googlestable.com 无痛搜索。

欢迎百度的粉丝来反驳我不对的地方,请举出你的事实和观点。