十编程书
Ⅰ 假期归来,有哪些编程书上了新书榜
新年小长假结束了,估计小伙伴们都已经加到工作岗位啦,小编今天看了一眼计算机新书排行榜,一上周有这样几本书上榜。现在就给大家来展示下。
1、机器学习的数学
典型的方法论书籍只关注工具和技术,面向对象社区期望有一本书能够突破这一局限,而这本开创性的着作正好满足了这一需求。在本书中,作者关注的是面向对象分析和设计的最终结果,也就是模型本身。作者在本书中分享了丰富的对象建模经验,以及识别重复问题并将其转化为可复用的模型的敏锐洞察力,并给出了一系列来自不同领域(包括交易、测量、会计和组织关系等)的模式。
概念模式无法孤立地存在,基于这一认识,作者还给出了一系列“支持模式”。这些模式探讨了如何将概念模型转化为软件,并使其适合于大型信息系统的架构。对每种模式的讲解都包含了其背后的设计思路、应该(或不应该)使用这些模式的时机以及实现中的诀窍。本书中展示的例子构成了一本实用手册,既包含有用的模型,又涵盖对复用技能的深刻洞见,这些都有助于改进分析、建模和实现。
大家了解过哪些呢?欢迎评论留言~
(本文图片与内容均来自于网络仅供参考,如涉及版权请留言,作者自行删帖。)大家看后什么想法,欢迎吐槽留言。喜欢记得关注哟!小编会一如既往的给您共享各类文章,观看辛苦了,祝您阅览开心,每天有个好心境,健康日子每一天。
Ⅱ 有适合小学生看的电脑代码编程的书籍吗
导读:编程是当前需求比较旺盛的职业道路,因此,很多家长都希望自己的孩子长大后成为软件程序员,或者起码拥有一些编程思维。如果您想让孩子学习编程从哪里开始呢?在此儿童节之际向各位推荐7款适合儿童的编程语言。
计算机编程是一种需求旺盛的职业道路,因此父母可能希望自己的孩子长大后成为软件程序员。如果您想让孩子们学习编程的方法,那么从哪里开始呢?在此列表中尝试一些适合儿童的编程语言。
1.Scratch
Scratch是由麻省理工学院的终身幼儿园实验室开发的面向孩子的免费编程语言。通过入门教程,针对父母的课程说明以及强大的用户社区,对免费语言进行了补充。甚至当孩子离开计算机时,他们甚至可以使用这些卡片来学习Scratch编程概念。
Scratch使用积木式视觉界面为孩子和父母创建脚手架体验。您将编程组件(例如动作,事件和运算符)堆叠在一起。
每个块的形状仅允许将其与兼容对象组合。例如,重复循环的形状像是一个侧面的“ U”形,以告知您需要在循环的开始和结束之间放置块。
Scratch使用预先填充的图像和角色或通过上传新的图像和角色来制作真实的动画和游戏。Scratch不需要互联网连接。孩子们可以选择在Scratch的在线社区中分享他们的作品。
由于Scratch是免费的并且得到了良好的支持,因此它是对儿童友好的编程的最早建议之一,并且很容易看出Scratch在此处列出的许多其他对儿童友好的编程语言(如Blockly)中的影响。
建议年龄:8至16岁
要求:Windows,macOS或Linux
2.Blockly
Blockly是Google对Scratch 的改进,它使用了相同的互锁构建基块隐喻,但它可以使用几种不同的编程语言(包括javaScript,python,PHP,Lua和Dart)输出代码。这使Blockly成为可视化编辑器,而不仅仅是一种对儿童友好的编程语言。
将块链接在一起时,您会在屏幕的侧面看到代码,并且可以即时切换编程语言,以查看同一基本程序在语言语法上的差异。这使得Blockly非常适合在各个年龄段教授代码,包括年龄较大的孩子和成年人,他们可能不喜欢年轻的歪斜猫和Scratch的漫画。
Google正在与MIT合作,基于Blockly平台开发下一代Scratch。
Blockly是Android App Inventor的骨干,可用于开发可运行的Android应用程序。麻省理工学院控制了这个废弃的Google项目。
Blockly尚未像Scratch那样得到充分开发,并且可用的教程也不多。但是,Blockly希望为所有年龄段的程序员提供一个强大的编程环境,并拥有广阔的未来。
建议年龄:10+
要求:Windows,macOS或Linux
3.Alice
Alice是一个免费的3D编程工具,旨在教授C ++等面向对象的编程语言的概念。它使用熟悉的积木方法,使儿童可以通过对相机运动,3D模型和场景进行编程来创建游戏或动画。
与Scratch凌乱的界面相比,拖放界面和轻松播放按钮对某些学生而言可能不会造成太多混乱。可以将程序(或Alice中的“方法”)转换为Java IDE(例如NetBeans),以便编程学生可以从可视的构建模块界面过渡到标准的编程语言。
卡内基-梅隆大学开发了爱丽丝。该网站可能看起来并不漂亮,但是该程序仍在开发和研究中。
建议年龄:10+
要求:Windows,macOS或Linux
注意事项:如果在Mac上安装Alice,请通过转到系统偏好设置 > 安全和隐私 > 允许从以下位置下载应用程序来启用安装:App Store和Identified Developers。安装完成后,更改安全设置。
4.Swift Playgrounds
iOS和iPadOS的应用程序开发人员依赖Swift编程语言。Mac和iPad应用程序都可以使用Swift Playgrounds 。它旨在教孩子如何使用Swift编程,可以从Apple免费下载,并且不需要任何先验编码知识。
这些应用程序包含许多有关不同Swift命令的教程,这些教程旨在在3D世界中移动名为Byte的角色。尽管不需要编程知识,但是孩子们需要知道如何阅读教程并具有一定的解决问题的毅力。拖放代码消除了拼写错误,但是Swift Playgrounds不使用互锁块界面。
一旦您的孩子精通Swift游乐场,他们就可以开始在Swift中进行开发。
建议年龄: 10+
要求: iPad或Mac
5.Twine
Twine适用于对创建游戏和讲故事感兴趣但对编程的技术细节感到沮丧的孩子。
Twine是一个免费的非线性讲故事应用程序,各个年龄段的人都可以使用它,包括大量的成年人和教育工作者。使用Twine,您无需学习任何代码。它没有教用户如何编码,而是教他们如何构造和呈现非线性游戏和故事。
麻线故事由文字和图片页面组成,例如网站。设计界面显示了连接的页面,每个页面都可以使用文本,链接和图像进行修改。它对于“选择自己的冒险”类型的游戏特别有效,其中每个玩家的选择都进入了故事的新分支。
虽然此应用程序不教编码,但它确实教了很多对游戏设计师和讲故事者至关重要的规划和设计技能。该应用程序受支持Wiki,教程和活跃的用户社区的良好支持。
您可以通过托管应用在线创建Twine故事,也可以下载应用进行离线编辑。
建议年龄:12岁以上(强烈建议读者)
要求:Windows,macOS或Linux
6.LEGO MINDSTORMS
学习编程的另一种方法是研究机器人技术。许多孩子对编程在现实世界中工作的事物的想法做出回应。这里有各种各样的机器人套件的,你可以用它们编程语言,但LEGO MINDSTORMS系统中享有最大的用户群体和孩子友好的可视化编程的应用程序之一。
免费下载编程环境,但是您需要访问LEGO Mindstorms套件才能运行程序。这并不一定意味着您必须购买一个。一些学校和公共图书馆提供供学生使用的工具包,或者您可能想在您附近找到一个第一乐高联盟。
乐高EV3编程软件可以在平板电脑和计算机上运行,??并且使用了构建块(在这种情况下为乐高块)隐喻,就像Scratch和Blockly一样,尽管乐高的版本倾向于水平构建程序,看起来更像流程图。学生结合动作,变量和事件来操纵他们的LEGO Mindstorms作品。对于年幼的孩子来说,编程语言非常简单,而对于年长的孩子和成年人来说,编程语言仍然充满挑战。
除了LEGO Mindstorms编程环境外,LEGO还使用开放源代码Linux内核,可以通过Python和C ++等传统编程语言对其进行修改和编程。
建议年龄:10岁以上(幼儿可以在监督下使用)
要求:EVA3需要运行macOS或Windows的计算机或运行Android或iOS 的平板电脑。要运行程序而不是调试程序,需要一个或多个LEGO EV3机械手。
7.Ko
Ko是Microsoft专门为Windows和Xbox 360设计的游戏编程应用程序。Windows版本是免费的,但Xbox 360版本是付费应用程序。孩子们可以使用该应用程序来探索和设计3D世界中的游戏。
Ko的图形界面引人入胜,而Xbox版本的编程完全可以通过游戏控制器完成。如果您拥有支持它的硬件,那么Ko是一个较旧但仍然可靠的选择。
不幸的是,还没有Xbox版本的Ko,而且未来的发展似乎不太可能。但是,Xbox和Windows版本已经完全开发,这就是为什么即使放弃它也将其包括在此列表中的原因。
建议年龄:8至14岁
要求:Windows 7及以下版本或Xbox 360
总结:
有动力的中学生可能需要尝试制作和安装Minecraft mod。Unity 3D游戏界面是通过大量可用在线资源跳入编程3D游戏的另一种好方法。请记住,编程本质上令人沮丧。它涉及很多故障排除和反复试验。父母可以为初出茅庐的程序员提供的最佳工具是一种毅力和决心。
Ⅲ Java书籍推荐有哪些
Java的好书推荐
第一部分:Java语言篇
1.《Java编程规范》 适合对象:初级、中级
介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错。
2.《Java编程思想》 适合对象:初级、中级
介绍:豆瓣给出了9.1的评分,全球程序员广泛赞誉。有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,只是要求读者需要知道基本的程序语言。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,需要花时间细细研读。
3.《Java核心技术:卷I基础知识》 适合对象:初级、中级
介绍:官方机构图书,备一本总是没错的。这本书比较全面也通俗易懂。可以当字典的功能来用,学习入门必备。
4.《Java数据结构和算法》 适合对象:初级、中级、高级
介绍:这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。
5.《Java与模式》 适合对象:中级、高级
介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。
6.《SCJP学习指南》 适合对象:初级、中级
介绍:官方考试的必备图书,对检验自己的Java学习情况很有帮助。这本书特别适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题。一些工作多年的工程师都会在里边遇到一些不会做的题目。
第二部分:中级进阶篇
1.《重构:改善既有代码的设计》 适合对象:中级、高级
介绍:清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以及改善。大师的杰作,让你明白软件是一步步改进的,不是一蹴而就的。
2.《XML入门经典》 适合对象:初级、中级、高级
介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。
3.《jQuery基础教程》 适合对象:初级、中级、高级
介绍:从这个开始学习jQuery才是根本,不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。
4.《JavaScript权威指南》 适合对象:初级、中级、高级
介绍:一本从全新视角和层次来介绍JavaScript的参考书,填补了市场的空白。是学习js的必备参考工具书之一。
5.《代码整洁之道》 适合对象:中级、高级
介绍:讲述了一系列行之有效的整洁代码操作实践。软件工程的理想编码是无数人编出来的代码像一个人写的,这本书当作规范就不错。
第三部分:高级篇
1.《Enterprise JavaBeans 3.0中文版》适合对象:中级,高级
介绍:EJB技术在大型系统中使用,主要有银行等金融机构。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。
2.《Java并发编程实践》 适合对象:中级、高级
介绍:这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。市面上并发编程的书比较少,这一本推荐阅读。
3.《Hadoop权威指南》 适合对象:中级、高级
介绍:云计算必备图书。作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。
4.《Java消息服务》 适合对象:中级、高级
介绍:深入浅出地讲解了JMS1.1规范的底层技术、Java类和接口、编程模型及其不同实现等Java消息服务(JMS)和消息传送机制关键技术。讲解简单明了,偏向于如何使用以及设计的一些原则。排版相当不错。
来源网络老炮java 整理 侵权联系
Ⅳ 一个合格的程序员应该读过哪些书
1、《代码大全》 史蒂夫·迈克康奈尔
推荐数:1684
“优秀的编程实践的网络全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky
对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac
Steve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一, 在过去的十多年间,本书一直在帮助开发人员编写更好的软件。
现在,作者将这本经典着作全新演绎,融入了最前沿的实践技术,加入了上百个崭新的代码示例, 充分展示了软件构建的艺术性和科学性。 McConnell汇集了来自研究机构、学术界以及业界日常实践的主要知识, 把最高效的技术和最重要的原理交织融会为这本既清晰又实用的指南。
无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是小, 本书都将激发您的思维并帮助您构建高品质的代码。
《代码大全(第2版))》做了全面的更新,增加了很多与时俱进的内容,包括对新语言、新的开发过程与方法论的讨论等等。
2、《程序员修炼之道》
推荐数:1504
对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。 或许他们还是在校生,但对要自己做什么,还感觉不是很安全。
就像草图和架构之间的差别。虽然你在学校课堂上学到的是画图,你也可以画的很漂亮, 但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合你了。—— Joel
《程序员修炼之道:从小工到专家》内容简介:《程序员修炼之道》由一系列独立的部分组成, 涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的各种架构技术, 利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比, 全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。
无论你是初学者,是有经验的程序员,还是软件项目经理,《程序员修炼之道:从小工到专家》都适合你阅读。
3、《计算机程序的构造和解释》
推荐数:916
就个人而言,这本书目前为止对我影响醉倒的一本编程书。
《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。 其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。 其他书籍则处理算法。这些书都有自己所属的位置。
然而《计算机程序的构造和解释》与这些不同。 这是一本会启发你的书,它会燃起你编写出色程序的热情; 它还将教会你认识并欣赏美; 它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。
其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。
同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解释器和编译器。
一些人认为此书不适合新手。 个人认为,虽然我并不完全认同要有一些编程经验才能读此书,但我还是一定推荐给初学者。 毕竟这本书是写给着名的6.001,是麻省理工学院的入门编程课程。 此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价是对得起这本书的。
4、《C程序设计语言》
推荐数:774
这本书简洁易读,会教给你三件事:C 编程语言;如何像程序员一样思考;底层计算模型。 (这对理解“底层”非常重要)—— Nathan
《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强, 适合作为大专院校计算机专业或非计算机专业的c语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。
《C程序设计语言》(第2版新版)原着即为C语言的设计者之一Dennis M.Ritchie和着名的计算机科学家Brian W.Kernighan合着的 一本介绍C语言的权威经典着作。 我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。 原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。
人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。
5、《算法导论》
推荐数:671
《代码大全》教你如何正确编程; 《人月神话》教你如何正确管理; 《设计模式》教你如何正确设计……
在我看来,代码只是一个工具,并非精髓。 开发软件的主要部分是创建新算法或重新实现现有算法。 其他部分则像重新组装乐高砖块或创建“管理”层。
我依然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron
经典的算法书,被亚马逊网,《程序员》等评选为2006年最受读者喜爱的十大IT图书之一。
算法领域的标准教材,全球多所知名大学选用
MIT名师联手铸就,被誉为“计算机算法的圣经”
编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。
6、《重构:改善既有代码的设计》
推荐数:617
《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式, 并给出了何时以及何地应该开始挖掘代码以求改善。 书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。
《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读, 也可作为高等院校计算机及相关专业师生的参考读物。
我想我不得不推荐《重构》:改进现有代码的设计。—— Martin
我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序, 而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler
7、《设计模式》
推荐数:617
自1995年出版以来,本书一直名列Amazon和各大书店销售榜前列。 近10年后,本书仍是Addison-Wesley公司2003年最畅销的图书之一。 中文版销售逾4万册。
就我而言,我认为四人帮编着的《设计模式》是一本极为有用的书。 虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术, 因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young
8、《人月神话》
推荐数:588
在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的着作。
Brooks博士为人们管理复杂项目提供了最具洞察力的见解。 既有很多发人深省的观点,又有大量软件工程的实践。 本书内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。
该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。 确立了其在行业内的经典地位。
9、《计算机程序设计艺术》
推荐数:542
《计算机程序设计艺术》系列着作对计算机领域产生了深远的影响。 这一系列堪称一项浩大的工程,自1962年开始编写,计划出版7卷,目前已经出版了4卷。
《美国科学家》杂志曾将这套书与爱因斯坦的《相对论》等书并列称为20世纪最重要的12本物理学着作。 目前Knuth正将毕生精力投入到这部史诗性着作的撰写中。
这是高德纳倾注心血写的一本书。—— Peter Coulton
10、《编译原理》(龙书)
推荐数:462
我很奇怪,居然没人提到龙书。(或许已有推荐,我没有看到)。 我从没忘过此书的第一版封面。 此书让我知道了编译器是多么地神奇绝妙。- DB
Ⅳ 学python用什么书
1. 《PYTHON基础教程(第2版本)》
这本书非常的适合零基础或者只有一点编程经验的朋友,它从Python程序的安装,交互式解释器的使用,基础数据类型,各种条件语句等方方面面的基础知识都讲到了,而且在书的最后几个章节,还有10个练习的实战项目,非常适合新手入门来学习。
2.《Python Cookbook(第2版)中文版》
这本书算是从事Python编程工作人员人手一本的必备书籍,这本书需要在看完前面的Python基础教程,掌握基本的Python知识。
该书不是循序渐进的在讲Python编程语言的书,而是针对某些特定python问题和任务,提出一些特别的方法和技巧。小编认为无论你目前是处在哪个阶段的Python爱好者,这本书都会让人获得非常多有价值的编程知识。
3.《Python编程快速上手——让繁琐工作自动化》
美亚畅销Python 3编程图书,帮助你通过编程快速实现工作自动化 。在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作。
4.《Python核心编程(第3版)》
本书涵盖了成为一名技术全面的Python开发人员所需的一切内容。本书讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,本书还包含了一些使用Python 2和Python 3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python 2.x或Python 3.x上。本书适合具有一定经验的Python开发人员阅读。
读书破万卷,下笔如有神。这句古话说来是有道理的。学python推荐这些书籍,大家也可以先多去看看,这样对自己接下来的深入学习是十分有帮助的。
对于Python开发有兴趣的小伙伴们,不妨先从看看Python开发书籍开始入门!B站上有很多的Python教学视频,从基础到高级的都有,还挺不错的,知识点讲的很细致,还有完整版的学习路线图。也可以自己去看看,下载学习试试。
Ⅵ 电脑编程入门书籍,应该先看什么
我转载的,感觉对你有用!!! 都是我看过或正要看的书,晾晾书架,希望对后来者也有一点作用,当年我也是浪费时间看了一些没有价值的书籍,颇为后悔,现将精华总结如下:
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++入门看什么书好啊
我觉得《The C++ Programming Language》是C++入门者的最佳读物。理由如下:
1,入门书籍的选择一定要慎之又慎,不然会大大影响初学者对C++的认识。好比在一块木板上钉一颗钉子,如果开头几锤子敲下去就敲歪了,那么以后要想纠正就非常困难了。很多人最后放弃学习C++,就是因为他们被一些不好的书所误导,以至于他们还没有来得及领略C++的恢宏与壮美就鸣金收兵了。这种情况非常令人可惜。有鉴于此,只要有人问我初学C++应该选那本书,我就会毫不犹豫地推荐由C++创始人Bjarne Stroustrup执笔的鸿篇巨制:《The C++ Programming Language》!之所以向大家推荐这本对于初学者而言可能略显艰深的书籍,是因为:选择C++作为学习对象的人一般都是下定决心专业从事软件研发的技术人员。一般而言,他们对计算机领域的各种基础知识是具备一定功底的。如果初学者并不想在程序设计领域深入地走下去,那么,我不会推荐他学习C++,而会推荐他去学习其他语言。
2,不像市面上常见的一些强调学习过程短平快的编程书籍,学习这本书不要贪图速成。因为C++本来就不是一门可以速成的语言。所谓的速成无非是仅仅学会C++的一丁点皮毛。《The C++ Programming Language》这本书可以长时期放在你的枕边伴你入眠,它将伴随着你度过编程生涯的每一个成长阶段。因此买这本书的投资是绝对划算的。表面上看,学习这样的经典着作可能会很慢,会很吃力,但是我相信这才是真正的捷径,因为它不会让你走弯路,不会让你在学习过程中一次又一次地纠正自己在阅读其他低质量C++书籍过程中所慢慢形成的错误观念,所以说:似远实近!
3,OO观念的初步建立是学习C++的前提,必须时刻用OO观念去理解C++的设计决策。OO观念的核心有三条:封装,继承,多态。网上关于OO基本观念的介绍也是多如牛毛。初学者不必急于一下子完全理解它们,因为OO观念的深刻理解只能从长时期的思考和实践过程中获得。这本书的最大特点就是在引入C++各项语法特征的过程中特别注重交待清楚它们的来龙去脉,尤具价值的是,书中每一章后面都给出了极其实用的编程建议(Advice),这些编程建议是国内那些C++作者不可能写得出来的。我这么说绝对不是崇洋媚外。如果说中国的IT技术水平落后国外20年的话,那么中国的IT教育水平至少要落后国外30年。中国目前在IT技术写作领域没有哪一个称得上是大师级别的原创技术作家,大多是靠剪刀加浆糊吃饭的。档次低一点的,直接抄袭和拼凑国外名家的作品;档次高一点的,熟读一下技术标准和规范,然后再翻译成中文,就变成着作了。
4,读完国内作者写的C++书籍之后,你很难获得一种C++究竟强大在何处的认识,好像你只不过是在熟悉一种普通编程语言的语法细节罢了。很多人发出这样的疑问:绝大多数C++的语法概念其他语言也有,比如函数的概念,结构的概念,子程序的概念,类的概念等等,那么究竟是什么样的的特性使得C++成为了目前最具有影响力的编程语言之一呢?这是那些国内C++书籍所不能告诉你的。国内C++书籍大量的着墨点基本上全部落在各种编程语言都具有的这些共性上面,基本上没有看见过有哪本书专门介绍过C++所独具的“特性”。为什么这些作者不讲呢?那是因为C++独具的“特性”通常隐藏于C++的整体设计之中,如果不是像Bjarne Stroustrup那样的骨灰级C++大师,一般的中国作者绝对不可能具备俯瞰C++设计全局的能力。
5,各种编程语言的语法共性基本上人人都可以在很短时间内熟练掌握。关于C++的入门语法介绍,网上免费资料暴多,初学者完全可以一边跟随着这些入门资料的指导,一边在电脑上敲敲打打,从而快速度过学习一门语言的语法熟悉阶段。一旦初学者在短时间内熟悉了C++的基本语法,那么这些国内作者编写的C++书籍基本上就可以束之高阁了。因为这些书籍大多没有什么思想价值,作为技术手册参考一下勉强可以,但如果用来深入掌握C++就只能说是缘木求鱼了。况且这些书通常并不便宜,一般也要30-50元人民币。同学们一般资金有限,所谓好钢要用在刀刃上,与其买一本利用价值不高的书,还不如加一点点钱去购买真正经典的书籍。所以我绝对不会推荐初学者去购买国内作者写的C++书籍。
6,不是说中国在IT领域没有高手,就我所知,中国的技术高手还是有不少的,但是愿意把自己的宝贵经验和心得体会用笔写成书的高手我就极少看到过了。首先,这些经年累月积累下来的知识财富对于一个吃技术饭的人来说实在太宝贵,写成书公开对作者而言实在太吃亏。希望大家承认并接受这个事实。知识本来就具有财产的属性,不然“知识产权”一词从何而来?其次,写书很花时间,基本上是一件燃烧自己照亮别人的雷锋行为。当然,这里的写书指的是作者毫无保留地把自己的精华经验写出来而不是为了敛财而瞎编。最后,目前在中国,通过奉献自己的技术经验来获得合理的收益和报酬还不现实,中国还不具备产生专职技术作家的土壤,原因是多方面的,大家都明白。
7,为什么国外有那么多高手愿意写书呢?原因有多种。一、国外有良好的知识产权保护制度,技术高手可以通过写书来获得不低于当一个资深工程师的收入。二、国外的技术积累实在太雄厚,有些东西在中国可能是技术秘密,但是对于国外作家而言,算不上是技术秘密,因此可以写成书公开。三、对某些作家而言,他公布自己的经验越多,对自己越有利。比如Bjarne Stroustrup,很显然,对他来说,全世界使用C++的程序员越多,他的地位就越不可动摇。所以,Bjarne Stroustrup完全可以把自己关于C++的一切技术思考和经验毫无保留地告诉给全世界的C++程序员。微软和SUN免费公布自己的技术规范也是同样道理。所以在国外,作者,读者,出版商共同构成了一个良性循环的知识生态系统。毫无疑问,这样的结果必定是多赢。但是,请牢记,真正有商业价值的技术你绝对不可能通过买书学习来获得,比如,你绝对不可能在市面上买到Adobe公司关于字体引擎的算法讲解书籍。要是你恰恰需要这些技术怎么办?回答是:购买!买不起或者买不到就只有脱下外套挽起袖子自己来搞了。没有技术的封锁就没有技术的进步,这又是一个需要用辩证法来解释的问题。
8,我相信,只有通过精读C++创始人撰写的这本书,你才可以最准确地理解和把握C++区别于其他语言的精髓。Bjarne Stroustrup不仅仅介绍了C++的语法,更重要的是全面阐释了C++各种基本设施的设计动机以及在应用过程中应当注意避免那些问题。这本书不仅仅告诉你How,更重要的是他会告诉你Why!况且,世界上没有哪个人能比Bjarne Stroustrup更加了解C++!世界上也没有哪个人能比Bjarne Stroustrup把C++阐释得更加清楚!这就是我为什么强烈推荐此书的最根本理由!我觉得学习C++的过程中最好时刻审问自己:C++中的某些规范为什么要这么制定?比如:为什么要搞运算符重载?为什么要保留广受诟病的多重继承机制?等等。思考这些问题就是在揣摩C++标准委员会的设计意图,而这些设计意图实际上深刻地反映了工业界所面临的各种现实问题。
9,是否懂得C语言并不是学习C++的前提。不仅仅是因为C++本身兼容C语言,更重要的是C++所倡导的程序设计观念是和C语言完全不同的。C语言在某种意义上是对CPU模型的抽象。尽管C++完全保留了C语言的机器模型,但是C++更加注重对现实世界进行抽象。为此,C++创始人Bjarne Stroustrup专门写过一篇着名的文章:《Learning Standard C++ as a New Language》(把标准C++作为一种全新的语言来学习)
Ⅷ 小学生初学编程看什么书好
启蒙篇
1《 HELLO RUBY 儿童编程大冒险》
适合年龄段:4-7岁
推荐理由:
一个叫 Ruby
的小女孩在冒险的过程中,用到了很多计算性思维来解决问题,如分解问题、创建分步计划、提取特征等等。这是一本一半是故事,一半是活动的书,读起来很轻松,书里用小孩子也能听懂的话介绍了计算机编程的相关概念,同时还包含了一套编程桌游,适合亲子一起在互动中学习。
2《动手玩转 ScratchJr 编程》
适合年龄段:5-7岁
推荐理由
ScratchJr 是一个 iPad 应用,可以创作小动画、小故事、简单游戏等项目,如果想让7岁以前的小朋友接触编程,可以先从 Scratchjr
入门。
这本书由 ScratchJr 和 Scratch 的创始人合着,包含生动的案例,图文并茂,讲解细致,同时书里也很贴心地给出了一些针对大人的建议。
3《Scratch 少儿趣味编程 2》
推荐理由
这本书结合语文、数学、科学、音乐等科目,教大家如何用Scratch
设计程序,书里有很多卡通形象,图文并茂,彩色印刷,颜色丰富,很适合买给小朋友自己看,是一本不错的入门启蒙书。
但书里讲对编程的讲解和项目都比较少,如果要更深入地学习,光看这本书还不够。
实战篇
4《Coding projects/Games in Scratch》
推荐理由
由DK 出版社出品,书中有很多不同类型的 Scratch
项目,每种类型的项目包含两三个案例,不少案例都创意十足,并且每个案例都会给出进一步改进和创作的建议。这本书图文并茂,特别的生动,书中大段的文字不多,基本都是在图旁边做注解,让人很有阅读的欲望。
比较遗憾的是关于编程概念的讲解不多,书中更多的是教你怎么把项目做出来,适合作为练习指导书。
注意:这两本书是英文版,适合使用英文更熟练的孩子。
5《动手玩转 Scratch2.0 编程》
适合年龄段:10岁以上
推荐理由
这是一本 Scratch 的经典教材,算得上是 Scratch
的“红宝书”,书里包含丰富的编程项目和练习,内容由浅入深,循序渐进,讲解深入浅出,非常全面系统,还涉及了大量计算机编程和跨学科的知识,比方说生物的知识呢!适合作为
Scratch 进阶学习的参考书。
不过这本书没有前两本推荐的 Scratch 书籍那么图文并茂,阅读时要求更多的耐心。后半段有诸如二进制的知识,适合小学高年级以上的孩子。
6《 写给大家看的安卓应用开发书 —— App Inventor 2 快速入门与实战 》
适合年龄段:10岁以上
推荐理由
这本书由浅入深地介绍了强大的可视化编程工具AppInventor2,任何人都可以用它来开发自己的手机应用。作者汇集了13个有趣的例子,小朋友们可以跟随书中的讲解,亲手创建这些手机应用。书里不仅有实战项目,还有很多对计算机编程概念的讲解,适合更加深入地了解编程。
进阶篇
7《趣学JavaScript - 教孩子学编程》
适合年龄段:10岁以上
推荐理由
在学完图形化编程语言后,如果小朋友对编程感兴趣,想进一步学习代码类编程语言,非常建议从 JavaScript 或 Python 语言入手。
这本是市面上为数不多的教小朋友编写网页作品的书。编写网页作品的优势在于可以很快做出方便测试和发布的作品。
而它的缺点在于例子非常英文导向,需要小朋友非常熟悉英文,且里面的作品案例比较长也比较难,需要孩子非常耐心认真地学习。另外需要注意的是,书里面省略掉了CSS。
8《父与子的编程之旅——与小卡特一起学 Python》
适合年龄段:12岁以上
推荐理由
这是一本中文少儿Python编程书,用很多形象的卡通来解释抽象的概念,非常深入浅出。
唯一的不足是画面黑白,收到的反馈是小学生不太喜欢看,所以我们推荐给12岁以上的孩子。书本后面使用PyGame制作游戏,其实PyGame的安装是比较麻烦的,很多人到了PyGame那里就学不下去了。Python的库十分强大,要想学好,也需要耐心地研究如何安装各种库呢,算是学习的必经之路。
Ⅸ python书籍推荐
python书籍推荐有:《Python编程:从入门到实践》《Head-First Python(2nd edition)》《“笨方法”学Python》《Python程序设计(第3版)》《像计算机科学家一样思考Python(第2版)》。
一、《Python编程举绝:从入门到实践》
埃里克·马瑟斯的这本《Python编程:从入门到实践》是一本快速,全面的Python语言入门教程,适合初学者,他们希望学习Pytho程并能够编写出有用的程序。本书旨在让读者快速上手编写真正的程序。本书也适用于对语言有模糊理解并希望在尝试Python编程之前了解其知识的程序员。
在学习本书时,将学习使用Numpy和matplotlib等库和工具,并使用数据创建令人惊叹的可视化效果。还将了解2D游戏和Web应用程序背后的思想以及如何创建它们。
三、《“笨方法”学Python》
这本书结构很简单,是52个习题的集合。在这个过程中,了解软件是如何工作的,好的程序看起来是什么样子,怎样阅读、编写、思考代码,以及如何用专业程序员的技巧来找出并修正错误。
本书通过安装完整的Python环境开始,接着教如何编写优化的代码。然后,本书讨论了基础数学,变量,字符串,文件,循环,程序设计和数据结构等主题。本书非常适合想通过语言的核心来学习Python编程的初正槐姿学者。