1.fibbery大哥语:
既然称之为语言,那么,C/C++也具有和人类语言一样的特性,都是使用符号来描述要表达的事物。
人们在写作文的时候,有人写得非常耐人欣赏,有人写得不知所云。这里面至少有两问题,写得好的,用词准确语句通常、构思巧妙逻辑清楚,而写得不好的呢,词不达意、逻辑混乱等等。进一步总结一下,那就是对语言的掌握水平和写作的思想水平。前者,恰恰表达了“工欲善其事必先利其器”的道理。
想用C/C++语言编写程序,那么首先要掌握C/C++这门语言,掌握的程度直接影响了使用C/C++写作的水平;其次,编程思想的培养非常重要。所以,在编程的世界中,要两条腿走路,不断地学习语言的同时,不断地锻炼自己的编程思想。
从学习的角度来说,分为理论学习和实践。
对于学习C/C++相信大家都有自己的学习方法,我建议买一本厚书从头到尾读一遍,例如:《C++ Primer》,我本人的这本厚书,可能大家没听过,《C++精髓》,这本书是从软件工程的角度来学习C++的,我认为非常好,但现在市面上可能已经不多了,我只在海淀图书城昊海楼3层刚上楼梯出的低折销售计算机图书的书店里看过还有两本;编程思想的培养,数据结构能够培养我们的抽象数据类型的设计能力、以及算法的设计能力,但是在面向对象编程的今天,这些是不够的,我们还需要找些面向对象编程方面的书;读到这里,有人可能会提到设计模式,设计模式和面向对象的设计方法没有任何矛盾,甚至还有着不能分割的关系,例如:工厂模式,必须由面向对象的最重要的概念之一来实现,那就是虚拟和多态。其实,我认为设计模式就是几种软件设计的方法,解决某些特定问题的方法,而面向对象是一种更为基础的软件设计方法。面向对象方面的书,很早前我选择的是《面向对象的软件工程——构建复杂且多变的系统》以及一本具有例子的UML方面的书。设计模式选择那本经典的“四人帮”的书吧。
实践是检验真理的唯一标准。这句话说明了实践的重要性。要将你所学的东西,在实践中不断的重复使用,而且强制使用,这样你会有更深刻的体会。学习面向对象的设计方法,那么就把你的程序以面向对象的方式来实现。一切皆为对象。一只麻雀,由头、翅膀、爪子、尾巴、身子构成,而每一个对象又由其他对象构成,比如眼睛、嘴巴、鼻子(有鼻孔的)、耳朵、脑袋构成了头。有一句话叫“麻雀虽小,五脏俱全”,我们的每一个程序,不分大小,都可以使用面向对象的方法编程,合理的对象划分,有助于程序的维护和扩展。学以致用,想方设法的去使用,用心去体会你学到的每一个知识点。
学习C/C++语言,有些人发现,学完了之后,不知道能干什么。为什么?因为感觉除了算个n的阶乘、求各平方再则做个矩阵转换。一门编程语言,脱离不开操作系统。我们在学会了C/C++这门语言的同时,必须要知道,在某一个操作系统上如何编程。可以说现在编程有两大阵营:Windows编程、Unix编程(含Linux)。我们必须去选择在某一操作系统下的编程,否则,我们的程序还是什么都做不了,一个不能和其他程序发生关系的程序不是一个真正的程序。比如,进程间通信、网络编程、系统API调用等等。
努力了,我们就有实现自己理想的机会;只生活在抱怨中,那么除了抱怨,我们将一无所有。态度决定成败,性格影响人生。
最后,我还是要说,不要神化西方,我们中国人现在应该找好自己的位置。
中国的软件水平,我们每一个软件从业者都有代表成分的,与其说我们的软件水平低,不如直接说我的软件水平低,与其呐喊中国要提高软件开发水平,不如闷头做好自己的事情,提高自己的软件开发水平。
2.无名
linux开发超经典书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata著
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
硬件基础
1、《ARM体系结构与编程》杜春雷著
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O'Hallaron著
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
看到这么多书自己都麻了,啥时候能看完啊,看完容易,到死估计都不一定全理解啊
阅读(705) | 评论(0) | 转发(1) |