程序员别唬我系列之:脚本

9 评论 16157 浏览 36 收藏 8 分钟

劝君更进一杯酒,从此以后莫装逼。

一天,设计把产品拉到一边,悄悄问:听他们程序员经常说,「这个问题是JS脚本运行出错了」,「这个好计算,跑个脚本就行了」,「这个bug需要在云端脚本修复」,有时候测试也在说「现在效率有提升,我们都是用自动化脚本解决问题」,还有数据分析师「这个数据,要重新写个脚本,Hadoop再跑两天」。这个「脚本」到底是啥啊,跟「脚气」是什么关系?

产品答:脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。

那你懂啥意思吗?设计追问。

不懂啊,我百度查的。本来想问程序员,怕被鄙视。。。

正当二人陷入沉思之时,我一个闪现,从角落里跳出来,带着我那精心准备的出场白「哪里有产品经理需要技术帮助,哪里就有我」,开始了一天的装逼之旅。

「脚本」这个词经常令人懵逼的,很多人包括很多程序员也是每天喊,每天写,但是好像并不知道它的来源与为什么叫这个名字,就好像大家都把「网志」叫成了「博客」,但你好像并不知道博客原本的含义。

脚本的英文是Script,我们看看它的释义,作为名词,就是剧本的意思,作为动词,是写剧本的意思,也是戏剧中底本的意思,翻译成「脚」不好理解,理解成为戏剧或话剧的「剧本」就好。

现实中,第一印象闪现脑中的剧本是一摞A4纸,已经被翻得起黑边儿了,上面密密麻麻的写着字(都是我们能读懂的哦)。剧本描述了这部剧的整个流程,出场,顺序,包袱,台词,旁白,舞台效果均囊括其中,并按它所编排的节奏和顺序执行,一部剧的演出效果,应该等同于剧本描述。

这种按照剧本完成任务充斥着整个生活,公司负责清理卫生间的大爷,是以一个小时为单位清理并签到的。主持人是按照设计好的台词主持节目的。想当网红,也是有剧本的。

这些生活中的场景,经过高度抽象,被「抄袭」计算机中。

  • 脚本就是剧本
  • 脚本是普通的文本文件(类似txt)
  • 脚本是批处理文件
  • 脚本导演了一个序列事件的发生
  • 脚本让一个例行任务效率大幅提升

Windows系统中常见的扩展名为bat的批处理文件,点开之后,屏幕上会打开一个黑色窗口,若干白字迸发而出,这就是批处理文件,也就是脚本。

我来写个最简单的Windows批处理文件,实现了打印Disk C几个字之后,输出C盘的目录,然后停止在命令行界面,代码如下:

双击这个文件运行,效果如下:

你看到的结果是这个文件执行了两个步骤:1.打印「Disk C」 2.调用dir命令输出C盘目录。所以才叫批处理嘛,你手工操作的话,至少要输入两次,发现没,效率大幅提升(当然不要以这个例子计算收益,脑补下是一个1000步的操作流程,并且每天都要做的哦,亲)。

这是一个最简单的脚本,这个是Windows系统直接支持的。JavaScript脚本是浏览器支持的。并且写JS语法和Windows批处理命令的语法规则也是不一样的,不一样的写法,并且运行环境也是不一样的,脚本的运行环境叫做“解释器”,这个应该也好理解吧,就是如何理解这段纯文本的脚本。如果你到了泰国,脚本是「萨瓦迪卡」,解释器就是泰语。如果你到了韩国,脚本写的是「阿尼阿塞呦」,解释器就是韩语。一种脚本对应着一种解释器,JavaScript最流行的解释器是Chrome V8引擎(应该多多少少听过哦,没听过找度娘问一下,装逼可用)。

如果脚本语言是「锤子」,那在北方和四川不同的解释器里面是不一样的,这个只限于汉语,因为汉语由于地域划分解释器就太多了。

流行的脚本语言有哪些呢?

  • JavaScript 浏览器脚本语言,目前也应用于服务端
  • PHP 世界上最好的语言
  • Perl、Shell、Python、Ruby、Lua,这几个自己找度娘问下,留为家庭作业了哦~~

注意Lua不要读成「撸啊」,标准读音是「撸哇」,好像读起来就感觉上流了一些。

脚本语言有很多种,也有相应配套的解释器。每种有其特殊的使用场景或擅长场景,不同场景要选用不同的工具。

很多程序员经常装逼:「我只用Python」。

其实是因为他只会Python。我就比较踏实,我会告诉产品经理:「我先看看哪种语言更适合这个场景,一会儿告诉你用什么」。产品经理转身那一刻,我就要赶快学习了,哈哈哈~

#专栏作家#

给产品经理讲技术,微信公众号(pm_teacher),人人都是产品经理专栏作家。资深程序猿,专注客户端开发若干年,对前端、后台技术略懂,热衷于对新的科技领域的探索。

本文原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自PEXELS,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 我只会python又怎么了

    来自广东 回复
  2. 还在因为“不懂技术”被开发忽悠?15天系统化解锁产品经理必懂的程序/代码、前端、后端、数据库4大模块基础技术知识。助你日常沟通更顺畅,产品设计不挖坑!
    详情戳>http://996.pm/7daXE 或咨询起点学院蘑菇(wx:qdxymg)

    来自广东 回复
  3. ~~成了你的粉丝了~~大爱

    来自北京 回复
  4. 很生动形象,赞

    来自江苏 回复
  5. 一下午看了好多篇 成果巨巨铁粉了

    来自四川 回复
  6. 果果微信公众号好久不更新了,原来你在这里

    来自辽宁 回复
  7. 我喜欢这样的文章,学习中,犀利而不失柔软,get
    脚本定义:是使用一种特定的描述性语言,一句一定的格式编写可执行文件
    脚本作用:可批处理,提高效率
    脚本语法规则和运行环境:不同语言,不同写法,所以有不同的语法规则和运行环境(又称解释器),举例:JavaScript最流行的解释器是ChromeV8引擎
    流行的脚本语言:JavaScript、PHP、Perl、Shell、Python、Ruby、Lua

    回复
  8. 很棒的文章,从前端转做产品经理,虽说写了很久的js,也知道js叫脚本语言,但你要让我单独解释脚本,我还真不知道怎么说,听君一席话,胜读十年书! 😉

    来自上海 回复
  9. 读起来很有意思~~你副业应该是段子手吧(斜眼笑.jpg)

    来自江苏 回复