首页 > 其他分享 >《Programming from the Ground Up》阅读笔记:p217-p238

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

时间:2024-10-10 13:00:42浏览次数:1  
标签:bin p238 python py Programming Up helloworld Perl usr

《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)

标签:bin,p238,python,py,Programming,Up,helloworld,Perl,usr
From: https://www.cnblogs.com/codists/p/18456096

相关文章

  • UpdatePack7R2 24.10.10 参数详细说明及示例
    UpdatePack7R224.10.10使用示例以下是一些使用UpdatePack7R2的示例命令:自动安装所有更新,包括InternetExplorer11,并重启计算机:CopyCodeUpdatePack7R2.exe/ie11/silent/reboot隐藏所有现有产品的更新,不更改InternetExplorer的版本,并且不重启计算机:CopyCode......
  • 《Programming from the Ground Up》阅读笔记:p181-p216
    《ProgrammingfromtheGroundUp》学习第10天,p181-p216总结,总计34页。一、技术总结第10章主要讲计算机是如何计算的,如十进制、二进制、八进制、十六进制以及浮点数和负数的表示。属于比较基础的内容,如果有一定基础,本章可跳过。1.exponent&mantissa示例:p197,12345.2isst......
  • The 2023 ICPC Asia Hangzhou Regional Contest (The 2nd Universal Cup. Stage 22: H
    The2023ICPCAsiaHangzhouRegionalContest(The2ndUniversalCup.Stage22:Hangzhou)M.V-Diagram题意:给定一个“v图”,求平均值最大的子"v图"思路:原图的最低点以及左右两个点必须取,如何先取满左边或者右边在贪心即可voidsolve(){lln;cin>>n;vect......
  • xtrabackup备份工具使用指南
    一、xtrabackup介绍xtrabackup是由Percona公司开发的一个用于MySQL数据库物理热备的工具,开源免费。目前最新的xtrabbackup8.3版本可以备份MySQL8.3servers上的InnoDB,XtraDB,MyISAM,MyRocks表,PerconaServerforMySQLwithXtraDB,PerconaServerforMySQL8.3......
  • INFS3208 – Cloud Computing Programming
    SchoolofInformationTechnologyandElectricalEngineeringINFS3208–CloudComputingProgrammingAssignmentTaskIII(10Marks)Taskdescription:Inthisassignment,youareaskedtowriteapieceofSparkcodetocountoccurrencesofverbsintheUN......
  • nodeJS构建错误——digital envelope routines::unsupported
    最近正在调研开源工作流项目,从github上克隆的代码,执行npmrundev报错。错误如下:查找原因出现了问题,自然要想办法解决。在网上搜索了一圈,发现该问题早已出现,一般描述的大致原因就是:当 nodejs 升级到17+版本以后,开始支持 OpenSSL3.0,而 OpenSSL3.0 对各种摘要算法做......
  • 深度学习对对联:探索seq2seq-couplet项目的智能对联生成
    引言对联作为中国传统文化的瑰宝,一直以其对仗工整、意境深远而备受推崇。随着人工智能技术的发展,利用深度学习来生成对联成为了一个引人注目的研究方向。本文将深入探讨seq2seq-couplet项目,这是一个利用序列到序列(seq2seq)模型来实现智能对联生成的开源项目。seq2seq-couple......
  • C++编译并运行后出现Process finished with exit code 139 (interrupted by signal 11
    问题描述:        代码运行意外终止,报错信息为Processfinishedwithexitcode139(interruptedbysignal11:SIGSEGV)CMakeList文件如下:cmake_minimum_required(VERSION3.26)project(SLAM)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIRED......
  • COMP612 Computer Graphics Programming
    COMP612ComputerGraphicsProgrammingSemester2,2024Project:HelicopterSceneThisisanindividualassignment.Allworkyousubmitmustbeentirelyyourown.Theassignmentisworth70%andwillbemarkedoutof100.Youmustworkfromtheprovided......
  • 收藏等于吃灰?SuperMemory:让信息不再迷失
    网上冲浪,永远在收藏,但是书到用时方恨少?你是否希望拥有一款工具,可以帮助你轻松管理、整理和检索所有重要信息?SuperMemory就是你需要的答案!它是一款强大的第二大脑工具,可以帮助你构建个人知识库,并轻松访问所有重要信息。 【使用场景】学习研究:保存有价值的文章、论文,构......