| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1473 人关注过本帖
标题:[讨论]关于学习的,探讨!
只看楼主 加入收藏
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
 问题点数:0 回复次数:22 
[讨论]关于学习的,探讨!


从论坛上关于C++的探讨,让我想起的是孔已己:"回字有四种写法".
做为过来人,我想告诉你们,不要以为C++是一切,不要以为学会写高难度
的程序就能成为计算机高手.有意思的是,很多计算机科学家大师根本不
会写程序.

程序是什么?程序只是把人能看懂的数学算法变成计算机能懂的逻辑符号.
本质上和建筑工人差不多.建筑学家一定要亲手砌过墙吗?

我不止一次看见人嘲笑:XXX学校教计算机还是BASIC呢.我就是从BASIC开
始学遍程的,而且使用basic长达5年之久.之后我用二星期转到了汇编,在学
习汇编的二星期里,我使用它写了一个简单的图形届面游戏.写成后我认为我
学会汇编了。二年后我又用三天学习了c语法,继而用一个月的时间写了一个
小型CAD,该程序至今(快10年了)还在我们的国家级科研单位使用。

说我自己的经历并不是想证明我比谁强,只是想以此指出很多后来者在学习上
的误区。不同编程语言不过是具有不同逻辑符号的集合而已。无论你使用循环
还是递归,知道CPU都是在线性工作同样重要。

很多人抱怨C++太难了,我想告诉你们的解决办法就是:不要去理会哪些难点.
奔腾CPU具有几百条汇编指令,其中80%不常使用,40%几乎不出现在我们的常
用软件中.条条大道同罗马,干嘛非一棵树上吊死?

我有个朋友从C++教程学起,而后是《Thinking in C++》,《Inside C++》,
《C++ reference》,总之是看完了这个C++看那个C++,两年了告诉我说,"我
觉得我还没领会C++的精髓",我问它使用C++解决了哪些典型问题,结果他除了
用MFC写过一些界面程序外,没有任何成果.这样的学习有意义吗?

我商业编程的时间已经8年,学习遍程已经15年了,所看过的关于语言的书估计
也超不过6本,通常我每学一种语言看一本书,目前我只会basic,asm,C/C++,
java.但这丝毫不影响我解决很多别人解决不了的问题.

我从没看过上面那些C++的书,但我从来不会觉得我的C++语法知识不够,不会
我就不用.如果你觉得自己苯,那恰恰说明你的程序最容易懂!C++封装继承的
目的不就为了让程序好懂吗?这才是OOP的精髓!如果你按照自己的方法写出了
世界上最好懂的程序,那你就可以根据自己的经验创建D++,E++,还学C++干什
么?

语言仅仅是一个工具,C++又只是这些工具中的一个,我们没有必要在这上面浪
费时间!需要你学习掌握的东西还多着呢!你的英语词汇量够吗?计算机的前沿
在西方,不懂英文你永远是技术上的后进者.操作系统原理你掌握了吗?这是我们
写应用程序的重要前提,也是我们学习软件结构设计的经典案例.你的数学知识
够吗?计算机说倒底是个复杂的数学处理器,没有数学知识我们根本无法解决向
模式识别这类的问题,甚至连数理统计也无法完成,比如你知道如何算合理库存
吗?如果不知道你肯定写不出ERP的核心代码,即使你破掉10000本C++书也是无
可奈何.

继而我希望大家再多多看看软件工程和模式设计方面的书.这些书每看一便你的
层次就提高一点!看不懂也没关系,先看自己懂的,然后就去编程解决问题,之后
再翻回头来看,把自己在实践中得到的经验提升到理论高度,然后再用理论去
指导自己的下一次实践.这将是一个良性循环.

解决问题也有很多东西等待我们去看,去学.比如网络协议,比如无线通讯协议...
这些协议都是学界泰斗们的力作,从中我们可以学到很多协议之外的东西.比如
模式设计.

也许你可以写出一个程序,它能管理1000个线程同步异步协同工作,我们顶多说
你是个优秀的程序员.而第一个提出OS应该以线程作为调度单元的才是科学家,
即使它根本不知道在Windows中线程是如何创建的.

孔已己说"回字有四种写法",我们笑了他一百年.但当你死抠着语法不放的时候,
有没有意识到自己已经成为了新时代的孔已己?或许你希望后人再笑100年?

ps:我想笔者的意思不是说不要学习语言,而是不要死抠着语言的一个细枝末节不放。毕竟做为开发人员不掌握一门语言是不实现的,这个世界不可能大师满世界跑。这是我作为一个C++初学者的感想。

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
看了以上的东西,若有所误,但是我同样不赞成作者关于学习语言的观点,我认为应该要熟练并且很透彻的了解一门语言,语法的种种细节。这样可以帮助你很好的解决具体的问题,以及提高你,当然是在程序员的层面的编码功底。
然而,我想说,并且作者也说到的是,不要仅仅把语言当作语言,它仅仅是一门工具,不要把它提到一个很高的面上。逻辑,算法,数据结构,数学……这些才是精髓所在。
换句话说,基础的,底层的才是我们更应该重视的。
之所以想到这些,因为身边的人们,越来越多的不重视基础的东西,盲目的去追求所谓的高端,要知道,在中国,找个.net,java的程序员是相当容易的,要找个c,c++甚至懂汇编,搞点低层技术的,那是非常困难的,这个现象也直接导致了今天中国IT行业的现象,缺乏人才,人力资源过剩。难道我们就不该思考下我们究竟缺少的什么吗?
再想到我们现在的的大学,相信在读大学的同人都有感慨,大学能学到什么啊?确实,我所在大学虽然不最好,但是也是全国排名靠前的,并且在全国仅有的30所示范性软件学院中,也是中高级别的。但是呢,我们学了什么?我可以跟你说,什么也没学到,别指望每周一,二节的专业课,所谓的教授,博士,能确实给你什么,nothing。最基本的一点导向性也是很模糊的,没人告诉你该怎么做,怎么学。醒悟的早的现在就成为佼佼者,醒悟的晚的,现在仍然在迷茫中,中庸者,就我这样了!现在才知道,大学给了我们什么,自学的空间。
所以,想想什么是最重要,最需要的,然后利用自己的优势---读大学和上计算机学校是有区别的---发挥自我学习的能力,利用充足的时间和优越的环境。

乱说了大堆,无聊憋的,希望对迷茫者有点启发!

[此贴子已经被作者于2007-6-6 21:38:37编辑过]

搜索更多相关主题的帖子: 探讨 学习 
2007-06-06 21:35
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
所谓的名牌大学与普通专科有什么区别??

没有~~~

when you learn hardly by yourself,

you are the best...


[此贴子已经被作者于2007-6-6 21:49:52编辑过]


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-06-06 21:49
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
Learn how to learn!

Fight  to win  or  die...
2007-06-06 21:50
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
Learn how to learn!
I am agree.


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-06-06 22:27
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 



我看了深圳人才大市场和上海北京人才市场

应届大学毕业生不要,工作经验越丰富工资越高

我总结了一条 对于计算机编程还是各种计算机有关工作 工作经验是最重要的

一个清华软件专业毕业和一个已经工作8年的软件开发人员 公司会选择谁?

你又会选择谁?

大学的确什么都学不好 我很赞成无限循环哥哥的说法 但不是很赞成中区的说法 专科教育完全和本科教育隔位

我是在地大专科 课程就比在校本科少```所以```哈是有区别的 嘿嘿

中区也有所错的时候

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-06-06 22:31
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

传说高手都是不选剑的,因为他们内力深厚,呵呵; 另外探讨一点, 封装是为了让程序好懂,但继承是么?感觉继承只会让结构复杂。

2007-06-06 22:39
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
不谈技术
to be continue!

Fight  to win  or  die...
2007-06-06 22:47
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
确实,现在趋势是.NET,JAVA,大多人都追随”潮流“,而那些在JAVA,net却又转向了C++,为什么?
我曾经在学校的图说馆遇到一个人,他说过的一句话让我很惊讶,“我觉得我已经没有可以让我可学的了,我觉得自己一直走在别人的前面,路还得自己慢慢的摸索”,当时他在研究LINUX的内核,以及C,汇编。对于JAVA,.NET语言,他有独特的见解,为什么他也会转向C,汇编?
他的话确实让我觉得不可思仪,在后面的我们谈话中,虽然在某些观点上并不是很赞同,但他的思考方式确实满特别,我们之后的谈话涉及到病毒,游戏开发的原理,其实某些细节都是些很简单循环,判断组成的,这些已经够基础了吧,其实那些很复杂的东西都是由很简单的很基础的东西组合起来的。
那些在其他语言中用到的算法,数据结构也是我们现在不也都有用到么?虽然不像其他可视化的语言一样,学很短时间 就能做出点东西来。
孤魂居士说 的,现在现实确实如此,现在都老板的目的是什么?赚钱,所以,他的人希望你一进公司就能被他所“剥削”,(我到希望现在有人愿意剥削我,呵呵),另外,还有一个很重要的原因,那就是现在的许多应届毕业生专业知识确实掌握的不怎么样,一看简历,似乎什么都会,但一面试,确是一问三不知,好,这样也没关系,如果他觉得你有潜力,值得培养,公司还是愿意在你身上花点心血,但往往等他们翅膀硬了,他们就飞了,久而久之,他们都怕了。这也不能完全怪他们。

如aib2007说的,大学能学到什么?学得就是方法,大学只是提供一个这样学习的空间,如果你能充分利用,那么,你的大学就不算是白上,反之。。。或许,名校效应在很多方面会有一定的作用,比如,门槛比较低,但如果你进去了,你却什么都不会,那么你只有被炒的份。学历并不能说明一切,如果你有技术,还怕会饿死?当然,也得学会如何为人处事。


[此贴子已经被作者于2007-6-7 7:30:57编辑过]


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-06-06 23:01
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
确实,学历只是个门槛,真本事才是生存之道!

Fight  to win  or  die...
2007-06-07 12:42
xq0714
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-5-25
收藏
得分:0 
大学我学会了打魔兽世界和各种游戏!哈哈!学会了喝酒,泡妞;学会了人情世故!呵呵,但是千万别认为你的大学是虚度的,在这样的一个社会,学什么不是最重要的!而是大家所说的你应该具备去学你想学的东西的能力,以及环境适应力和应变能力!如果一味的学也充其量不过是个书呆子而已!
2007-06-07 13:21
快速回复:[讨论]关于学习的,探讨!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017912 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved