《交互式程序设计 第2版》一2.2 代码的本质

简介:

本节书摘来华章计算机《交互式程序设计 第2版》一书中的第2章 ,第2.2节,Joshua Noble 著 毛顺兵 张婷婷 陈宇 沈鑫 任灿江 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 代码的本质

你会从本章学习关于编程的知识,确切地说,就是写代码。所以你不仅需要知道什么是代码,还要知道代码是怎样参与编程过程的。在开始编程之前,先学习几个关键的术语。
代码
代码就是一系列让计算机执行的指令。运行代码,则计算机执行相应指令。代码由某种编程语言写成。跟自然语言一样,编程语言就是双方之间的一个协议。在代码中,这两方就是程序员和编译器。编译器我们稍后会学到,这里暂且把它看成是一个听得懂我们的代码的聆听者。代码可以简单得只是把两个数字加起来,也可以复杂得能渲染一部动画。归根结底,就是要针对编译器,用某种编程语言和文档编辑器写出正确的指令,并且告诉编译器执行哪个文件里的指令。写代码就是往一个文本文件里敲代码,而这个文件随后会传给编译器。写程序可以是从零开始写源代码,也可以是把若干程序整合起来,创建不同程序之间沟通的方式。这个过程也可认为是装配预建构件。构建程序项目不一定需要自己写代码,但你有本书在手,或者就会有兴趣写代码了。
文件
代码存放在文本文件里,任何文档编辑器都能打开。这些文件里除了代码就别无他物了。在规模较大和较复杂的项目里,还会把多个文件连起来。有些大项目包含了几百个代码文件,所有这些文件连起来组成该应用程序的代码总体。Arduino项目使用.ino文件,有时也用.c文件。Processing用的是.pde文件,间或用.java文件。openFrameworks使用.cpp文件和.h文件。不同类型的文件有不同的目的,做着不同的事。这些你稍后会看到。
编译器
编译器本身是一个程序,它可以把一个或多个代码文件转化为计算机读得懂的指令,让计算机将这些指令作为一个程序运行。绝大多数的现代计算机不能直接处理你写的指令,要用编译器把代码转译成机器指令。编译器还能优化机器指令让计算机快速运行之。但机器指令让人来写是非常困难的,所以先用便于人类理解的方式写出代码,再转译成适合机器理解的指令。也就是说,写出来一个Arduino控制器代码或者Java代码,你不是直接运行它,而是先编译它,让编译器生成一个计算机能运行的可执行文件。你可以把写代码的过程看成一系列的翻译,用一种高级语言(如Processing或C++)写程序告诉编译器你想做什么,然后编译器据此生成一个用机器语言写的文件并运行之。
可执行文件
可执行文件可作为应用程序运行,是代码编写和编译的结果。“可执行文件”这个名词有时和“应用程序”交替使用,但它们是不一样的。一个应用程序包含多个或一个可执行文件。你在本书中学习搭建的项目,最后都会生成一个可执行文件。
现在你可以开始写代码了。

相关文章
|
存储 监控 算法
|
JSON JavaScript 前端开发
Ctfshow web入门 nodejs篇 web334-web344
Ctfshow web入门 nodejs篇 web334-web344
411 0
|
存储 算法 Ubuntu
你可能不知道 xz 也是一种压缩格式,并且还相当惊艳
在现代计算中,文件压缩是节省存储空间和提高传输效率的关键技术。Linux 提供了多种压缩工具,如 `tar`、`zip`、`gzip`、`bzip2` 和 `xz`。本文重点介绍 `xz` 命令,探讨其高压缩比的优势及其基本用法,适合编程新手学习。
668 4
Vuforia专题:设置AR摄像头自动对焦
这篇文章介绍了如何在Vuforia AR应用中设置摄像头自动对焦,以提高摄像头画面清晰度和识别效果,并提供了具体的代码实现步骤。
Vuforia专题:设置AR摄像头自动对焦
|
监控 安全 物联网
|
存储 Linux 数据库
云计算的体系结构
云计算的体系结构由5部分组成,分别为应用层,平台层,资源层,用户访问层和管理层,云计算的本质是通过网络提供服务,所以其体系结构以服务为核心。 如下图: 1,资源层 资源池层是指基础架构屋面的云计算服务,这些服务可以提供虚拟化的资源,从而隐藏物理资源的复杂性。
4817 0
|
人工智能 开发者
黑神话:悟空中的AI行为树设计
【8月更文第26天】在《黑神话:悟空》这款游戏中,NPC(非玩家角色)的智能行为对于创造一个富有沉浸感的游戏世界至关重要。为了实现复杂的敌人行为模式,游戏开发团队采用了行为树作为NPC决策的核心架构。本文将详细介绍《黑神话:悟空》中NPC AI的设计原理,特别关注行为树的设计与实现。
836 0
|
机器学习/深度学习 运维 算法
监督算法和无监督算法之间的区别
【8月更文挑战第23天】
776 0
|
数据库连接 API Nacos
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
550 7
|
Kubernetes 监控 安全
Docker 集群之 Swarm
了解什么是 Docker 集群以及为什么要使用 Docker 集群,并介绍 Docker 集群工具 Swarm 和 Docker 集群搭建。
748 1
Docker 集群之 Swarm