写点什么

《Programming from the Ground Up》阅读笔记:p217-p238

作者:codists
  • 2024-10-10
    广东
  • 本文字数:1612 字

    阅读完需:约 5 分钟

《Programming from the Ground Up》学习第 11 天,p217-p238 总结,总计 22 页。

一、技术总结

1.C compiling

p216, C compiling is split into two stages - the preprocessor and the main compiler。


注:感觉这个写法不好,因为 preprocessor 和 compiler 都是对象,这里应该指动作。应该是:C compiling is split into two stages - the preprocessing and compilation。

(1)preprocessing

p216, The preprocessor is responsible for putting together the text of the program.


从代码上来说,通过 #include <stdio.h>指令实现。

(2)compilation

#include <stdio.h>:尖括号(angle bracket)包含的内容一般会到/usr/include 或者/usr/local/include 路径下寻找(如:stdio.h)。


#include "stdio.h":引号(quote)包含的内容一般会到当前目录(current directory)下寻找。

2.Perl

Perl 是一种解释型语言。


#!/usr/bin/perl print("Hello Perl!\n");
复制代码


Perl 语言的优点是“ In fact, one of Perl’s main strengths is it’s ability and speed at manipulating text.”。

3.Python

Python 是一种解释型语言。


#!/usr/bin/python# filename: helloworld.py
print("Hello Python!")
复制代码


以前总是不理解 #!/usr/bin/python 的作用是什么,看到这里终于理解了。


当我们以 ./helloworld.py 的方式执行 helloworld.py 程序的时候, #!告诉电脑这是一个 interpreted program, 使用/usr/bin/python(即/usr/bin 目录下的 python)这个 interpretor 来 interprete helloworld.py 程序。


当我们以 python helloworld.py 方式来执行 helloworld.py 程序时,已经显示指定了 interpretor,此时 #!/usr/bin/python 会被忽略掉。


以前对这句话总是不理解,大概是因为头脑中没有 interpretor 这个概念,其实/usr/bin/下的 python 就是一个 interpretor。

4.optimization(代码优化)

代码优化可以细分为 speed, memory space usage, disk space usage 等优化。书中讲的主要是 speed 优化。

(1)when

p234, Therefore, the time to optimize is toward the end of development, when you have determined that your correct code actually has performance problems.


因此,我们往往在开发即将结束时进行优化,这时已经确定代码的正确性,也确定了代码确实存在性能问题。

(2)where

p234, A profiler(性能分析器) is a program that will let you run you program, and it will tell you how much time is spent in each function, and how many times they are run.


a.local


b.global

二、英语总结

1.stick

p217, This includes sticking different files together, running macros on your program text, etc.


vt. to cause sth to become fixed, for example with glue or another similar substance.

2.legwork

p219, You can see that interpreted languages are often focused on letting you get working code as quickly as possible, withou having to do a lot of extra legwork.


也写作 leg-work,u.the boring work that need to be done。Originally news reporter slang for an assignment that promised(这里不是“承诺”的意思,而是“很可能(to seem likely)”) more walking than copy.

3.evident

p219, One thing about Perl that isn’t so evident from this example is that Perl treats strings as a single value.


刚开始看到 evident 的时候以为是“证据”,但用在这里意思不符合,查了下“证据”的英文单词是“evidence”。evident: ex-("fully") + *eid-("to see"), adj. easily seen or understood(显而易见的)。

三、其它

耗时 11 天,终于完结了,明天出读后感。

四、参考资料

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)

用户头像

codists

关注

公众号:编程人 2021-01-14 加入

Life is short, You need Python

评论

发布
暂无评论
《Programming from the Ground Up》阅读笔记:p217-p238_汇编_codists_InfoQ写作社区