当前位置:首页 > 其它 >
《代码之髓:编程语言核心概念》电子书封面

代码之髓:编程语言核心概念

  • 发布时间:2020年08月05日 11:47:41
  • 作者:西尾泰和,曾一鸣
  • 大小:56.9 MB
  • 类别:编程概念电子书
  • 格式:PDF
  • 版本:完整扫描版
  • 评分:7.6

    代码之髓:编程语言核心概念 PDF 完整扫描版

      给大家带来的一篇关于编程概念相关的电子书资源,介绍了关于代码、编程语言方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小56.9 MB,西尾泰和,曾一鸣编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.7。

      内容介绍

      代码之髓:编程语言核心概念》作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较和在多门语言中的横向比较,清晰地呈现了程序设计语言中函数、类型、作用域、类、继承等核心知识。《代码之髓:编程语言核心概念》旨在帮助读者更好地理解各种概念是因何而起,并在此基础上更好地判断为何使用、何时使用及怎样使用。同时,在阅读本书后,读者对今后不断出现的新概念的理解能力也将得到提升。

      《代码之髓:编程语言核心概念》力求简明、通俗,注重可读性,可作为大学计算机科学和软件工程等专业程序设计语言概论教材、计算机等级考试的参考资料,也可作为软件开发人员的学习参考书。

      目录

      • 第1章 如何深入高效地学习语言
      • 1.1 在比较中学习
      • 语言不同,规则不同
      • C语言和Ruby语言中的真假值
      • Java语言中的真假值
      • 1.2 在历史中学习
      • 理解语言设计者的意图
      • 应该学哪种语言,我们无从所知
      • 学习适用于各种语言的知识
      • 1.3 小结
      • 第2章 程序设计语言诞生史
      • 2.1 程序设计语言诞生的历史
      • 连接电缆
      • 程序内置
      • FORTRAN语言问世
      • 2.2 程序设计语言产生的原因
      • 懒惰:程序员的三大美德之一
      • 语言们各有各的便捷
      • 2.3 小结
      • 第3章 语法的诞生
      • 3.1 什么是语法
      • 运算符的优先顺序
      • 语法是语言设计者制定的规则
      • 3.2 栈机器和FORTH语言
      • 计算的流程
      • 如何表达计算顺序
      • 现在仍然使用的栈机器
      • 3.3 语法树和LISP语言
      • 计算流
      • 如何表达计算顺序
      • 现在仍然使用的语法树
      • 专栏 要确认理解是否正确,首先得表达出来
      • 3.4 中缀表示法
      • 语法分析器
      • 规则的竞争
      • 专栏 当你不知道该学习什么时
      • 3.5 小结
      • 第4章 程序的流程控制
      • 4.1 结构化程序设计的诞生
      • 4.2 if语句诞生以前
      • 为什么会有if语句
      • 为什么会有if...else语句
      • 4.3 while语句--让反复执行的if语句更简洁
      • 使用while语句的表达方式
      • 不使用while语句的表达方式
      • 4.4 for语句--让数值渐增的while语句更简洁
      • 使用for语句的表达方式
      • 不使用for语句的表达方式
      • foreach--根据处理的对象来控制循环操作
      • 4.5 小结
      • 第5章 函数
      • 5.1 函数的作用
      • 便于理解--如同一个组织
      • 便于再利用--如同零部件
      • 程序中再利用的特征
      • 5.2 返回命令
      • 函数的诞生
      • 记录跳转目的地的专用内存
      • 专栏 函数命名
      • 5.3 递归调用
      • 嵌套结构体的高效处理
      • 嵌套结构体的处理方法
      • 5.4 小结
      • 第6章 错误处理
      • 6.1 程序也会出错
      • 6.2 如何传达错误
      • 通过返回值传达出错信息
      • 出错则跳转
      • 6.3 将可能出错的代码括起来的语句结构
      • John Goodenough 的观点
      • 引入CLU语言
      • 引入C++语言
      • 引入Windows NT 3.1
      • 6.4 出口只要一个
      • 为什么引入finally
      • 成对操作的无遗漏执行
      • 6.5 何时抛出异常
      • 函数调用时参数不足的情况
      • 数组越界的情况
      • 出错后就要立刻抛出异常
      • 6.6 异常传递
      • 异常传递的问题
      • Java语言的检查型异常
      • 检查型异常没有得到普及的原因
      • 专栏 具体的知识和抽象的知识
      • 专栏 学习讲求细嚼慢咽
      • 6.7 小结
      • 专栏 从需要的地方开始阅读
      • 第7章 名字和作用域
      • 7.1 为什么要取名
      • 怎样取名
      • 名字冲突
      • 如何避免冲突
      • 7.2 作用域的演变
      • 动态作用域
      • 静态作用域
      • 7.3 静态作用域是完美的吗
      • 专栏 其他语言中的作用域
      • 嵌套函数的问题
      • 外部作用域的再绑定问题
      • 7.4 小结
      • 第8章 类型
      • 8.1 什么是类型
      • 8.2 数值的on和off的表达方式
      • 数位的发明
      • 七段数码管显示器
      • 算盘
      • 8.3 一个数位上需要几盏灯泡
      • 从十进制到二进制
      • 八进制与十六进制
      • 8.4 如何表达实数
      • 定点数--小数点位置确定
      • 浮点数--数值本身包含小数部分何处开始的信息
      • 8.5 为什么会出现类型
      • 没有类型带来的麻烦
      • 早期的FORTRAN语言中的类型
      • 告诉处理器变量的类型
      • 隐性类型转换
      • 8.6 类型的各种展开
      • 用户定义型和面向对象
      • 作为功能的类型
      • 总称型、泛型和模板
      • 动态类型
      • 类型推断
      • 8.7 小结
      • 专栏 先掌握概要再阅读细节
      • 第9章 容器和字符串
      • 9.1 容器种类多样
      • 9.2 为什么存在不同种类的容器
      • 数组与链表
      • 链表的长处与短处
      • 专栏 大O表示法--简洁地表达计算时间和数据量之间的关系
      • 语言的差异
      • 9.3 字典、散列、关联数组
      • 散列表
      • 元素的读取时间
      • 没有万能的容器
      • 9.4 什么是字符
      • 字符集和字符的编码方式
      • 计算机诞生以前的编码
      • EDSAC的字符编码
      • ASCII时代和EBCDIC时代
      • 日语的编码
      • Shift_JIS编码对程序的破坏
      • 魔术注释符
      • Unicode带来了统一
      • 9.5 什么是字符串
      • 带有长度信息的Pascal语言字符串和不带这一信息的C语言字符串
      • 1个字符为16比特的Java语言字符串
      • Python 3中引入的设计变更
      • Ruby 1.9的挑战
      • 9.6 小结
      • 第10章 并行处理
      • 10.1 什么是并行处理
      • 10.2 细分后再执行
      • 10.3 交替的两种方法
      • 协作式多任务模式--在合适的节点交替
      • 抢占式多任务模式--一定时间后进行交替
      • 10.4 如何避免竞态条件
      • 竞态条件成立的三个条件
      • 没有共享--进程和actor模型
      • 不修改--const、val、Immutable
      • 不介入
      • 10.5 锁的问题及对策
      • 锁的问题
      • 借助事务内存来解决
      • 事务内存的历史
      • 事务内存成功吗
      • 10.6 小结
      • 第11章 对象与类
      • 11.1 什么是面向对象
      • 内涵因语言而异的面向对象
      • 对象是现实世界的模型
      • 什么是类
      • 11.2 归集变量与函数建立模型的方法
      • 11.3 方法1:模块、包
      • 什么是模块、包
      • 用Perl语言的包设计对象
      • 光有模块不够用
      • 分开保存数据
      • 向参数传递不同的散列
      • 把初始化处理也放入包中
      • 把散列和包绑定在一起
      • 11.4 方法2:把函数也放入散列中
      • first class
      • 把函数放入散列中
      • 创建多个计数器
      • 把共享的属性放入原型中
      • 这就是面向对象吗
      • 11.5 方法3:闭包
      • 什么是闭包
      • 为什么叫做闭包
      • 11.6 方法4:类
      • 霍尔设想的类
      • C++语言中的类
      • 功能说明的作用
      • 类的三大作用
      • 11.7 小结
      • 第12章 继承与代码再利用
      • 12.1 什么是继承
      • 继承的不同实现策略
      • 继承是把双刃剑
      • 里氏置换原则
      • 12.2 多重继承
      • 一种事物在多个分类中
      • 多重继承对于实现方式再利用非常便利
      • 12.3 多重继承的问题--还是有冲突
      • 解决方法1:禁止多重继承
      • 解决方法2:按顺序进行搜索
      • 解决方法3:混入式处理
      • 解决方法4:Trait
      • 12.4 小结
      • 专栏 从头开始逐章手抄

      学习笔记

      简述Java编程语言中的逃逸分析

      大家一般认为new出来的对象都是被分配在堆上,但这并不是完全正确,通过对Java对象分配过程分析,我们发现对象除了可以被分配在堆上,还可以在栈或TLAB中分配空间。而栈上分配对象的技术基础是逃逸分析和标量替换,本文主要介绍下逃逸分析。 1.逃逸分析的定义 逃逸分析: 是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。 通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。 Java在Java SE 6u23以及以后的版本中支持并默认开启了逃逸分析的选项。Java的 HotSpot JIT编译器,能够在方法重载或者动态加……

      简述Java编程语言对象的容纳

      如果一个程序只含有数量固定的对象,而且已知它们存在的时间,那这个程序是相当简单的。 数组 容纳对象有很多方式,数组是其中最为普遍的一种,它主要有如下两个特点:效率和类型。对于Java来说,为保存和访问一系列对象(实际是对象的句柄),最有效率的方法莫过于数组。数组实际是一个简单的线性序列,因此访问速度非常的快,但是它也存在一些限制,如数组的大小是固定的,并且不可以在“存在时间”内发生改变。 对于基本数据类型构成的数组,其运作类型跟对象数组相似,所不同的是前者里面保存的不是对象的句柄,而是实际的数值。 集合 编程的时候,通常不知道究竟需要保存多少……

      以上就是本次介绍的编程概念电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:编码:隐匿在计算机软硬件背后的语言

      下一篇:算法帝国

      展开 +

      收起 -

      下载地址:百度网盘下载
      编程概念相关电子书
      Effective Python:编写高质量Python代码的59个有效方法
      Effective Python:编写高质量Python代码的59个有效方法 高清版

      本书作者BrettSlatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在Google公司多年开发Python基础架构所积

      立即下载
      程序员代码面试指南:IT名企算法与数据结构题目最优解
      程序员代码面试指南:IT名企算法与数据结构题目最优解 立即下载
      第一行代码:以太坊
      第一行代码:以太坊 影印完整版

      发烧级大神:51CTO学校金牌讲师、CSDN、51CTO搏客权威专家、宁哥文化教育创办人、知名程序员安踏亲著 超級教学资源:重实效赠予使用价值698元JavaScript在线课程这书视頻课整套试验手机软件本

      立即下载
      代码的未来
      代码的未来 高清版

      《代码的未来》 是Ruby之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、

      立即下载
      编程卓越之道(第二卷):运用底层语言思想编写高级语言代码
      编程卓越之道(第二卷):运用底层语言思想编写高级语言代码 高清版

      本书是《 编程卓越之道 》系列书的第二卷,将探讨怎样用高级语言(而非汇编语言)编程得到高效率机器代码。在书中,您可以学到如何分析编译器的输出,以便检验代码的所作所为,从而得

      立即下载
      会说话的代码:书写自表达代码之道
      会说话的代码:书写自表达代码之道 高清版

      写得不好的代码有各种各样的问题,会给读者带来不好的阅读体验,并且如果代码写得不够好,文档和代码不一致,注释和代码不一致,那么对维护人员来说,理解代码和进入项目组都是有困

      立即下载
      读者留言
      Miss崔振家

      Miss崔振家 提供上传

      资源
      39
      粉丝
      9
      喜欢
      92
      评论
      16

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com

      idea注册码