安静的程序,淘气的程序和编写程序
1. 静态程序——程序的源代码
上一章我们讲到了程序的源代码,你是不是很好奇它和程序到底是不是一回事儿啊?
严格来讲,“程序”和“程序的源代码”并不是一回事情噢。
程序的源代码是指用编程语言编写出来的程序的逻辑,是静态的文本,我们暂且可以叫 TA 安静的程序,一般被存储为以特定字符串为后缀的文件。
比如下面就是一个 Python 程序(程序员世界中最著名的打印“Hello World”的程序),被保存为 FirstProgram.py (py 是 python 文件的特定后缀)。
def main():print("Hello World")if __name__ == "__main__" :main()
是不是有点看不懂,没关系,听我给你娓娓道来,这个程序的名字叫做 FirstProgram ,FirstProgram.py 文件里面的内容就叫做 FirstProgram 程序的源代码, FirstProgram 程序源代码的功能是在运行该程序的计算机的显示器屏幕上打印 “Hello World” 字样。
你可以把上面的代码拷贝到一个文本文件里,然后将该文件存储为 “FirstProgram.py” ——注意后缀,后面没有“.txt”。
2. 让程序跑起来——运行程序
光有了程序的源代码还不行,因为静止的程序什么都干不了。要让程序干活,就得让它先跑起来。
这时,我们就需要程序的运行环境。
涉及到运行环境,不同的编程语言的具体需求不一样,这里又涉及到编译执行、解释执行等概念,不要着急,这些后面会讲到。
在此处,我们只需要知道, Python 的运行环境是一个专门的软件,需要下载安装就可以了。
如果你想和我们一起上这门课,那就一起先来到 Python 的官网下载安装 Python 的运行环境吧:
点击可下载安装 Python 的运行环境
安装教程:https://www.aiyc.top/578.html
打开 Python 下载页面你会发现里面有好多版本,我推荐你安装 Python3 最新版。其实任何以 Python3 开头的版本都可以,不过对于这类软件,大家都习惯于去追最新版。
而且最新版就在下载页面最显眼的地方,好找,比如下图是 2019 年 5 月的下载页头部,你读到这儿的时候,可能版本已经有所不同,不过最新版的位置总是大同小异:
注意:不要选 Python2 因为 Python2 和 Python3 对源码的要求有些不同。
当然,你如果非要装 Python2 ,别怪我没有提醒你,本课所有的例子都是用 Python3 写的噢,如果装了 Python2 ,部分代码需要改写才能运行,这样会更加麻烦,不如下载 Python3 省事儿噢。
Python 运行环境下载到你自己的台式机或者笔记本后(相信大多数人不会想用手机编程吧哈哈),安装它,设置好环境变量(这个只要根据安装提示进行,不知道怎么设置就什么都不要改,用默认的路径和选项就好)。
特别注意:图中箭头指向处一定要记得勾选上。否则得手动配置环境变量了哦。
然后在命令行下进入 PythonSourceCode 目录(这个目录是自己建立的),把 FirstProgram.py 放到目录下,然后在命令行输入 python FirstProgram.py 就能看到效果了:
在我们键入 “python FirstProgram.py” 到屏幕上显示出 “Hello World” ,看起来是一瞬间的事情,但实际上,后面却经历了一个 “漫长” 的过程,你的计算机的各个部件几乎都参与了这个过程:
- 首先,运行环境将程序代码读入内存,将一个完整的程序描述拆解成指令和数据两部分。
- 然后,指令被送到 CPU,CPU 逐条执行指令,对数据产生影响:
- 在这个过程中,根据程序的逻辑,输入输出设备(I/O设备)可能会接受用户的输入(本程序没有用户输入),并将输出呈现给用户(本程序的将 “Hello World” 打印到屏幕就是输出);
- 直到所有指令执行完毕。
- 最后,所有指令执行完毕后,指令和数据被移出内存。 (计算机是不是真的很辛苦,一个小小的动作,背后有这么复杂的步骤)
这些设备、内存、 CPU 之间的信息交换都是通过主板上的总线来实现的。
3. 跑动的程序——运行时程序
在程序的运行过程中,那些动态的、临时性存在于计算机核心部件中,并通过外围设备和用户进行交互的指令和数据才是真正的程序!
程序的源代码是一些静态的文字和符号,以文本文件形式存储在计算机的存储部件上。就算是打印或者手抄在普通纸张上也可以,源代码还是源代码,本身不会变化,只是不能直接被运行环境读取运行了而已。
而确切意义上的程序,则是在计算机执行源代码(或者由源代码编译而成的二进制码)的过程中,一个动态的流程和记录。对应到物理世界,程序的实际存在形式是硅晶、金属上流动的电波和不同高低的电压。
不过在日常生活中,“程序”一词往往被用来指代程序源代码,而且指代源代码的机会远比引用它的本意要多。我们也不用故意找别扭,那就干脆约定一下,在下面的课程中我们 用“程序”来指代静态的源代码,而 用“运行时程序”指代动态的程序。
4. 令人激动的环节:编程
4.1 编程的步骤
我们已经知道了什么是程序,编程就是从无到有创造出一个可以正常运行的程序的过程。
这个过程通常包括一下这几个步骤,一定要看仔细了噢:
Step-1 编写:把程序写出来。
既然要“编写”,自然要涉及到语言文字,否则写什么呢?
就目前而言,在大多数情况下,我们编写程序都使用高级编程语言。既然有高级,当然就有低级,之后我们会有专门将编程语言的章节,在这里就不多说浪费时间啦。 总而言之呢,程序是用某种特定的语言描述出来的。
Step-2 编译(*):编译是将编程语言描述的、人类可读的程序源代码(source code, 或简称code)转化为二进制代码(binary code)的过程。
这一步并不是一定要进行,关键是在于你选用的编程语言是编译执行的还是解释执行的,如果是前者,就要进行本步,否则的话是不需要哒。
本课程选用的 Python 语言是后者,用 Python 写的代码是不需要编译的。
Step-3 测试 : 也就是试运行程序。
一方面看看我们写的程序是否可以运行了,另外一方面要看它是不是按照我们最初的设计运行的。这个环节通常令人心情紧张!
Step-4 问题修复(*): 如果上一步发现了问题,也就是程序员们常挂在嘴上的 Bug,当然不能放任不管,需要将问题修复才能正式投入使用。
这一步理论上当然也是可选的,如果测试没有发现问题自然就不用修复什么了。
4.2 把程序写出来
编程对应的英文可以叫做 Programming ,不过更通常地被叫做 Coding ,这两种叫法很多时候可以通用。有时后者比较偏重强调第一步:程序的编写。
和之前 “程序” 的静态动态概念混用类似,虽然编程实际上指的是一个从空白到有一个程序正确运行的全过程,但 很多时候“编程”会被用来简化地指 Step-1:编写程序 。
相比于Step2 ~ Step4有许多自动化工具辅助,编写程序这一步基本是纯人工的,这就就是为什么大多程序员自嘲为码农,就是码字的农民了。
4.3 程序编辑器
虽然编程语言里一般其中都会包含部分英语单词,但是还是有大量的内容是数字以及各种符号组成的,因此程序代码乍看起来和一般的自然语言文字很不同,更像是编码(Code)——这也就是为什么编程会被叫做 Coding 的原因。
虽然不同编程语言写出来的程序一般会以不同的后缀名来存储,比如 C 语言写的程序源码文件是 *.c
; C++ 是 *.cpp
; C# 是*.cs
; Java是 *.java
; Python 是 *.py
…… 不过说到底,这些其实都是文本文件。
所以理论上,要编程,打开一个 Notepad ,然后直接往里面敲字符,敲完了再存成固定后缀的文件就可以了!
如果你愿意,当然可以用 Notepad :
或者任何你自己喜欢的文本编辑器(比如在 Linux/Unix 圈很流行的 vim 或者 emacs 编辑器)。
这种方法很酷,不过不太方便。
4.4 集成开发环境
在这里给大家推荐一类超级好用的软件,新手必备,那就是:IDE(Integrated Development Environment) ——中文名叫作“集成开发环境”
这类软件大多与编程语言绑定的,也就是说某一个 IDE 主要支持一种语言(当然也不绝对哟)。
IDE 除了提供编辑器,还提供编译运行以及 debug 环境( debug 简单来说就是发现程序有 bug 以后,能快速找到 bug 所在位置的过程)。而且,在编写程序的过程中,一般 IDE 会提示有没有语法错误等,对于初学者来说,简直是无敌方便。
流行的语言一般有多种 IDE ,很多人在选编程语言的时候要先站一遍队 (Java vs Python),选语言版本的时候再站一遍队 (Python2 vs Python3),选 IDE 的时候又要站一遍队——也许是觉得在一个名目之下党同伐异好玩吧,但其实,这些都没什么必要~
学习本课的同学应该都是没怎么接触过编程的,想来还没有沾染动不动就 “站队“ 的习气,对 IDE 可能也没有什么认识,不过不要紧啦
在此我就为大家推荐一款:PyCharm 。在其官网: 点击官网地址,就可以下载啦
PyCharm 有付费的专业版和免费的社区版,鉴于我们的课程内容真的非常滴简单,所以免费的就完全 ok 了。
5. 分享交流
我们为系列读者创建了微信交流群,以方便更有针对性地讨论专栏相关问题。入群方式请关注公众号:AI悦创「博客文章右边二维码哦!」加小编好友,小编拉你入群!(记得备注来意哦!)。
阅读文章过程中有任何疑问随时可以跟其他小伙伴讨论,或者直接向作者提问(作者看到后抽空回复)。你的分享不仅帮助他人,更会提升自己。
安静的程序,淘气的程序和编写程序相关推荐
- vc 写c语言程序步骤,VC++ 6.0编写程序的详细步骤
想知道VC++ 6.0工具如何编写程序吗,可能有些朋友还不熟悉,我们一起去了解一下VC++ 6.0编写程序的详细步骤吧. VC++ 6.0编写程序的详细步骤 vc++6.0的菜单简洁,工具明了,这里以 ...
- 编写程序体重身高输入和输出C语言,(C语言程序设计实验.doc
(C语言程序设计实验 创新源于实践 <高级语言程序设计> 课程实验教学手册 高级语言程序设计课程组 实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识 ...
- 60吨反渗透+混床程序 西门子200 smart 编写程序,西门子smart line触摸屏上位机组态
60吨反渗透+混床程序. 西门子200 smart 编写程序,西门子smart line触摸屏上位机组态. 带模拟量,读写时钟,报警视图,用户管理,报警指示器,运行状态. 非常好的一个纯水项目实例. ...
- 1-2课:安静的程序,淘气的程序和编写程序
静态程序--程序的源代码 上一章我们讲到了程序的源代码,你是不是很好奇它和程序到底是不是一回事儿啊? 严格来讲,"程序"和"程序的源代码"并不是一回事情噢. 程 ...
- java十个整数相反顺序_编写程序,对输入的一个整数,按相反顺序输出该数。例如,输入为 3578, 输出为 8753。...
编写程序,对输入的一个整数,按相反顺序输出该数.例如,输入为 3578, 输出为 8753. package HomeWork08; import java.util.Scanner; public ...
- 实验2 使用T-SQL编写程序
实验2 使用T-SQL编写程序 [实验目的] 1)掌握常用函数的使用方法. 2)掌握流程控制语句的使用方法. [实验环境] SQL Server 2012 Express(或SQL Server 2 ...
- 编写程序记录文件位置
当我们编写程序是会注意到,首先是配置一些函数的结构体. 所以我们就要找到下面的界面,然后打开FWLB中.c文件下面所对应的.h文件,这样就能查找到相应的结构体.下图为我所找到的中断的结构体. 然后就是 ...
- 将一张100元的钞票换成1元、5元和10元的钞票,每种钞票至少一张,编写程序输出所有的换法,循环次数需要尽可能地少。
2.将一张100元的钞票换成1元.5元和10元的钞票,每种钞票至少一张,编写程序输出所有的换法,循环次数需要尽可能地少. public class Two_2money { public static ...
- 电大计算机dm编写程序,中央电大计算机组成原理与汇编语言试题.docx
中央电大计算机组成原理与汇编语言试卷 一.填空题(每空1分) 1>冯?诺依曼体制中最核心的思想是计算机采用 存储程序工作方式. 2.有一机器字 24位,其中操作码占 4位.若采用二地址寻址,则每 ...
最新文章
- java找到项目下的某个文件夹_servlet 得到 JavaWeb项目下某文件夹的路径
- Linux基础命令---tracepath
- OpenShift Security (13) - 利用Log4j漏洞攻击容器
- 计算机硬件如何分类,计算机硬件分类教学.doc
- android callmanager.java,如何使用Mobile-SDK-Android正确注销DJISDKManager和SDKManagerCallback应用程序?...
- 【 D3.js 入门系列 --- 4 】 怎样使用scale(比例)
- HTTP详解(1)-工作原理
- 拦截器和过滤器的执行顺序和区别
- Windows10系统把JDK安装到D盘上的步骤及安装
- 机器学习:朴素贝叶斯算法对新闻分类
- docker网络模式--资源分配叙述(1)
- visio任意角度精确旋转图形
- 使用wxjava实现发表内容、预览信息以及推送文章
- 计算机软件专业的学术道德,遵守学术规范 恪守学术道德--计算机工程学院举行2019届毕业设计(论文)动员会...
- 【AD22】设置原理图纸张大小
- 天融信上网行为管理如何做短信验证?
- 广播发射系统的安装调试维护——TFN T300F天馈线驻波比测试仪手持矢量网络分析仪
- jmeter查看平均响应时间_Jmeter查看QPS和响应时间随着时间的变化曲线
- STM32的复位与电源管理
- 商超连锁行业异速联解决方案