《Programming from the Ground Up》阅读笔记:p181-p216

news2024/10/10 3:15:33

《Programming from the Ground Up》学习第10天,p181-p216总结,总计34页。

一、技术总结

第10章主要讲计算机是如何计算的,如十进制、二进制、八进制、十六进制以及浮点数和负数的表示。属于比较基础的内容,如果有一定基础,本章可跳过。

1.exponent & mantissa

示例:p197, 12345.2 is stored as 1.23452 * 10^4. The mantissa is 1.23452 and the exponent is 4.

2.compiled and interpreted language

(1)compiled language

p231, Many languages are compiled languages. When you write assembly language,each instruction you write is translated into exactly one machine instruction for processing. With compilers, a statement can translate into one or hundreds of machine instructions.

很多语言属于编译型语言。当使用汇编语言(assembly language)编程时,每一条指令会被转换成一条机器执行进行处理。使用编译器(compiler),一条语句(statement)可以被转换成一条或者多条机器指令。

(2)interpreted language

p214, There are also languages that are interpreted languages. These languages require

that the user run a program called an interpreter that in turn runs the given program.

也有很多语言属于解释型语言。解释型语言要求用户运行称为解释器(interpreter)的的程序来执行指定的程序。

(3)hybrid language(compiled and interpreted language)

There is also a class of hybrid languages which partially compile a program before execution into byte-codes.

还有一类混合语言,程序在执行前会被部分编译(partially compile,这里暂时想不出什么好的翻译,将就理解吧)成字节码。

总结:什么样的语言称为编译型语言(compiled language),什么的语言称为解释型语(interpreted language)?其实作者并没有给出很明确的定义,引用维基百科里面的一段话来概括吧:The term is vague since, in principle, any language can be compiled or interpreted and in practice some languages are both (in different environments).In some environments, source code is first compiled (to an intermediate form; often bytecode) and then interpreted(这个术语是模糊的,因为原则上,任何语言都可以被编译或解释,在实践中,有些语言两者都可以(在不同的环境中)。在某些环境中,源代码首先被编译成一种中间形式(通常是字节码),然后再进行解释。

为了改善编译语言的效率而发展出的即时编译技术,已经缩小了这两种语言间的差距。这种技术混合了编译语言与解释型语言的优点,它像编译语言一样,先把程序源代码编译成字节码。到执行期时,再将字节码直译,之后执行。Java就是这种技术的代表产物。

以前自己对这两个概念很纠结,到底怎么区分?看完维基百科的这段话后觉得很有道理,个人理解就是看语言的行为,一门语言既可以是解释性语言,也可以是编译型语言,也可以是两者的结合(如:JAVA)。

二、英语总结

1.hallway vs hall

p187, We have a switch for outside lights, a switch for the hallway lights, a switch for the living room lights, and a switch for the bedroom lights.

hallway和hall的意思差不多,都是指"a passage in a house(走廊)", 它们之间的一个微小差别是:hallway implies “narrow passage”, hall implies “large space or room”。

2.flinch at

flinch: make a sudden small movement of pain or fear(这是物理意义上的),也可以用于比喻意义(退缩)。

示例:p213, Languages are simply tools, and learning to use a new tool should not be something a programmer flinches at.

3.negligible

p214, However, in well-made interpreters, this time can be fairly negligible.

(1)negligible: negligence + -ible。

(2)negligence: neglect。

(3) neglect: *ne-(“not”) + *leg-(“to collect, gather”).vt. to not give enough care or attention to sth(忽视)。

三、其它

今日没有什么想说的。

四、参考资料

1. 编程

(1)Jonathan Bartlett,《Programming From The Ground Up》:https://book.douban.com/subject/1787855/

2. 英语

(1)Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org
在这里插入图片描述

欢迎搜索及关注:编程人(a_codists)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ai免费写论文是原创吗?分享5款ai写作免费一键生成助手

在当今的学术研究和写作领域,AI技术的应用越来越广泛,尤其是在论文写作方面。许多AI写作工具声称能够一键生成高质量的论文,并且保证原创性。然而,这些工具是否真的能生成完全原创的论文,仍然是一个值得探讨的问题。 …

【函数】4.函数的单调性

本节课没有笔记示例,自己做好笔记! 复合函数的单调性 最值 没讲 提醒我

【引领未来办公新风尚 —— 搭贝臻选,您的全能企业管理神器】

在这个瞬息万变的商业时代,每一分效率的提升都可能是超越竞争的关键。搭贝低代码平台匠心打造的“搭贝臻选”应用,集CRM营销管理、销售管理、采购管理、库存管理、财务管理、工单管理、人事管理及办公OA于一体,全方位赋能您的企业&#xff0c…

单片机闪存,闪存缓冲取,闪存延迟

一、启用闪存预取缓冲区(FLASH_PrefetchBufferCmd (FLASH_PrefetchBuffer_Enable);) 闪存预取缓冲区的作用: 在微控制器中,闪存是用于存储程序代码和常量数据的非易失性存储器。当微控制器执行程序时,需要从闪存中读取…

响应速度相关知识

在讨论 Android 性能问题的时候,卡顿、响应速度、ANR 这三个性能相关的知识点通常会放到一起来讲,因为引起卡顿、响应慢、ANR 的原因类似,只不过根据重要程度,被人为分成了卡顿、响应慢、ANR 三种,所以我们可以定义广义…

加快rollback事务回滚速度

背景: 运行一个长事务会话SQL,取消运行或者kill会话,回滚时间较长的情况。 影响到其它业务运行,需要尽快回滚的场景。 1.可以通过kill会话对应的操作系统进程,能够使用到并行恢复,会加快回滚速度。&…

汽车宣传动画渲染怎么做?云渲染加速汽车动画渲染

在汽车行业,宣传动画已成为展示新车型和技术创新的重要工具。高质量的渲染不仅能够吸引观众的眼球,还能有效传达汽车的性能和美学。随着技术的发展,云渲染技术为汽车宣传动画的渲染提供了新的可能性,大大提高了渲染效率和质量。 第…

一些零散的和编译相关的语法/flash-attn涉及语法扫盲

#pragma once:一个编译指令,用于防止头文件被多次包含。当编译器遇到#pragma once时,它会确保该头文件在一个编译单元(一个.cpp文件及其包含的所有文件)中只会被包含一次。即使该文件被间接包含多次,编译器…

JavaWeb的小结03

第2章-第3节 一、知识点 Cookie、Session、Filter过滤器、Listener。 二、目标 理解Cookie和Session的区别。 掌握Cookie和Session的基本用法。 理解Filter过滤器的作用。 三、内容分析 重点 理解Cookie和Session的区别。 掌握Cookie和Session的基本用法。 理解Filter过…

minio简单使用

文章目录 简介官方地址Linux下载安装安装服务启动关闭帮助命令 java开发minio依赖包新建项目pom配置文件配置类Service测试类运行测试 Api使用前言针对桶的操作查看某个桶是否存在创建一个桶返回桶列表删除一个桶 针对文件的操作上传文件到桶中(本地文件上传)上传文件到桶中(基…

(Linux驱动学习 - 9).设备树下platform的LED驱动

一.platform相关结构体与函数 1.匹配列表 - struct of_device_id struct of_device_id {char name[32];char type[32];/* compatible 很重要,需要与设备树节点的 compatible 属性一致,才能匹配 */char compatible[128]; const void *data; }; …

dfs 判重Sequence one——hdu 2610

目录 前言 搜索算法判重 map判重 set判重 Sequence one 问题描述 输入 输出 数据范围 样例 问题分析 重构dfs参数 递减,不重复 去重的优化 最终代码 前言 搜索算法判重 搜索算法判重有很多种方法,常见的有两种,map判重和set判重…

模运算和快速幂

文章目录 模运算快速幂 模运算 模运算是大数运算中的常用操作。如果一个数太大,无法直接输出,或者不需要直接输出,则可以对它取模,缩小数值再输出。取模可以防止溢出,这是常见的操作。 取模运算一般要求a和m的符号一…

VCI_VBDSP使用教程-服务站

VCI_VBDSP使用教程-服务站 VBDSP软件压缩包请点击下载:(备注:将VBDSP软件压缩包做一个下载连接,放到此处) 教程视频:https://www.bilibili.com/video/BV19eHpeeEiz/?spm_id_from333.999.0.0&vd_source224b4434f72960113bc97…

数组的定义与使用(二)

2. 数组是引用类型 2.1初识JVM的内存分布 内存是一段连续的存储空间,主要用来存储程序运行时数据的。比如: 程序运行时代码需要加载到内存程序运行产生的中间数据要存放在内存程序中的常量也要保存有些数据可能需要长时间储存,有些数据当方…

PCL 平面点云边界特征提取(alpha shapes)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 点云边界提取 2.1.2 可视化点云与边界 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新&a…

07:(寄存器开发)串口通信

串口通信 1、串口简介2、串口通讯协议3、硬件外设4、发送数据5、使用轮询的方式接收数据(USART1)6、使用中断的方式接收数据7、串口进行printf重定向 1、串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方…

后端增删改查的基本应用——一个简单的货物管理系统

最终效果,如图所示: 如果想要进行修改操作,可点击某栏修改选项,会在本表格下方弹出修改的具体操作界面(点击前隐藏),并且目前的信息可复现在修改框内。 本篇文章通过该项目将后端和前端结合起来…

java内存控制

Java 内存控制是一个相对复杂但至关重要的主题,它涉及到如何高效地管理Java应用程序中的内存资源。在Java中,内存管理主要由Java虚拟机(JVM)负责,包括内存的分配和回收。尽管如此,作为开发者,我…

2025年5月高项,从0备考信息系统项目管理师 | 备考经验全攻略分享

在逐步摸索备考信息系统项目管理师的过程中,我总结了很多关于班课资料和学习经验,现在与大家分享。(全文约3k字,阅读用时约5min) 这篇分享帖不仅告诉你关于备考信息系统项目管理师实用的班课资料,还有学习…