这是前一阵子给新人讲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等工具,让计算机帮我们做重复的工作,不仅能大幅提高效率,本身也是件很有趣的事儿。
结语
说了这么多,其实总结起来就一个字,就是活。技术学活了,程序员也就不难做了。
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/04/12/how-to-be-a-good-programmer/以及本声明。
博客归档
-
▼
2008
(99)
-
▼
十月
(41)
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1) 使用
- 阿尔卑斯软糖下架 上好佳 麒麟奶茶均检出问题
- 三鹿集团下属7家公司更名复产
- TortoiseCVS 介绍 下载
- Cisco VPN Client v5.0.04 下载 downloads
- Firebug 默认不允许JS POST 两次
- audience : 观众, 听众; 读者
- 自动化SCP 最新的文件
- 如何让 li 的内容在一行显示,超出部分隐藏
- What does (Aborted) mean in HttpWatch?
- 星际高级对战策略
- 神族vs人族 介绍
- 神族vs神族 介绍
- 神族vs虫族 介绍
- .人族(terran)介绍.
- .虫族(zerg)介绍.
- .神族(protoss) 介绍
- Jabber客户端PSI使用方法简介(支持MSN,ICQ等,无须代理)
- 经典五笔2.0-王码五笔86版优化
- EditPlus 3 注册码
- 在blogger中插入表格会空行的解决办法
- top 命令详解
- 如何成为一个优秀的程序员
- 星际神族如何快攻?
- Linux 完整的WEB服务器安装方案
- 转交 deliver to; transfer to
- 如何使用花生壳绑定个人PC机
- directive requires additional arguments
- rpm命令的常用用法及命令选项 (lrzsz)
- 内地某品牌鸡蛋在香港被检出三聚氰胺超标88%
- Zend Framword 下载地址
- zend studio 6.1 下载 注册码
- vi命令的查找和替换
- 进程文件:mDNSResponder 或者 mDNSResponder.exe
- http 304是什么?
- CSS中position的absolute和relative的应用
- tortoiseCVS 1.10.1 安装后影响部分中文软件乱码(winxp 部分中文乱码)
- 什么是A记录?什么是别名记录(CNAME)?什么是MX记录?什么是NS记录?
- Mysql 连接限制跳过Host name解析
- 最新版本 PHP CHM 中文手册/英文手册 (081011整合)
- PHP 路径定义好习惯
-
▼
十月
(41)
没有评论:
发表评论