我来我网
https://5come5.cn
您尚未
登录
注册
|
菠菜
|
软件站
|
音乐站
|
邮箱1
|
邮箱2
|
风格选择
|
更多 »
vista
鍙よ壊涔﹂
card
wind
绮夌孩濂抽儙
帮助
统计与排行
无图版
我来我网·5come5 Forum
»
电脑技术
»
程序员之家
»
李开复 回答如何学好编程
交 易
投 票
本页主题:
李开复 回答如何学好编程
显示签名
|
打印
|
加为IE收藏
|
收藏主题
|
上一主题
|
下一主题
qiangsuper
∷
性别:
∷
状态:
∷
等级:
品行端正
∷
发贴:
492
∷
威望:
0
∷
浮云:
1106
∷
在线等级:
∷
注册时间: 2006-10-22
∷
最后登陆: 2008-06-29
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
plain
/plein/
n. 平原,旷野;a. 明白的,朴素的
]
李开复 回答如何学好编程
首先问你一个问题:你们在学校都学些什么课程?
问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几gate课程就能做到的。我个人认为成为一名好的程序员的要素有:
1。扎实的基础知识;
2。很强的解决问题的能力;
3。熟练的编程调试能力;
4。创新能力;
5。团队合作能力;
6。持续的自学能力;
7。好奇心
这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。学习C语言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。但是,写程序的时候是否想过如何把程序写得更加精炼,高效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。很多学生都能够回答这是一个广度遍历的问题。但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
编程语言其实是一个很初级的工具,但是你又必须熟练的掌握它,学懂一gate编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果你不会写字,那就一定写不出文章来。
首先,在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果你在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。
如果你有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会让你对许多比较细腻的概念有清醒的认识,如果你不是那么有耐心(恕我直言,大部分人可能没有)。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,相信我一定会受益匪浅。
看到有些人发问的帖子,很明显的没有仔细的思考过问题,或者没有认真地查阅过书籍,因为其中的语法和逻辑错误实在是不能理解。想来如果你的语文作业上面满篇都是错字,老师一定不会放过你。为什么不先打好基础呢?有些人抱怨说因为教材不好,老师水平不行等等。但是我本人就是在TC2下学习C语言的,那时候除了谭浩强的书,也几乎找不到什么别的书。我不打算就谭浩强的书发表什么意见,那也实在称不上是一本好书,但是如果这本是能学好,全部看好,都记住,也应该有相当的水平了。建议不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。
如果你能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时你的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。
过去,有个著名的公式,大概是:程序=语言+算法+数据,不知道现在还提不提这个了。可能现在要加上更多的内容:项目管理、质量控制、代码规范…………。但是这个公式还是有相当的参考价值,还是用写文章来类比,语言好比文字,算法是文章的思想,数据是文章的内容。所以在经过一个阶段的识字之后,应该试着发表一下自己的思想了。
经过一段零零散散的算法学习,对“算法”这两个字有了概念之后,应该系统地对算法进行学习,这个过程是与数据结合在一起的,应该看看数据结构,而且必须熟练的掌握。在这里提到的一本书是《运筹学》,里面的算法大都可以用计算机实现,我推荐这本书的原因在于,它不仅介绍了特定问题的算法,而且详细解释了为什么要这样算,怎么得出这个算法的,等等。对于提高思考问题的能力有很大帮助。
如果你的精力和时间允许,现在就应该开始大量的阅读和编写代码了,两者同样重要。“读书破万卷,下笔如有神”,尽管这种学习方法效率较低,而且很枯燥,但是应该看到,古代的这种教育方式培养了千古文豪,而现在的语文教育培养出来的…………(唉,中小学语文教育的现状大家都知道,我就是受害者)。读代码确实是一件非常辛苦的事情,我曾经试图阅读全部的Linux内核原代码,最后只看了不到十分之一,而其中看懂领会的,也就一半而已,但还是感到有很大帮助。至于大量编写代码,理由很简单:实践性的技术要在实践中提高。但是要注意,如果你已经学完了C语言和数据结构(而且学得不错),那就不应该专注于那些小程序了,那根本就是在浪费时间,此时应该编写有些规模的,具有一定实用性的程序。并在这个过程中开始领会软件工程的一些思想。第一个写出来的程序一定是错误百出,一点点地修改,一点点地调试,一定会通过的。对于写代码,说一个我本人的经历,我第一遍看谭浩强的那本书,看到条件分支的时候,突然很兴奋,想要写点什么,于是看了一些TC2的帮助,懂得了图形编程,就自己写了一个水果赌盘的游戏,可能有人在游戏厅见过,就是可以压什么苹果橙子之类的。各位可以想象一下,当时我还不会数组,不知道循环,于是所有的这类东西都是用goto来完成的,这个历史上最蹩脚的程序居然也正常运行了,后来我发现原来可以使用循环,于是将这段代码替换掉,学到数组的时候,终于将那些小灯在屏幕上的位置放到了数组里,学到文件的时候,将图形放进了二进制文件(原本都是一条线、一个点画出来的),记不得经过了多少次修改,总之程序能运行之后,长度从2700行变成了127行。所以,想学好编程是要有点毅力的。
最后发表一下先学习C还是先学习C++的问题,这个问题见仁见智,我的意见是,先学习C。
尽管现在我很少用C了,但是C语言确实更加基础,一个C++的高手要考虑的一些问题(比如内存的操作方面的问题),C语言的初学者可能就必须有所了解,否则会犯错误。这些只是迟早是要掌握的,但是因为C++关注更高层的概念,所以在学习C++的过程中这些问题可能被忽略了,以至于有人用了一两年C++,还是有些问题不是很清楚。另一个主要的原因是:C++太优秀了,而C++的程序员会在某种程度上感觉自己比C程序员高明(他们确实有理由这样),于是学完 C+ +之后你可能就不屑于学习C所关注的内容,这样的话会错过提高的很好机会。
想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几gate课能够一蹴而就的。当然,如果你的在校课程不能使你满足,论坛上的朋友可能能够给你推荐一些书或科目。
最后,不能只学语言。许多大学生认为学最新的计算机语言、技术、标准是最好的铺路方法,因为许多公司招聘时要求这些方面的经验。这些新技术虽然该学,但是学习计算机基础课程更重要,因为计算机语言和开发平台日新月异,但是万变不离其宗的就是那些基础课程:数据结构、算法、编译原理、计算机组成、关系型数据库原理等。有位同学生动地在“开复学生网”上把这些基础课程比拟为内功,把新的语言、技术、标准比拟为外功。只追寻时髦的学生最后只懂招式,没有功力,是不可能成为高手的。
本帖最近评分记录:
浮云:5(ljpdxj) 优秀转贴
Posted: 2007-12-19 19:00 |
[楼 主]
路过此地
∷
性别:
∷
状态:
∷
等级:
希望之光
∷
发贴:
1788
∷
威望:
0
∷
浮云:
0
∷
在线等级:
∷
注册时间: 2007-03-21
∷
最后登陆: 2014-11-08
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
twig
/twig/
n. 细枝,嫩枝
]
好帖,顶....
Posted: 2007-12-19 19:09 |
[1 楼]
moonspirit
∷
性别:
∷
状态:
∷
等级:
栋梁之材
∷
发贴:
655
∷
威望:
0
∷
浮云:
1227
∷
在线等级:
∷
注册时间: 2006-06-13
∷
最后登陆: 2008-06-30
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
sanitary
/'s
æ
nit
ə
ri/
a. 神智清楚的,心理健全的
]
人家是李开复的啊?!
Posted: 2007-12-19 19:36 |
[2 楼]
myxxn
∷
性别:
保密
∷
状态:
∷
等级:
人见人爱
∷
发贴:
2234
∷
威望:
0
∷
浮云:
1105
∷
在线等级:
∷
注册时间: 2005-10-04
∷
最后登陆: 2010-10-09
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
mast
/ma:st/
n. 桅杆,杆,天线杆
]
受教了、、、
Posted: 2007-12-20 22:25 |
[3 楼]
1999
∷
性别:
∷
状态:
∷
等级:
品行端正
∷
发贴:
193
∷
威望:
0
∷
浮云:
1124
∷
在线等级:
∷
注册时间: 2006-09-30
∷
最后登陆: 2008-06-15
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
haul
/ho:l/
v. & n. 拖,拉
]
顶吧
此时不顶更待何时
Posted: 2007-12-22 10:39 |
[4 楼]
lyh123568
∷
性别:
∷
状态:
∷
头衔:
该找自己的目标了~~~
∷
等级:
人见人爱
∷
家族:
丢丢
∷
发贴:
4917
∷
威望:
0
∷
浮云:
1508
∷
在线等级:
∷
注册时间: 2007-10-17
∷
最后登陆: 2009-04-16
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
sturdy
/'st
ə
:di/
a. 强健的,结实的,坚定的,不屈不挠的
]
说得很有道理,但是俺对编程就是提不起劲
Posted: 2007-12-22 10:44 |
[5 楼]
musant
∷
性别:
∷
状态:
∷
等级:
品行端正
∷
发贴:
104
∷
威望:
0
∷
浮云:
1122
∷
在线等级:
∷
注册时间: 2006-07-30
∷
最后登陆: 2008-06-19
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
stretch
/stret
∫
/
v. (被)拉长,伸展;n. 伸展,舒展,连续的一段时间,一大片(地或水)
]
[屏蔽]是达人,我们向他看齐啊
Posted: 2007-12-25 18:25 |
[6 楼]
wan520
∷
性别:
∷
状态:
∷
等级:
希望之光
∷
发贴:
1724
∷
威望:
0
∷
浮云:
1125
∷
在线等级:
∷
注册时间: 2006-02-20
∷
最后登陆: 2010-11-04
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
gamble
/'g
æ
mbl/
v. & n. 赌博,投机,冒险
]
受教了 !现在起开始看书!
Posted: 2007-12-25 18:39 |
[7 楼]
爆炸钩
∷
性别:
∷
状态:
∷
等级:
人见人爱
∷
发贴:
3221
∷
威望:
0
∷
浮云:
1113
∷
在线等级:
∷
注册时间: 2006-12-06
∷
最后登陆: 2009-09-07
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
race
/reis/
n. 种族,人种,竞赛,赛跑;vt. 使全速行进,和…竞赛;vi. 疾走,参加竞赛
]
学习了。。。
Posted: 2007-12-25 18:52 |
[8 楼]
chris_zley
∷
性别:
∷
状态:
∷
头衔:
╭(╯^╰)╮
∷
等级:
荣誉会员
∷
家族:
动漫联萌
∷
发贴:
5622
∷
威望:
1
∷
浮云:
1291
∷
在线等级:
∷
注册时间: 2005-09-07
∷
最后登陆: 2011-05-03
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
feedback
/'fi:db
æ
k/
n. 反馈
]
感觉还是有点用的。。。
Posted: 2007-12-26 23:05 |
[9 楼]
勇者归来
∷
性别:
∷
状态:
∷
头衔:
科大勇恒回忆
∷
等级:
荣誉会员
∷
家族:
YD一族
∷
发贴:
4890
∷
威望:
0
∷
浮云:
384
∷
在线等级:
∷
注册时间: 2007-10-16
∷
最后登陆: 2011-06-27
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
counterfoil
//
n. 存根
]
恩,写的太好了,很有收获
Posted: 2007-12-27 15:52 |
[10 楼]
william86
∷
性别:
∷
状态:
∷
等级:
栋梁之材
∷
发贴:
910
∷
威望:
0
∷
浮云:
1105
∷
在线等级:
∷
注册时间: 2007-09-26
∷
最后登陆: 2009-03-11
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
in
/in/
prep.在…里,在…上内,在…期间,在…方面,在…之内,在…方面,处…之中,用,以
]
要持之以恒
Posted: 2007-12-29 21:54 |
[11 楼]
cimei
∷
性别:
∷
状态:
∷
等级:
品行端正
∷
发贴:
325
∷
威望:
0
∷
浮云:
1123
∷
在线等级:
∷
注册时间: 2007-12-26
∷
最后登陆: 2008-06-29
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
expenditure
/iks'pendit
∫
/
n. (时间、劳力、金钱等)支出,使用,消耗
]
说的真是好呀,真的很有借鉴价值,谢了
Posted: 2007-12-30 11:45 |
[12 楼]
莫言
∷
性别:
∷
状态:
∷
头衔:
佛曰:“莫言,言即是错!”
∷
等级:
鹤立鸡群
∷
家族:
掌握文武半边天
∷
发贴:
1154
∷
威望:
0
∷
浮云:
1120
∷
在线等级:
∷
注册时间: 2007-10-31
∷
最后登陆: 2008-06-27
【
复制此帖地址
只看此人回复
】
5come5帮你背单词 [
wander
/'wond
ə
/
vi. 漫游,漫步,闲逛,走神,(神志)恍惚
]
我也想学习编程,但是没有带啊!!
Posted: 2007-12-30 14:05 |
[13 楼]
快速跳至
|- 站务管理
|- 惩罚,奖励公布区
|- 会员咨询意见区
|- 申请区
|- 已批准申请区
|- 威望和荣誉会员推荐区
|- 5come5名人堂·Hall of Fame
>> 休闲娱乐
|- 灌水乐园 大杂烩
|- 精水区
|- 幽默天地
|- 开怀大笑(精华区)
|- 灵异空间
|- 运动新时空·菠菜交流
|- 动之风.漫之舞
|- 新货上架
|- 古董挖挖
|- 唯美贴图
|- 创意&美化&设计
|- 5COME5头像及签名档图片引用专区
|- 艺术摄影
|- 音乐咖啡屋
|- 音道乐经
>> 热点讨论
|- 工作交流
|- 求职信息
|- 就业精华区
|- 同城联谊
|- 留学专版
|- 情感物语
|- 情感物语精华区
|- 带走一片银杏叶
|- 精华区
|- 新闻直通车
|- 众志成城,抗震救灾
|- 衣食住行
|- 跳蚤市场
|- 旅游出行
>> 学术交流
|- 学业有成
|- 智力考场
|- 考研专版
|- 外语乐园
|- 考试·毕业设计
|- 电子设计·数学建模
|- 学生工作·社团交流·RX
|- 电脑技术
|- 电脑F.A.Q.
|- 软件交流
|- 硬件·数码
|- 程序员之家
|- Linux专区
|- 舞文弄墨
|- 历史&文化
|- 军临天下
|- 军事精华区
|- 财经频道
>> 游戏新干线[电子竞技俱乐部]
|- Blizz@rd游戏特区
|- WarCraft III
|- 魔兽区档案库
|- 魔兽争霸3博彩专区
|- StarCraft(new)
|- 暗黑专区
|- 休闲游戏区
|- PC GAME综合讨论区
|- 实况足球专区
|- Counter-Strike专区
|- TV GAME& 模拟器
|- 网络游戏
>> 资源交流
|- 恋影部落
|- 连续剧天地
|- 综艺开心档
|- 书香小筑
|- 小说发布
|- 资源交流
|- 综艺、体育、游戏资源发布
|- 音乐资源发布区
|- 电影电视剧发布区
|- 字幕园地
我来我网·5come5 Forum
»
程序员之家
Total 0.011771(s) query 5, Time now is:05-03 15:57, Gzip enabled
Powered by PHPWind v5.3, Localized by
5come5 Tech Team
,
黔ICP备16009856号