关于计算机入门方面的书籍有:
一、《c语言程序设计 》
《c语言程序设计 》是2012年12月18日清华大学出版社于出版的图书,作者是黄容、赵毅。本书是学习C语言程序设计的基础教程,内容包括C语言概述、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、函数、指针、结构体、文件等。
本书以程序设计思想的掌握为主线,以编程应用为驱动,通过案例和问题引入内容,由浅入深,循序渐进,重点训练学生的编程思想,能够充分提高学生的编程能力,锻炼学生的工程能力和创新能力,并鼓励学生利用所学C语言知识解决专业的具体问题。
二、《计算机概论》
《计算机概论》是出版的一本图书,作者是严世杰 金子葳 洪秀朋 周伯毓。本书主要讲述了整个计算机科学划分成体系结构软件数据组织和机器的潜力四大部分,对这四部分以及相关领域的知识做出了贴近时代深入浅出的介绍。
三、《Java编程思想ThinkinginJava》
Bruce Eckel是MindView公司的总裁,该公司向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,拥有应用物理学学士和计算机工程硕士学位。
除本书外,他还是《C++编程思想》的作者,并与人合著了《C++编程思想
第2卷》(这两本书的英文影印版及中文版均已由机械工业出版社引进出版)及其他著作。他已经发表了150多篇论文,还经常参加世界各地的研讨会并进行演讲。
四、《微型计算机原理及应用第三版》
本书主要介绍由80x86/Pentium微处理器构成的微型计算机的原理、应用及最新发展现状。书中阐述了80x86/Pentium微处理器的编程结构、指令与寻址方式、汇编语言程序设计、存储器技术、总线技术,并阐述了80x86/Pentium微处理器构成的微型计算机硬件电路系统。
五、《计算机网络》
《计算机网络》是2008年电子工业出版社出版的图书,作者是谢希仁。该书全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层等内容。
全书分为10章,比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层、网络层、运输层、应用层、网络安全、因特网上的音频/视频服务、无线网络和下一代因特网等内容。
1 《信号与系统》
本书是美国麻省理工学院的经典教材之一,涉及到信号与系统分析的基本理论基本分析方法及其应用。
全书共分十一章:主要讲述了线性系统的基本理论、信号与系统的基本概念、线性时不变系统、连续舞样、通信和反馈系统中的实例,并行讲座了连结系统、离散系统、时域系统和频瑾系统的分析方法,以使读者能透乇地理解各种信号系统的分析方法并比较其异同。
2 《新机器的灵魂》
Tracy Kidder的《新机器的灵魂》是计算机科学领域为数不多的必读的历史书籍之一,kidder的这本经典著作第一次出版在1981年,至今仍然是备受推崇的计算机书籍之一,它完整地记录下了当时一家公司齐心协力把一种新的小型计算机推向市场的过程中所发生的一系列戏剧性的、充满戏剧色彩的、激动人心的故事。
计算机专业的学生也会欣赏这种商业模式,这里面也只提到了一种模式,但它已经成为许多科技企业仍在坚持的一种模式。
3 《>
>
软硬件工程师也可以将本书作为>
本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。
4 《鸟哥的Linux的私房菜》
本书是初学者学习Linux不可多得的一本入门好书,全面而详细地介绍了Linux *** 作系统。
全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口 shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。
5《编码》
在《编码》一书中,向我们展示了使用语言的一些直观方法并创造新的方法来进行相互之间的交流,此书使我们明白了这种创造性以及我们人类对交流的迫切需求。
其中《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位,在Java类书籍中排名第2位。豆瓣评分为88分,有百分之544%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Java 初学者? - 书籍推荐
《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序 语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
Head First系列的图文并茂学习方式能让你快速地在脑海中掌握住知识。敞开心胸准备好学习这些关键性的主题:
Java程序语言
面向对象程序开发
Swing图形化接口
使用Java API函数库
编写、测试与布署应用程序
处理异常
多线程
网络程序设计
集合与泛型
《疯狂Java讲义》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、 Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。共覆盖了 javaawt、javalang、>
对于这本书,大家并不陌生。 《Thinking in Java》在京东平台有超过45w+的评论,在京东计算机类书籍中热度排名第9位,在Java类书籍中排名第1位。在豆瓣,总评分达到91分,有611%的读者给出了五星的评价。在知乎社区也是一本被极力推荐的书籍,当然这本书希望你可以在读完上面两本之一之后再开始拿起这本书。
很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。
《Java 核心技术》在京东平台有超过15w+的评论,在京东计算机类书籍中热度排名第37位,在Java类书籍中排名第5位。在豆瓣,总评分达到89分,有534%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。
《JAVA核心技术(卷1):基础知识(原书第 8版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展 的步伐,而且每一版都重新改写了的部分内容,以便适应Java的最新特性。本版也不例外,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用 程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。
图书的一个基本大纲:
1-6章:概述和基本语法,为便于C++程序员迁移,附有大量C++对比注释,还有各种“注意”“警告”的tips,这编排很好。
7-9章:Java基于awt和swing包的界面开发由于缺少良好的IDE支持,界面设计和布局问题让习惯了VS的初学者很烦躁,789可跳读,核心机制是事件驱动-监听-方法回调的机制。书中很多相关示例代码。
10-11 章:应用部署和applet,先了解一下,要发布时再仔细看也来得及,至于applet,据说现在用的比较少了。如果你熟悉C++或C++++的话,异常 几乎没新内容,但是建议读第4章之前先读一下异常这章,因为java中所有可能的非运行时异常都需要人工捕获处理。
12-13章:虚拟机的泛型系统实现特点及使用注意是第一卷的进阶精华,也是MetaPrograming的第一步,和C++的template的实现很不一样,C++的程序员要注意比较区别。至于集合,要注意分类,因为历史遗留和兼容性问题,java这块比较乱。
14章:先有多线程的概念在看书要好些,包里有一大堆过时的API,小心尽量不使用。书里的配图很好。
如果你想学好Java,想知道Java的原理吗?这本书会是你的不二选择。 《深入理解Java虚拟机:JVM高级特性与最佳实践》在京东平台有超过35w+的评论,在京东计算机类书籍中热度排名第24位,在Java类书籍中排名第3位。在豆瓣,总评分达到86分,有436%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。
玩java不懂JVM那岂能行,此书乃java进阶必看的书籍,对java内存模型,JVM工作原理,基本JVM调优和内存溢出排查有很大的帮助
全书共分为五大部分。第一部分从宏观的角 度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7,这对理解后面的内容很有帮助。第二部分讲解了JVM的自动内 存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工 具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载 器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装 箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的 数据和结果。第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和 *** 作;原子性、可见性和有序性在Java内存模型中的体现;先行发生 原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。
本书适合所有Java程序员、系统调优师和系统架构师阅读。
老司机带你分析SpringMVC框架设计原理与实现
链接:> 密码:57w4
Netty粘包分包现象及解决方案实战,防socket攻击
链接:> 密码:dk9n
大型企业级高并发下数据库水平切分之读写分离技巧详解
链接:> 密码:ri8q
分布式事务出现场景及解决方案详细剖析
链接:> 密码:380p
以上都是小编收集了大神的灵药,喜欢的拿走吧!喜欢小编就轻轻关注一下吧!
学计算机专业要看哪些专业书
计算机专业是一个大的门类,主要看你想学哪个专业方向。如果想学广告设计方面,可以从平面设计photoshop开始学;如果想学网络技术方面,可以选择一些网页编辑、动画方面的书缉;如果想学程序设计方面可以选JAVA等方面书……
学习计算机读哪些书有什么用
1,高等数学:为了及格,同时帮助概率及格
2,概率:为了证明高等数学可以帮助及格
3,线性代数:如果你学习计算机图形学,就是opengl/direct3d的话,里面的3d模型的空间坐标用矩阵来表示的,如果你需要把它们进行投影,叠加,移动,就需要矩阵乘法/变换/转置等等,所以还是很有用的
4,离散数学:主要是给你打下计算机数据模型的理论基础。里面包含集合,数,图,等等,更重要的是如果你以后要搞研究,研究0错误程序,就是完全没有bug的程序,就需要用它上面的推导理论来对程序经行证明。如果你要通过系统分析员,这个也是要考试的
5,数字电路/计算机组成/计算机技术:如果你是一个很深入的程序员,你会问:为什么浏览器可以显示那么多东西->有语言->语言是怎么开发的->高级语言->高级语言怎么完成的->汇编->汇编怎么来的->固化/机器语言->机器语言如何能 *** 纵计算机->在节拍电路的干预下,内部芯片的结构把0/1字符串译码, *** 作累加器,总线,内存做不同的 *** 作那好,这个过程差一个东西都不可以,如果你只学习里面的高级语言部分,那岂不是神龙见首不见尾,感觉很不爽???所以你要能自己做一个计算机出来才好!
数字电路是学习门电路组成的,就是如何把流动的电信号保持下来,同时让他们有规律地变化
计算机组成是让你用门电路来设计内存/cup/时钟等等
计算机技术是让你综合学到的东西,做一个简单的计算机出来。
有了哪些知识,当然还要包括编译原理,软件工程, *** 作系统,数据库,网络,你学习其他的语言,什么vc/vb/deliphi等等,每种语言不超过3个月你就是高手。你要学windows程序,要用api,只需要15天就可以作出像模像样的东西。当然,我这里是指语言本身而言。有了这些基础和语言掌握的熟练,你想学数据库编程,好,复习一下数据库的课程,查阅一下sql的语法,1天就有眉目了。你要学网络编程,选择一种库,看看文档,明白函数的用法,也就是一两天的问题。等你做出点东西,有了信心,你也就有了经验。这个时候去明白j2ee/ 等等的frame work,就很容易了。参看以下design pattern,你也就胸有成竹,做个小组长也可以。再过几年,有了机会,说不定就当了manager,等了到了三十多岁,你不想干软件了,你有计算机组成的基础,找几个高手带你一下,你可以去做单片机的汇编语言编程,可以去做embeded system
所以,学好了基础,也就是厚积薄发,后面你想怎么发展都可以!
学了数字电路才知道,原来很神秘的电脑是由一些触发器,逻辑门组成的,把它们集成再集成,就成了电脑了,译码器,全加器,计数器
CMOS不过就是一种存储器,BIOS不过就是面向硬件的一种已编好的子程序,(和C的库函数差不多,我认为)学好了汇编,我可以自己编(还让我花了30人民币,买了一本CMOS设置书,认为它很高深莫测)
不学好C,怎么学好WINDOWS程序设计,怎么能做一个优秀的程序设计人员
不学好前人花几十年时间总结出来的数据结构,你的进步能有多快,那是让你踩在巨人的肩膀上。(你要是天才,我就没话说了,不过要是学了,你会更天才)
这是我自己经历的一点学习基础课的过程,它给我解疑释惑,当然这些问题在行家眼里可能不值一哂,但它是每一个新手必经的过程。
更为关键的是,基础课给了我们最核心的知识,让我们能在离开学校后有继续学习的能力。它给了我们一个知识结构,让我们能在他的基础上扩充,把新的东西加入自己的知识框架中,这是基础课重要的意义所在。很多人提到基础学好之后,学习新东西很快,就是这个道理。
不可否认的是,基础课很枯燥,很费劲。但这要看你怎么去看它,你想一想,学好了他,就能抓到计算机的本质,能让他对你俯首帖耳,这难道还不够激动人心吗?老在别人的基础之上作设计,却不懂所以然,不闷吗?
既然讨论的题目是给在校大学生一点建议,那我也说一点儿。
先说技术层面的,在学好专业课的基础上看一些学校里不讲的新知识,新技术,能促进你的融会贯通,但不可本末倒置。
再说最关键的,最想说的,请在校的学生们珍惜你的时光,不要都去打了游戏,谈了恋爱,时光宝贵,机会难得。
我经常对自己说,如果再让我上一次学,我会
可是不会了,我只好对自己说,如果我现在再不学,就会
于是我努力去学,边工作,边学习,舍不得丢掉一节课,在校的学生们可能无法体会听老师讲课的幸福,自学时怎么也搞不清的东西,老师一句话就茅塞顿开,老师那清晰的思路也让你受益匪浅(在这里应该感谢那些老师们,虽然他们有些时候的简略很让人恼火)。但越学,心里越没底,有太多的东西我都没学好,更有很多东西根本就不知道,正所谓皓首穷经。
我不时的咒骂自己的懒惰,也许是过于愚笨,努力不够,学习计算机也有三年多了,直到现在,我才觉得自己开始了解计算机,才明确了方向。
我从文科转入这一专业,而且也不小了,就凭着我对计算机有着强烈的兴趣。他是人类智慧的体现,程序设计更是一种艺术,他能让我们的才华得到充分发挥,我会继续努力下去的,虽然有些迟了,但为了不更迟。
希望在校的学生们能多珍惜一些时间,不要比我还迟。
下来如果觉得自己接受能力强的话就可以开始学C语言了(注意不是C++),如果感觉有困难也可以先学Pascal过度一下。还有很重要的一点就是千万不要一开始就学VB,DELPHI,VC之类的东西,这些东西在一开始学会对你造成很坏的影响。有可能会把你引入另外一个错误的学习方向而忽略了真正应该掌握的东西。学C主要是学过程话的程序设计,学会把自己的程序分成许多的函数(或过程),养成良好的编程习惯。这时可以多看一下高人的程序,不一定要懂意思,主要是学会别人程序的格式(比如变量如何起名,怎么划分函数)。除开掌握基本的控制流语句外,应该学习一些很简单的I/O函数和数学函数。C的学习主要是你舍弃原来BASIC程序那种把所有语句积成一大堆的风格,要学会使用函数,提高代码重用性。对于指针之类的东西如果实在看不懂可以先不去管,到后面会有办法。当你能够比较自如的用C编写一些小的计算程序时,你就可以开始你的数据结构的学习了(数学的学习主要是在学校,自己要多用心)。数据结构你可以一点一点漫漫看,并不需要专门空出一段时间来专门研究,这样的目的是让你能够很好的掌握它,要学会用数据结构的知识来规范自己的程序设计和提高程序的效率。学完C我认为接着最好学习汇编。这个或许有许多人都会反对,然而我个人认为这样是很好的。从最基本的DOS汇编开始,买本《IBM PC汇编程序设计》(清华黄皮)一定要一点一点吃透,实在看不懂就跳,反复的严读是一定可以看懂的。汇编是一定要掌握的,因为它涉及到很多最基本的知识。掌握了汇编和对I/O有了个很彻底的认识后,应该去学编译原理。这个东西并不要精通,但是一定要知道,在大脑里要有一个这样的概念,这对你对程序语言的控制能力都有很大的帮助。这样最基本的学习就算完成了。一般智力正常的人前一段东西应该都是可以掌握的。接着后面的学习就要看你自身的造化了。这个时候你应该研究一下数据结构,不要分散自己学习的注意力,要知道数据结构是异常重要的(相信我,绝对没错)如果你觉得自己已经对于树,连表,堆栈之类的东西和排序,递归之类的算法已经十分清楚,就可以开始学习C++了。学习前一定要有个正确的认识,那就是C和C++是两个不同的东西。学习C++是为了学习面向对象的程序设计,这个时候你对于指针应该也能够掌握了(有汇编的基础),主要抓住C++和C相比的一些新特性,对于多态之类的特性要注意理解掌握,如果没有搞懂就坚决不要往下学习。一些基本的概念掌握以后可以看一些别人设计的程序,学习别人怎么利用面向对象的方法来设计程序的。这个东西也是人之间拉开档次的一个环节,可以和数据结构放在同等重要的地位。我就见过有的人都大学毕业了还搞不懂virtual到底是怎么一回事情。其实我认为学到这里你已经为你成为一个优秀的程序员打下了很好的基础,你已经能够应用C++,懂得面向对象程序设计,对数据结构掌握很好,掌握汇编和编译原理。接下来的学习就是基于 *** 作系统平台的了,一般是先学windows(Microsoft毕竟是老大),先学win32 api,搞请windows基本消息机制和原理,有汇编基础基本上不会碰到什么困难。
其实只要会了API,其余什么MFC,VCL都是囊中之物了,都不过是对于API的封装而已。VC,C++Builder都可轻松拿下,这只是开发工具的问题。以后的OLE(ActiveX),NET,数据库就要看自己的发展方向而定了。我在这里强调的是前面的基本能力的学习,后面 *** 作平台虽然知识体系庞大,然而毕竟比较死,更好掌握。最后编程能力的高低主要还是有以下几点决定:1。编程的习惯 2。数学能力(包括逻辑思维,分析问题的能力) 3。对数据结构的认识能力 4。经验的多少(包括多使用语言的掌握能力)
学习编程的道路是充满艰辛,漫长而曲折的,作者罗列了一堆自己知道的编程方面的知识,并且给出了一个具体的顺序,所谓先学什么,后学什么;没学会什么,就一定不要去学另一个什么其中很多内容有一些道理。但是总是难逃片面。
从入门到精通一类的东西看的太多了,难道真的凭借一本书就能从一个电脑盲编程精通的专家了么。我郑重的建议那些想“速成”高手的人,放弃你的想法吧。一个计算机专业的本科生,要花上4年时间才能毕业,需要学习的专业知识岂是一朝一夕就能掌握的。就算去除一些公共课所占用的时间,我觉得要入计算机行业这个“门”,至少需要两年的时间。两年后才能说,对计算机有一些了解了,知道了计算机的基本组成原理,对时钟晶振,中断芯片有一定了解,用汇编简单控制8259编程。也知道了一些计算机程序设计语言方面的原理,掌握了一俩门传统的样板编程语言,了解了i++和++i对于VC的编译器来说意味着什么,有了一些数据结构方面的认识,能把现实生活中的一些问题用程序模拟出来。
但这一切也不过是刚刚入门而已,只是打基础。至于以后再学习Windows系统原理,消息机制,掌握这个类库,那个类库;抑或是研究Linux内核,进而了解嵌入式系统开发工具和方法,那要看个人喜好了。我只是举几个例子,但是随便那个,要敢说自己已经完全掌握,至少还要几年吧。
如果上面的东西中有的已经很精通了,可以称为专家了,那么恭喜你,你可以考虑把这些东西再总结,提升一个层次,从系统架构角度回顾一下要实现某个需求,通常需要使用什么技术,多少人,多长时间来开发,成本多少,收益多少,风险又有多少,还可以总结出一些控制软件开发进度的方法,生成软件的方法,人们把这些方法归纳起来叫做软件工程。而你,也应该是一个项目经理了吧。
如果这些东西都学会了,再次恭喜你,你可以考虑能不能把现有的客户拉到自己身边来,找个人给自己投资,成立自己的软件公司。成为浩浩荡荡的软件创业者中微不足道的一员。
自学了VB,VC,数据结构,离散, *** 作系统,数据库原理等。
开学以来做完了数字图像处理的所有的实验--有个别实验还是很难的。我从paperVC++被逼--也算是熟练(离精通差远了)而系里其他的同学却没有一个自己全部编出来的,都是抄书的。但并不能说明他们的计算机水平都差,比起编程水平,我更佩服那些真正计算机专家--尽管他们不编程。但是他们的研究成果往往大大帮助我们编程,很多编程思想都是他们过去的研究成果!我们就算编出来了--也就是说明我们有点小聪明,但决不可以和系统完备的大智慧相比!就像我们可以利用数学定理计算一些复杂的数学题目一样,这没什么了不起--真正了不起了还是那些定理提出者,和证明者。这一个学期前我一直想好好地把编程好好学学,可是越来越觉得数学功底不足(当然不仅仅只高数)。现在真佩服那些数学家!真正的计算机专家!过去学数据结构时,八皇后,背包,搜索--一直令人头疼,好像懂,但不爽,记不住。在一个专家(图灵奖获得者)的看似简单思想的指引下--这些算法统一到了一起-------一切似乎都那么明了!显然如果你编程的话也提高编成的水平。还有记得学数据库原理,开始那段自己在没有规则指引的条件下想理清楚各种事物的关系时,是那么的混乱。而有了armstrong公理系统的三条规则---世界就一下子变得清晰!--这个最好的程序员能做到吗,他也只能每次遇到具体问题,每次发挥它聪明去理关系,也难保不出错,还要累死大量脑细胞!
既然读研究生,重点在思想。但我有自知之明,我们那么好的功底,也许以后就是编编程序,难弄出这种精华的东西,但是注重思想的学习-会对学具体知识起到巨大指导作用。所以我不会觉得编程水平低的就不行--很可能比程序高手的价值高很多倍!
但迫于个人造诣和以后就业的压力,还是把流行技术性的东西掌握一下好。
说到底,要想成为优秀的程序员,还是要注重基本理论的学习。
终于点到题目上来了。大多数的人都希望自己的东西能够马上跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构, *** 作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或缺的。
一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的所有时间花在了汇编,计算机体系结构,数据结构, *** 作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows *** 作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。
几个重要的基础课程
计算机 *** 作系统原理-我们的开发总是在特定的 *** 作系统上进行,如果不是,只有一种可能:你在自己实现一个 *** 作系统。无论如何, *** 作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也很多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。
数据结构和算法-这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。
软件工程-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(**,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。
Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。
上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。
对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。如果不是,请参照计算机系的课程表。如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实践一种理论或者算法。
你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书。
日三省乎己
每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。
把最多的时间花在学习上
这是对初学者最后的忠告。把每个星期玩SC或者CS的时间压缩到最少,不玩它们是最好的。同时,如果你的ASP技术已经能够来钱,甚至有公司请你 的话,这就证明你的天份能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。眼光放长远一些,这无论是对谁都是适用的。
相信你已经能够决定是否学习C#或者什么时候去学它了。
学计算机专业的需要看哪些书籍呢?高中起点计算机本科:
1 计算机科学与技术专业:C语言程序设计、计算机组成原理、数据结构、 *** 作系统、
微机原理及汇编语言、计算机网络、计算机系统结构、软件工程、面向对象程序设计等。
2 计算机软件专业:面向对象程序设计、计算机组成原理、 *** 作系统、数据结构、计算
机网络、软件工程、编译原理、分布式系统、软件项目管理、Oracle数据库系统等。
3 电子商务专业:管理学原理、电子商务、物流管理、计算机网络、供应链管理、电子商务平台及核心技术、国际商务管理、电子商务案例分析、商务网站建设等。
专科起点计算机本科:
1 计算机科学与技术专业:计算机组成原理、数据结构、面向对象程序设计、 *** 作系统、计算机系统结构、软件工程、数据库原理及应用、计算机网络、嵌入式系统与结构等。
2 计算机软件专业: *** 作系统、数据结构、面向对象程序设计、计算机原理及系统结构、数据库系统、JAVA程序设计、计算机网络、软件工程、中间件技术、信息系统集成等。
3 电子商务专业:管理学原理、数据库原理及应用、管理信息系统、金融学、电子商务平台及核心技术、物流管理、计算机网络、人力资源管理、供应链管理等。
自考计算机专业该看哪些书呢自考计算机专业的科目你可以到当地的自学ks办公室买一本《自学ks报考指南》,里面你所在省的所有自考专业及科目都有!
学计算机专业的都有哪些专业书本?c语言 c++ java(谭浩强的不错) ~~~~~~~~~~~~~~~ *** 作系统,数据结构,linux,软件基础,计算机网络(自顶向下那本不错)~~~~~~~~~~~~~
大学计算机专业应该看哪些书作为过来人,我建议你应该先好好保持英语,至于计算机专业方面的书籍,现在没必要去看,看看计算机概论就够了,了解计算机的构造,现在可以想想你要走什么方向,计算机领域很广,要是全部按照学校的授课方式,你什么都要去学,但是后果是你什么都不精通,找工作没有丝毫用处。建议你选好具体方向,然后专门研究那个方向,当然,知识嘛,多多益善,但是要有主次
非计算机专业自学计算机编程入门需要看哪些书?首先计算机基础要弄清楚,如果对计算机很熟悉,这个可以跳过。
之后是最重要的,就是C语言。基本上计算机编程都是C语言,有的就算不是,一理通百理,学好了C语言,其他的都不在话下。这个是最重要的。
然后是数据库,这个和C语言来说,就相当简单了。
急!计算机专业考公务员的话考些什么内容,还有要看哪些专业书??国家公务员考试科目:
1 内容。公共科目包括行政职业能力测验和申论两科。有关情况详见《中央机关及其直属机构2016年度考试录用公务员公共科目考试大纲》。
报考中央对外联络部、外交部、教育部、商务部、国家外国专家局、全国友协、中国贸促会等部门日语、法语、俄语、西班牙语、阿拉伯语、德语、朝鲜语(韩语)等7个非通用语职位的人员,还将参加外语水平考试,考试大纲请在相关招录部门网站查询。
报考中国银监会及其派出机构、中国证监会及其派出机构特殊专业职位的人员,还将参加专业考试,考试大纲请在考录专题网站,中国银监会、中国证监会网站分别查询。
省公务员考试:大多数省份是考公共科目包括行政职业能力测验和申论两科。
辽宁移动计算机专业面试需要看哪些书,计算机专业面试主要考哪些题?万分感谢!本人广东移动员工。数据库、还有JAVA和C++语言很重要!另外,掌握基本的测试原理和技术也会帮助不少。
移动校招录取的学历一般要求研究生以上,当然大牛的本科生也会考虑!
移动目前最缺牛的系统架构师!不是哪个省缺,我能告诉你全网都缺!
所以如果有系统项目经验,会加分不少!
希望能帮到你!
非计算机专业学习JAVA看哪些书零基础学Java》和 《JAVA编程基础、应用与实例》
要学计算机专业需要了解哪些知识需要看哪些书计算机也有很多专业,比如软件工程、硬件方面的、网络工程、或者是综合的计算机科学与技术。等等。看书,想计算机体系结构, *** 作系统什么的。
哦,上帝!《The Art of Computer Programming》引那位出名的王垠对TAOCP的评论:本来早就想想写一个对于Knuth的The Art of Computer Programming的看法。没想到一去Amazon就找到一个同类关于Knuth的 TAOCP,我想,大部分人声称看了他的书,或者买了他的书,不过是作为一种炫耀的资本或者摆设。我对门的同学几年前就买了一套三本,全新的精装本,花了 200多块钱。可是呢,他从来就没看。我把它借过来,看了几页就放在那里没有看了。我哪有时间看他用那些一个字节6位的机器语言实现简单的链表!有一天一个师弟走进来,看到那套书在我书架上,显示出一种敬畏感:“挖!师兄!你好牛啊!居然看这么高深的书!” 我一愣。嗯,不错嘛,这套书放在书架上可以让人对我刮目相看。这恐怕就是它对很多人的实际作用。还有人可以帮助神化这套书,同时也神化自己,比如他可以这么说:“谁要是看完了Don Knuth的 The Art of Computer Programming 我就雇用他!” 这样可以显得比一般看过书的人还要高一等。据说Bill Gates就是这么做的。我怀疑他自己看完过没有。我讨厌这套书的一个原因就是Knuth故意用一个叫 MIX 的处理器的机器语言来写这本书。虽然在新版的书里他设计了一种新的处理器 MMIX,但是换汤不换药。他以为一部“永恒”的计算机编程书不应该使用高级语言,因为它们很容易过时。但是他错了,机器语言恰恰是最容易过时的东西,看看现在有多少牌子的更新换代的处理器就知道。而世界上确实存在非常高级的语言从60年代到现在都没有过时。我预言,MMIX会在不久的将来被淘汰。很好笑的是MMIX是在MIX上加了一个“M”,代表Millennium(千禧年)。关于它的专著也起名为 MMIXware---A RISC Computer for the Third Millennium。一千年甚至短短一百年,几十年以后,计算机还是不是二进制的集成电路都说不清楚,况且这个处理器其实就是从别的处理器比如RISC II, Sparc之类的捡了一点东西,没有什么大的创新。他就把这个处理器的模拟程序印在纸上卖,曰:“一个优秀的程序要像一部好的小说一样容易读懂。一个优秀的程序员会在将来拿到普利策奖。”用机器语言写一点初级的计算机入门部分还可以,但是用来写整整一部书未免容易让读者只见树木不见森林了。看TAOCP最容易出现的一种现象就是,“哇!原来这个程序可以这么写。” 但是你不知道为啥那么写。虽然可以知道一些底层的原因,但是最根本的原理,读者始终不会明白。就像看清楚了一张上的每一个像素,却认不出上其实是一个熟人。看清楚了棋盘上每一个棋子能走的地方,却不能赢棋。Dijkstra 说计算科学不应该被叫做"computer science",就像外科手术不应该叫做"knife science"。可是这关Knuth什么事呢,他的书名叫做 The Art of再说他的支票吧…… 很多人拿了Knuth的支票就作为一种可以炫耀的东西。以前我就看到一个Cambridge的教授主页上挂着一个Knuth支票的照片。Knuth的支票真的可以作为炫耀的资本吗?告诉你们,我找到的错误都是typo而已,没想到他也给我支票。谁叫他打字不小心,Millennium都能打成 Millenium?嘿!我凑足了一顿饭钱的支票时就想去中国银行兑现,准备换了钱大吃一顿。可是银行的职员告诉我,他们必须把支票寄回美国才能拿到现金,办理这件事的费用大大高于支票本身的价值!所以Knuth相当于给我一些空头支票。Damn!早该想到的,他为什么不往大家的xyk上面转账,而使用支票这种过时的东西!他明显觉得有他签名的支票,肯定谁也不会拿去兑现,甚至装裱在相框里作为纪念。hmmm 算你狠~好了,啰里啰唆。还是看看这个别人写的书评。White elephant,这确实道出了我对这套书的感觉。 (但是评价者有些观点我不能苟同,比如“O(n)表示法足够了”。) 希望以后对 paper 也有这种公开的 comments!Dan Friedman 的故事 (4)——C311当我刚从 Cornell 转学到 IU 的时候,Dan Friedman 叫我去上他的研究生程序语言课 B521。我当时以自己在 Cornell 上过程序语言课程为由,想不去上他的课。Friedman 把我叫到他的办公室,让我在他旁边坐下来,和蔼的对我说:“王垠,我知道你在 Cornell 上过这种课。我也知道 Cornell 是比 IU 好很多的学校。可是每个老师的教学方法都是不一样的,你应该来上我的课。我和我的朋友们在这里做教授,不是因为喜欢这个学校,而是因为我们的家人和朋友都在这里。”后来由于跟 Amr Sabry(我现在的导师)的课程 B522 时间重合,他特别安排我坐在本科生的 C311 的课堂上,却拿研究生课程的学分。后来发现,这两门课的内容基本没有区别,只不过研究生的作业要多一些。在第一堂课上,他说了一句让我记忆至今的话:“《The Little Schemer》和《Essentials of Programming Languages》是这门课的参考教材,但是我上课从来不讲我的书里的内容。”刚一开始,我就发现这门课跟我在 Cornell 学到的东西很不一样。虽然有些概念,比如 closure,CPS,我在 Cornell 都学过,在他的课堂上,我却看到这些概念完全不同的一面,以至于我觉得其实我之前完全不懂这些概念!这是因为在 Cornell 学到这些东西的时候只是用来应付作业,而在 Friedman 的课上,我利用它们来完成有实际意义的目标,所以才真正的体会到这些概念的内涵和价值。一个例子就是课程进入到没几个星期的时候,我们开始写解释器来执行简单的 Scheme 程序。然后我们把这个解释器进行 CPS 变换,引入全局变量作为"寄存器" (register),把 CPS 产生的 continuation 转换成数据结构(也就是堆栈)。最后我们得到的是一个抽象机 (abstract machine),而这在本质上相当于一个真实机器里的中央处理器(CPU)或者虚拟机(比如 JVM)。所以我们其实从无到有,“发明”了 CPU!从这里,我才真正的理解到寄存器,堆栈等的本质,以及我们为什么需要它们。我才真正的明白了,冯诺依曼体系构架为什么要设计成这个样子。后来他让我们去看一篇他的好朋友 Olivier Danvy 的论文,讲述如何从各种不同的解释器经过 CPS 变换得出不同种类的抽象机模型。这是我第一次感觉到程序语言的理论对于现实世界的巨大威力,也让我理解到,机器并不是计算的本质。机器可以用任何可行的技术实现,比如集成电路,激光,量子,分子,基因…… 但是无论用什么作为机器的材料,我们所要表达的语义,也就是计算的本质,却是不变的。而这些还不是我那届 C311 全部的内容。后半学期,我们开始学习 miniKanren,一种他自己设计的用于教学的逻辑式语言 (logic programming language)。这个语言类似 Prolog,但是它把 Prolog 的很多缺点给去掉了,而且变得更加容易理解。教材是免费送给我们的《The Reasoned Schemer》。在书的最后,两页纸的篇幅,就是整个 miniKanren 语言的实现!我学得比较快,后来就开始捣鼓这个实现,把有些部分重新设计了一下,然后加入了一些我想要的功能。这样的教学,给了我设计逻辑式语言的能力,而不只是停留于一个使用者。这是学习 Prolog 不可能做到的事情,因为 Prolog 实现的复杂性,会让初学者无从下手,只能停留在使用者的阶段。我很幸运当初听了他的话,去上了这门课,否则我就不会是今天的我。谁是真正的程序语言专家Knuth 也曾有类似的说法:“要是看不懂 TAOCP,就别当程序员。”他总是被誉为“计算机科学的神”,在他的演讲里大谈文学,艺术,上帝和宗教,给人陡增神秘感。他总是说程序员应该学习机器语言,而不是高级语言,机器才是不变的真理。但是 Knuth 却不是从科学的角度来看这个问题,而只是他个人的偏见。当他看到 Fortran, Lisp, ALGOL, Pascal, C, C++, Java 这些语言的发展仿佛没有尽头的时候,他并没有理解其中不变的原理。在程序语言的设计上,他不是一个强者。他很有可能根本不理解 lambda calculus 和类型理论,否则他不会设计出像 TeX 那样毫无章法的语言。TeX 排版的质量无可厚非,但是到了1978年还仍然采用程序语言专家们早已深恶痛绝的 dynamic scoping,再加上其它一些蹩脚的设计,说明他对程序语言理论缺乏理解。实际上 TeX 含有一个图灵完备的扩展语言,是因为 Knuth 采纳了 Guy Steele(Scheme 的发明者)的建议,然而 Knuth 却没有把它设计好。Knuth 觉得机器是不变的真理,所以他坚持用机器语言来写作 TAOCP。但是由于机器语言缺乏抽象,程序员没法专注于真正的问题。使用机器语言来描述算法,会把本来很简单的问题都显得高深难懂,仿佛这书永远也看不完。有多少人真正的看过 TAOCP 呢?恐怕大部分人把这套书买回去,只是把它们摆在书架上做面子。只要有人说机器语言太难懂,这些人就会说你自己不够聪明,不配做程序员。而其实呢,他们自己都没看过。机器不是计算的本质这个事实,很多人包括 Dijkstra,早就看到了。他说:“计算机科学是个错误的名字,因为它不是计算机的科学,这就像外科手术不是刀子的科学。”而这是几乎每一个程序语言专家都明白的道理。在他们的眼里,这不再是道听途说或者个人观点,而是可以用逻辑来证明的事实。真正明白计算本质的人,可以设计出全新的硬件来来满足语义的需要,而不是受控于处理器的设计。他们甚至可以超越集成电路,而使用另外的技术来制造机器。这些都说明,计算其实是独立于机器的。有不好的想法不要紧,但是如果把不好的想法硬说成是好的,那就会阻碍历史发展了。我并不否认 Knuth 和 Ritchie 对算法,排版和 *** 作系统的重要贡献,但是由于他们以及他们崇拜者经常在有关语言的事情上误导群众,所以觉得有必要指出他们的一些局限性。Linus Torvalds, Guido van Rossum, Eric Raymond, Paul Graham 也经常发表对语言的评论,被很多人奉为圣旨,但其实他们言论里面很少有真知灼见。其实我要说的不过是,通常程序员们膜拜的偶像,大部分都不是真正的程序语言专家。希望你不要觉得这是危言耸听,实际上这些是大部分世界级的计算机科学家们很多年前就知道的事情。
我觉得自学,最重要的是把握住自己的心态。心态好了,才会学进去,要不然是不行的,心态不好,是学不进去的。
我开始读的第一本书是谭浩强的《C编程》。“我觉得开始工作很好,因为读了这本书之后还有很多书要读。”大部分的坑会被填满,不用担心。但我建议读这本书之前,你读了c语言书:计算机科学概论(豆瓣菜),这是当时林@剑推荐书籍,墙裂推荐参考:学习c语言的基本思想和参考书-林内置在软件设计道路知道列。读完您的计算机科学系统框架后,专栏墙内的其他栏目建议。
我看到第二本c语言书是:c语言百科全书(西洋菜)。这本书有c的基本部分,c标准库的功能和用法。最关键的是,从这本书中我第一次接触到基本的数据结构和算法,很简单的说,但也很容易理解。但是这本书的最后一部分,“c语言翻译”对我来说太难了。我只是忽略了它,并没有弥补它。
终于有一天,我厌倦了控制台的黑白屏幕,只有一个黑白的盒子,这不是我想要的生活。所以我找到了Windows编程(watercress)这本精彩的书,开始挖掘我的Windows平台。从Windows消息机制到创建窗口,添加控件,处理事件,窗口绘图,线程,多媒体,网络。也可在小程序中进行,如:记事本、蛇、俄罗斯方块等。不知廉耻,我要粘贴代码:songbaoming / Tetris·GitHub,丹尼尔小心!虽然每一步我都很努力,但最终我学会了,充满了成就感,我离开了人生的顶峰,离我更近了!
先把它写在这里,估计这些已经足够你看一段时间了。如果你选择道路,算法的背面,数据结构,离散数学,数据库,啊,编译理论啊,计算机系统等等,直到你被大学相关的专业人员录取,当然,是你的食物,慢慢消化它。
《计算机程序设计艺术(第1卷)》([美国] Donald Knuth)电子书网盘下载免费在线阅读
资源链接:
链接:> 提取码:udfv
书名:计算机程序设计艺术(第1卷)
作者:[美国] Donald Knuth
豆瓣评分:94
出版社:清华大学出版社
出版年份:2002-9
页数:650
内容简介:
第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。
作者简介:
作者:(美国)Dald E Kuh
DonaldEKnuth(唐纳德E克努特,中文名高德纳)是算法和程序设计技术的先驱者,是计算机排版系统TEX和METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作(19部书和160篇论文)而誉满全球。作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于完成其关于计算机科学的史诗性的七卷集。这一伟大工程在1962年他还是加利福尼亚理工学院的研究生时就开始了。Knuth教授获得了许多奖项和荣誉,包括美国计算机协会图灵奖(ACM Turing Award),美国前总统卡特授予的科学金奖(Medal of Science),美国数学学会斯蒂尔奖(AMS Steele Prize),以及1996年11月由于发明先进技术而荣获的备受推崇的京都奖(Kyoto Prize)。Knuth教授现与其妻Jill生活于斯坦福校园内。
访问Knuth教授的个人主页,可以获得有关本书及本系列其他未出版图书的更多信息:
>
我转载的,感觉对你有用!!! 都是我看过或正要看的书,晾晾书架,希望对后来者也有一点作用,当年我也是浪费时间看了一些没有价值的书籍,颇为后悔,现将精华总结如下:
c语言篇:(虽有人说学C++不用先学c,但我颇不以为然,不知数据为何,又何来的封装继承多态)
1:c语言入门大学教程c语言谭浩强版足以。
2:windows c语言API编程基础,推荐《windows程序设计(第5版)》 Charles Petzold着,通过学习可对界面编程一览无遗,剩下的就是看怎样用c++进行包装,体会c++面向对象复用代码的威力了。
3:《TCP/IP协议及网络编程技术》 罗军舟等编着 清华大学出版社 国货上品,是应用c语言在windows下进行网络编程的好教材也是使用c++进行网络编程的知识准备。
C++基础篇: 1:《C++Primer(3or4版)》入门第一部
2:《深入浅出MFC》 侯捷着 国货精品,本应归入学习vc的范畴,但他实际是对widows API的c++框架介绍,用来做vc项目只能起辅助作用,对建立c++面向对象思想却多有启迪。
3: 《C++标准程序库》 侯捷/孟岩译 库是语言的延伸,学习c++不可不看。
4: 《C++实践之路》 周良忠译 一个计算器例子贯穿全书,几乎用到C++所有知识,真正的例子驱动教学法。
面向对象技术:
1: 《设计模式-可复用面向对象软件的基础》 美国四人帮的跨时代大作 230页却足以开启一个时代,真正体现了面向对象技术的价值,是代码复用的经典之作,不能不看。
2: 《UML Distilled》 UML建模很火欧,但对我来说看主要目的是看懂类关系草图,这本小书足以。
c++进阶篇
1: 《C++高级编程》 刘鑫等译 有对c++知识的精要总结其中包括如何更好地实现重用、如何有效地测试和调试等C++专业人员常用的一些技术与方法,值得了解。
2: 《Effective C++》,《必知必会》,《c++编程规范》 三本小书却足以检测你对c++知识掌握的真正情况。
c++高阶篇:(本人仍在阅读中)
1: 《深入探索c++对象模型》 侯捷译 对C++内存布局的深入介绍,是真正理解com/corba等组件技术的必备基础。
2: 《C++ Templates中文版》 陈伟柱译 模板圣经,现代c++发展的前沿泛型编程思想总结 (是看懂boost类库的知识储备)。
3:《C++设计新思维》 侯捷/於春景译 泛型编程与设计模式的综合应用,锻炼思维的好书,(已经买了半年多了,等我有空时一定看'_')。
其他:
C++编程思想,C++语言之父的c++语言特别版 等书本人只在书店里见过,没有阅读就不敢置评了。
(一)语言入门:
《C++ Primer》
最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中)
适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。
《The C++ Programming Language》/《C++程序设计语言》
最新版本:第三版特别版
简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《The C Programmer Language》区分开来)
《Essential C++》
《Accelerated C++》
这两本薄一些,都是不错的选择。《Accelerated C++》本人没有读过,从各方面的评价来看,完全值得推荐。
以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书未必都需要读一遍,但无论如何,TC++PL是应该阅读的。
(二)进阶A:
这个路线侧重于语言本身
《Effective C++》
最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中)
简称EC。C++程序员必读!很多时候,我们说C++圣经不是指TC++PL,而是这一本。《The Pragmatic Programmer》一书中写到:“一旦你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买Scott Mayer的《Effective C++》,可能还要《More Effective C++》”。
《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 编程规范》
个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。
我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。
还不知道他的简称,也许“101”会成为一个候选者?
提到《Effective C++》,那么另外三本书一一浮出水面:
《More Effective C++》
《Exceptional C++》
《More Exceptional C++》。
新书《Exceptional C++ Style》也是值得一看的好书。
上述几本书,一本也不应该放过。
个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书。
以上就是关于谁能介绍几本关于计算机入门方面的书籍全部的内容,包括:谁能介绍几本关于计算机入门方面的书籍、介绍些计算机方面的书籍有哪些、关于计算机编程c语言,java,自学看哪些书比较浅显易懂等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)