首页 新闻 会员 周边

我知道“脚本”是什么,可是“脚本语言”又是什么?

0
[待解决问题]

  • 通过上网查找资料,我了解到,“脚本”指的是一种不用被编译器编译就能被执行的文件。

最简单的例子是,我们把若干个DOS命令写进一个txt文件,保存后,把后缀改为.dat,这就创造出了一个脚本。

我们双击,以运行这个可执行文件。然后,电脑做的事就相当于我们在CMD中按顺序提交同样的DOS命令后电脑做的事。

后来我又在大脑中想到了一个编程语言,lua语言,它是一个脚本语言。

  • 此时问题出现了。难道说,在前面的例子里,我们写的DOS命令,其实本就是一个语言,就好比SQL语言一样,是一个语言吗?

为什么要这么问呢?请想象一下,如果DOS命令并不是语言,那么根据上面的小例子我们就可以推断:

“我们不使用‘脚本语言‘就可以创造出一个脚本文件”

  • 假设推断是正确的,矛盾就产生了,矛盾就是:

“既然不用脚本语言就可以创建一个脚本文件,那么为啥会有‘脚本语言’这种东西?”

想到这,我个人初步猜测,DOS命令本身应该就是一个脚本语言。

  • 马上,我又觉得有矛盾了:

首先,我知道,DOS命令并不支持我们 定义变量 循环 之类的操作,它只是让计算机简单地执行一些功能指向性非常非常强放任务,比如显示树结构,删除文件,执行程序,等等等等

  • 而我已知的lua语言,python语言,同样也是脚本语言,他们却都支持定义变量等各种操作。在功能上的很多部分,它们二位与我学过的C,C++,Java都是基本重叠的。
  • 怎么,难道不同的“脚本语言”还有能力上的差异吗?

以上是我对于我自己在“脚本”与“脚本语言”之间的关系的不解的描述,希望各位兄弟可以为我解惑,先感谢各位了!

 
YASJUN的主页 YASJUN | 初学一级 | 园豆:149
提问于:2021-11-30 09:57
< >
分享
所有回答(3)
0

DOS命令并不支持我们 定义变量 循环 之类的操作,它只是让计算机简单地执行一些功能指向性非常非常强放任务,比如显示树结构,删除文件,执行程序,等等等等

” 

—— 支持,不但win直接支持,即使不支持自己也是可以   增加命令  去实现。脚本个人理解:1.非工程化(基于历史来源,如js,as);2.非编译,基于string的解释翻译(如roslyn script 并不是真脚本,如果你没实际了解内部,说了也白说,因为你用的时候,估计感觉不到)

dos就是一种“语言”,例如bash的写法并不一样,你可以认为一种规定就是一种语言。shell有很多种,不同的shell你都可以认为是一种“语言”(为什么打引号,因为通常语言的定义——应该具备语言完备性,这里的语言并不一定具有完备性)。

附dos循环:for /l %a in (1,1,111) do @(echo "%a : Hello world.")

花飘水流兮 | 园豆:13560 (专家六级) | 2021-11-30 10:28

感谢兄弟的回答。那么意思就说,DOS的确就是一种脚本语言,这么说完全没有问题是吧?我还有个问题,是不是别的脚本语言能做到的事情,我们用DOS,再理论上也是都可以做得到的呢?

支持(0) 反对(0) YASJUN | 园豆:149 (初学一级) | 2021-11-30 10:44

@YASJUN: DOS不就是最开始没有GUI的时候,操作系统的唯一交互方法吗?

支持(0) 反对(0) echo_lovely | 园豆:1437 (小虾三级) | 2021-11-30 16:07

@YASJUN: DOS原本是描述一种操作系统,windows出世后就成了后台应用,用来执行cmd命令,它只是一种交互形式,并非语言。

支持(0) 反对(0) 去哪里吃鱼 | 园豆:462 (菜鸟二级) | 2021-11-30 17:38
0

个人理解:
脚本语言是一种语言,脚本就是一个纯文本的文件,通过解释器来分析脚本的内容,从而执行。

计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-11-30 21:36
0

用来写脚本的语言

会长 | 园豆:12401 (专家六级) | 2021-12-02 13:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册