您的位置:首页 > 编程语言

怎么学习编程

2013-10-31 11:52 176 查看
这个问题很简单,做个项目,看看语法,拷拷别人的代码就行了。
但是仅仅这样够吗?不过很多人都是这么学的。这样子学感觉跟学会使用个OFFICE软件没什么区别,只不过比OFFICE难懂一些而已。
现在谈谈我对编程的看法。
首先我想你得具有编程的兴趣,即使没有兴趣你也得有很大得毅力和耐心,如果你拥有了这些,那么学好一门编程语言将不是难事了。
其次多动手实践,这不用说是很重要的,多敲敲代码比复制别人的代码感觉就不一样,对于别人的代码要参考使用,当然参考别人的代码会节约你的时间,你或许并不能学会其他的东西,当然很多时候这个时间是有必要节约的。节约出的时间,你用来做什么呢,玩,那就失去了软件复用的意义,这样你只会成为一个拷贝代码者没有任何创新意识。所以在你觉得你还不熟练某些东西时,或者不知道某些东西时,你最好亲自动手写一下,而不是拷过来。
这两点都很好做到,很多人都做到了这两点,然后就学一些管理或者其他的东西,然后这就是他们的编程之路了,我只能说这些人很难写出好东西来,即使写也多是重复前人的代码。说句实话能写出自己的代码,并能让别人使用,或者甚至成为一个行业的标准并不是那么简单,光是细节的东西估计就能使你崩溃了。
第三点要知道软件发展很快,但是盲目的追随或许你什么东西都学不到,即使学到,也不够深入,任何一门语言能够学到深入精髓,都有用武之地,而相反,什么都略知皮毛则是对一个程序员来说是很危险的。所以就有人提出要深入一门语言编程,不在一门语言上编程的说法,也就是说你要深入学习一门语言。
第四开始读书,书籍的重要性毋庸置疑,不要以为网络能够提供一切,其实很多深入的话题,在网上是找不到答案的,而很多网上的问题却多能从书中找到答案,一定要有个爱看书的习惯,在闲暇时,拿出来翻翻。
读什么书呢,这你可以去一个论坛或者帖吧里问一问,总有一些热心的人会给你提供帮助。
不要相信什么速成之类的话,如果你对某些东西投入的时间比较多,入门还是很容易的,大凡速成的书籍多是骗人的,里面或许有一些捷径,但你不要相信一个高深的技术有什么速成之道,如果真的速成了,那个人估计也没出书的份了。
还有一点需要注意的是,很遗憾的是在软件这一行上中国人出的好书不多,你看得书多是外国人写的,而那些作者不过是做些翻译,当然这些做翻译的我还是很鄙视的,翻译的那么差还好意思拿出来卖钱,我也懂点英语,以后也会翻译点东西,但我绝对是免费提供,我在怎么翻译,技术不是我的,而是别人,我凭什么拿那些版权费用,说到这,对那些译书赚钱的人再鄙视一下。
其实要想在软件这一行有所建树,依赖中国人的书暂时还是不可靠的,这是民族的悲哀,不过相信以后会改变的,中国人总有一天还是能够在IT这一行有自己的一片天空的。
如果你有自己的电脑,并能够上网,这样的话,你如果学不好软件,你就应该把自己电脑砸了。或者面壁三天,想想自己把时间是花在了看网页上了,还是看电视了,还是打游戏了。
玩物丧志,有很多学软件的同学包括我一开始进入这一行时,是个彻底的游戏迷,本人不反对娱乐,但反对沉迷,虽然自己也沉迷过。所以希望读者有所警醒。
其实电脑时拿来学习的,你可以下载一些电子书,可以去一些论坛和别人交流交流经验等等。不过我想你最好多问问别人在看什么书。
学习无涯,单单几天的修炼是成不了大事的,要不中国人也出个大牛来写个操作系统来啊,就因为很多人都在想什么速成,几天看完一本编程语言,然后就不思进取了,可悲。
在这里我也说说我看书的体会吧。
《深入理解计算机系统》我第一认真看完的书,英文版的,这本书包罗万象,像一本百科全书。
当然我看这本书时我已经学会了c语言并学过了微机接口和操作系统,数字逻辑等课,虽然学得不大好,但看完此书后感觉这些课都提升了。还有很多其他的书,我经常下一些电子书来看的,很多都是用到时才看的,比如《Effectiv C++ 》《more effectiv C++》还有一本《c专家编程》名字如有误别怪我,我读书不大记书名得。有的好书都没空看,有的看一些就有些作业,就不顾得,真搞不懂,有些大学老师就喜欢布置些无聊作业,做个什么什么系统的,听到就烦。但是就得去做。
如果你对操作系统感兴趣的话,有本不错的书《自己动手写操作系统》,还有一些其他的比如《保护模式的编程》之类的,名字不一定准确。
最后一点,要学会使用工具,要学会查资料,有很多你熟悉的语法其实你会发现并不需要那么熟悉,只要你能够迅速的查到了就行了,一个人的思想才是最主要的,语言最多不过是一个工具,如果你下功夫的话,最多一个星期你就能掌握一门语言的语法,但是语言的灵魂数据结构,语言的基础更底层的语言却是不那么快就能掌握的。
要想成为一个编程牛人,我想你至少要学会汇编,C语言,至于高级语言可选择性的学习,比如C++。虽然很多老师看不起底层的语言,但是没有底层就是空中楼阁,中国的软件就是底层不牢固,稍微晃晃,就倒了。
补充一下:加入开源的行列,学习linux,可以使你知识增长速度加倍。另外要好好学习c语言,可以说c是c++的基础,你平时所用的多是c里的东西,而c++不过多了个面向对象的思想和模板。学海无涯,把握好自己得方向。
去一些编程论坛帮助别人解决一些问题,无疑是增长兴趣最快的方法。
也去做个博客,将自己的编程经验记录下来,很多语法细节书上没有而你碰到了,但是又怕忘记了,所以就去记录下来。以后别人还可以看到你的博客,尊称你为大牛,多爽的事情!
good luck.
下面列一下别人学习C++的书目列表
1、《Essential C++》:Stanley B.Lipman著。
旁枝暂略,主攻核心,轻薄短小,附习题与解答,适合初学者。
2、《The C++ Programming Language》:Bjarne Stroustrup著。
技术权威,用词深峻,思想深远。C++百科全书代表。
3、《C++ Primer》:Stanley B.Lipman and Josee Lajoie著。潘爱民/张丽译。
纵横书市十数年不坠,内容巨细靡遗,被誉为C++最佳教本。C++百科全书代表。
4、《Inside The C++ Object Model》:Stanley B.Lipman著。侯捷译。
揭示C++的底层机制,揭开C++背后的重重布幔。
5、《Effective C++》:Scott Meyers著。侯捷译。
通过50个编程准则,向你灌输专家经验。行文幽默,深入浅出。
6、《More Effective C++》:Scott Meyers著。侯捷译。
通过35个编程准则,向你灌输专家经验。行文幽默,深入浅出。
7、《Accelerated C++》:
C++最佳入门书籍,快速掌握C++的全新方法,单刀直入C++核心部分。
8、《C++经典问答》:
comp.lang.c++精华荟萃,C++程序员进阶必备。
9、《Exceptional C++》:
著名网络专栏Guru of the Week的精华荟萃,47条专家经验,条条精彩。

STL:
1、《The C++ Standard Library》:Nicolai M.Josuttis著。侯捷/孟岩译。
C++标准程序库的百科全书。对于资料的收集、整理、剖析、范例,均有极优越的表现。
2、《Effective STL》:Scott Meyers著。
在STL深层运用过程中,你会遇到一些难解的问题和效率上的考虑。你需要知道什么该做、什么该避免。本书提供50个专家条款。
3、《Generic Programming and the STL》:Mathew H.Austem著。侯捷/黄俊尧译(繁体)。
既富学术价值又带有长远参考价值之工具书。STL学理概念及STL规格之说明无人能出其右。完备之STL规格文件与范例。
4、《STL源码剖析》:侯捷著。
向专家取经,学习内存管理、算法、数据结构之高阶泛型编程技法。让你知其然并知其所以然。精美的示意图、关键源码、丰富注解,将给你带来最佳的学习效果。
5、《Modern C++ Design》:Andrei Alexandrescu著。侯捷译。
泛型技术淋漓尽致,令人目瞪口呆。试图将泛型技术和设计模式结合在一起。开创先河,独领风骚。
6、《C++ STL》:
STL之父权威之作。
7、《泛型编程与STL》:
最具权威的STL书籍,侯捷评语“另辟蹊径”。

其他:
1、《深入浅出MFC》:侯俊杰著。
揭示MFC底层机制。
2、《C++经典算法》:
斯坦福大学教授的呕心之作,与《Art of Computer Programming》齐名的算法巨著。

阅读(1165) | 评论(1) | 转发(0) |

0
上一篇:网络内容审计关键技术

下一篇:关于高效的数据包捕获实验(1)

相关热门文章

开网店的友人留神了 淘宝又现...

开网店卖什么好——决议网店是...

开网店若何处置“问题买卖”_...

开网店技能 淘宝店肆客服子帐...

开网店必学的摄影教程_淘富阁...

linux 常见服务端口

【ROOTFS搭建】busybox的httpd...

什么是shell

linux socket的bug??

linux的线程是否受到了保护?...

ChinaUnix & ITPUB社区12周年...

ssh连接出现以下提示,求解...

如何扩展MYSQL

准备做一个大型门户,用户什么...

gbk or utf8

给主人留下些什么吧!~~



chinaunix网友2008-06-11 20:59:24
就是不想看书还介绍那么多的书!!!!!!!!1
回复 | 举报

评论热议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: