[转]如何成为一个优秀的程序员

发表于

看了这一篇文章觉得挺不错的,就转过来了,呵呵。
想要学好电脑技术,最重要的一点还是文章的总结一个字“活”。学活了做什么事都事半工倍。做其它事情也是一样。

学会举一反三,严禁不求甚解。

以下是原文内容及声明:

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/04/12/how-to-be-a-good-programmer/以及本声明。

这是前一阵子给新人讲perl时顺便聊的一些废话。暂且存放在这里。

关于自学

程序员这个行业需要不断地学习、充电。有人说过,现今的知识体系在20年之后就会成为一堆垃圾。注意这是指整个IT行业说的,具体到某个人的话,可能五年后你的知识就没用了。所以要不断地开阔眼界,学习知识。

那么如何学习?我认为最重要的就是学会搜索。如今,你不会编程没关系,不会配服务器没关系,只要你会搜索,你就是好的程序员。Web2.0的发展,使得论坛、个人网站等过时,维基、博客流行起来,而大量有价值的技术信息都分散在成千上万个博客上。因此,你得学会用好搜索引擎,推荐使用Google。大部分人喜欢用百度,我无可厚非,不过个人认为,对于程序员来说,Google的准确性要比百度高很多。

那么如何使用Google?我总结了下面的几种情况:

  1. 访问某官方网站,直接Google一下它的名字。如微软,你不必记住 www.microsoft.com 这个域名,只需要打开Google搜索“微软”即可找到目的地。
  2. 查找技术文章,搜索相关关键字即可。假设你要在Linux下装Web服务器,想象一下如果你想写一篇这方面的技术文章,你会用哪些词语,这些词语就是关键字。
  3. 解决技术难题,如编译错误、配置错误等,可以直接搜索错误信息。世界上那么多优秀程序员,你遇到的问题一定有人遇到过并解决了。

另外还有一个 Google Code,它可以搜索网上的源代码,想找程序例子时非常有用。网站地址请自己去搜索。

自学的第二个重点,就是要学会举一反三,严禁不求甚解。网上有人说按照某种方法能够解决某某问题,于是你就原封不动地照搬过来,结果问题依旧无法解决,于是你就给那篇文章的作者发信说“你的方法不对”啦“我这里不行啊”之类的话。程序员最要不得的就是这种态度,影响别人也耽误自己。别人提出的方法,你不能生搬硬套,而是应首先理解他为什么要这样做,这样做有什么道理,然后再根据自己的实际情况找出适合自己的解决方法。这样解决问题的同时自己的技术水平也会得到提高。

最后一点就是要多多关注新事物。这些年新概念、新事物不断涌现出来,如Web2.0、P2P、Ajax、维基、博客、阅读器、flickr、youtube,几天不看新闻就会觉得自己跟不上时代了。

在这里我推荐几个较好的技术网站,有条件的可以天天上去看看,了解一下技术发展情况。同样,网址自己去查。

  • del.icio.us 这是个网络书签网站,主题是技术。每天上去看看大家推荐的技术文章很有好处。
  • 抓虾 一个在线RSS阅读器,同样也有推荐功能。目前技术氛围比较浓,可以去看看热门技术文章。
  • digg 也是网页推荐的网站,同样能找到很多技术文章。
  • 豆瓣 图书推荐网站。

关于技术

许多人以掌握多种语言、掌握多种技术为荣,会C、C++、VC、Delphi、VB、PHP、Perl、Oracle等似乎就很了不起。的确这样的人才不可多得,但我想告诉你的是,这不应该是你追求的目标。

技术的发展是无穷无尽的,尤其是现在,创立一门编程语言、一个程序库、一个开发框架是个很简单的事儿,有点技术基础的人谁都能做。而要想将这些技术全部学会是不可能的。你应当着重学习技术背后隐含的思想。弄明白了思想,就很容易举一反三,再学其他技术就非常容易了。

例如,学C++时不应该花太多时间在C++本身上,而应该重点掌握面向对象概念。学会了面向对象,再学Java、Python、Ruby等就非常容易。学过Java的人应该知道Struts这个开发框架,弄懂Structs的思想,再学其他开发框架时就能举一反三。

建议大家没事儿学学下面的技术:

  • C或C++,注意不是VC,更不是微软的MFC库。许多语言如Java、PHP、Perl、Ruby都是从C语言发展变化而来,学通了C,其他语言就唾手可得了。
  • Linux,学它的原因,一个是它免费,二是掌握Linux的思考方法,能很大提高日常工作的效率。

另外,我们学技术不仅是为了工作,更是为了解决实际问题。这里有个原则:同一件事而不要做第二遍。用好Excel、Linux等工具,让计算机帮我们做重复的工作,不仅能大幅提高效率,本身也是件很有趣的事儿。

结语

说了这么多,其实总结起来就一个字,就是。技术学活了,程序员也就不难做了。

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
若无特别注明,本站内容均属原创,转载请注明作者(chenall)和出处 chenall's Blog ,请勿用于任何商业用途