编译型语言与解释型语言
程序如果需要运行,必须将代码翻译成机器能够识别的语言(机器语言)。编译型语言在程序执行之前,会有一个编译的过程。这个过程会将代码翻译成机器能够识别的语言,然后再运行。这个编译的过程只需执行一次,之后再次执行相同的程序就不需要再次翻译。
而解释型语言是在程序运行的过程中对代码进行解释,对每一行代码进行解释然后再运行。所以每次程序运行的时候,都要重复解释。
引用知乎上一个答案,编译型语言相当于先做了一桌子菜然后再吃,解释型语言相当于火锅,边做边吃。
https://www.zhihu.com/question/21486706
对于编译型语言和解释型语言的比较,官方的结论是,解释型语言更容易debug。但是有时候你不知道问题在于你的程序还是你调用的库。解释型语言的最重要或者说最主要的优点在于,写起来很快很方便,而且有很多库来调用。
脚本
脚本是通过解释运行的,不需要编译。
脚本的优点:
1. 写起来简单,结构简单。
2. 当代码中出现bug的时候,可以直接执行到出现bug的那一行,而不需要先把所有代码都编译一边。
脚本的缺点:
由于是解释型语言,所以运行速度较慢。如果是测试新的代码或程序,将代码先用解释型语言运行一边,然后再改写成编译型语言。
Bash:
如果要理解bash,首先要知道linux的shell。shell本意是外壳。这里的意思是操作系统的外壳,即用户与操作系统通过shell进行交互。而Linux的核叫做kernel。kernel 不等于操作系统,Linux操作系统包括kernel和GNU,而kernel是其中最重要的一部分,作用是进行cpu管理,内存管理,IO管理,文件管理等。
Linux 的shell 有很多种,参考知乎:https://www.zhihu.com/question/35382632。
在linux 中创建一个shell 的命令:
vim XXX.sh
在第一行输入:
#!/bin/bash 作用是指明你要用的shell是什么
执行的时候:
bash XXX.sh
Bash 中的符号:
$ "dollar sign" : 在变量前的dollar sign 表示这个变量的值是引用过来的。例如:
#!/bin/bash
i=1
echo $i
在进行数学运算的时候,需要在式子前面加上 $。例如
#!/bin/bash
for i in {1..5}
do
total=$i+1
echo total
done
Python:
在Linux中创建python 脚本的命令:
vim XXX.py
#!/user/bin/env python
接下来是你的命令
运行的时候:
python XXX.py
一个简单的命令如下所示:
#!/user/bin/env python3
for i in rage(5):
print("hello world")
【我这里使用的是学校的服务器,学校服务器中有python2 和 python3这两个不同的版本,为了使用python3,我在代码的第一行,使用python3 代替 python。在执行的时候,使用python3代替python】
其实python是完全可以实现bash的所有功能的,当进行文件操作的时候,bash更简单一些,比如说 更改目录的命令是 cd,创建目录的命令是 mkdir。毕竟Linux的shell就是bash。
如果是关于数字操作或者函数操作,显然python是更加方便的。