程序員別唬我系列之:腳本

9 評論 16474 瀏覽 36 收藏 8 分鐘

勸君更進(jìn)一杯酒,從此以后莫裝逼。

一天,設(shè)計把產(chǎn)品拉到一邊,悄悄問:聽他們程序員經(jīng)常說,「這個問題是JS腳本運(yùn)行出錯了」,「這個好計算,跑個腳本就行了」,「這個bug需要在云端腳本修復(fù)」,有時候測試也在說「現(xiàn)在效率有提升,我們都是用自動化腳本解決問題」,還有數(shù)據(jù)分析師「這個數(shù)據(jù),要重新寫個腳本,Hadoop再跑兩天」。這個「腳本」到底是啥啊,跟「腳氣」是什么關(guān)系?

產(chǎn)品答:腳本,是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件。

那你懂啥意思嗎?設(shè)計追問。

不懂啊,我百度查的。本來想問程序員,怕被鄙視。。。

正當(dāng)二人陷入沉思之時,我一個閃現(xiàn),從角落里跳出來,帶著我那精心準(zhǔn)備的出場白「哪里有產(chǎn)品經(jīng)理需要技術(shù)幫助,哪里就有我」,開始了一天的裝逼之旅。

「腳本」這個詞經(jīng)常令人懵逼的,很多人包括很多程序員也是每天喊,每天寫,但是好像并不知道它的來源與為什么叫這個名字,就好像大家都把「網(wǎng)志」叫成了「博客」,但你好像并不知道博客原本的含義。

腳本的英文是Script,我們看看它的釋義,作為名詞,就是劇本的意思,作為動詞,是寫劇本的意思,也是戲劇中底本的意思,翻譯成「腳」不好理解,理解成為戲劇或話劇的「劇本」就好。

現(xiàn)實中,第一印象閃現(xiàn)腦中的劇本是一摞A4紙,已經(jīng)被翻得起黑邊兒了,上面密密麻麻的寫著字(都是我們能讀懂的哦)。劇本描述了這部劇的整個流程,出場,順序,包袱,臺詞,旁白,舞臺效果均囊括其中,并按它所編排的節(jié)奏和順序執(zhí)行,一部劇的演出效果,應(yīng)該等同于劇本描述。

這種按照劇本完成任務(wù)充斥著整個生活,公司負(fù)責(zé)清理衛(wèi)生間的大爺,是以一個小時為單位清理并簽到的。主持人是按照設(shè)計好的臺詞主持節(jié)目的。想當(dāng)網(wǎng)紅,也是有劇本的。

這些生活中的場景,經(jīng)過高度抽象,被「抄襲」計算機(jī)中。

  • 腳本就是劇本
  • 腳本是普通的文本文件(類似txt)
  • 腳本是批處理文件
  • 腳本導(dǎo)演了一個序列事件的發(fā)生
  • 腳本讓一個例行任務(wù)效率大幅提升

Windows系統(tǒng)中常見的擴(kuò)展名為bat的批處理文件,點(diǎn)開之后,屏幕上會打開一個黑色窗口,若干白字迸發(fā)而出,這就是批處理文件,也就是腳本。

我來寫個最簡單的Windows批處理文件,實現(xiàn)了打印Disk C幾個字之后,輸出C盤的目錄,然后停止在命令行界面,代碼如下:

雙擊這個文件運(yùn)行,效果如下:

你看到的結(jié)果是這個文件執(zhí)行了兩個步驟:1.打印「Disk C」 2.調(diào)用dir命令輸出C盤目錄。所以才叫批處理嘛,你手工操作的話,至少要輸入兩次,發(fā)現(xiàn)沒,效率大幅提升(當(dāng)然不要以這個例子計算收益,腦補(bǔ)下是一個1000步的操作流程,并且每天都要做的哦,親)。

這是一個最簡單的腳本,這個是Windows系統(tǒng)直接支持的。JavaScript腳本是瀏覽器支持的。并且寫JS語法和Windows批處理命令的語法規(guī)則也是不一樣的,不一樣的寫法,并且運(yùn)行環(huán)境也是不一樣的,腳本的運(yùn)行環(huán)境叫做“解釋器”,這個應(yīng)該也好理解吧,就是如何理解這段純文本的腳本。如果你到了泰國,腳本是「薩瓦迪卡」,解釋器就是泰語。如果你到了韓國,腳本寫的是「阿尼阿塞呦」,解釋器就是韓語。一種腳本對應(yīng)著一種解釋器,JavaScript最流行的解釋器是Chrome V8引擎(應(yīng)該多多少少聽過哦,沒聽過找度娘問一下,裝逼可用)。

如果腳本語言是「錘子」,那在北方和四川不同的解釋器里面是不一樣的,這個只限于漢語,因為漢語由于地域劃分解釋器就太多了。

流行的腳本語言有哪些呢?

  • JavaScript 瀏覽器腳本語言,目前也應(yīng)用于服務(wù)端
  • PHP 世界上最好的語言
  • Perl、Shell、Python、Ruby、Lua,這幾個自己找度娘問下,留為家庭作業(yè)了哦~~

注意Lua不要讀成「擼啊」,標(biāo)準(zhǔn)讀音是「擼哇」,好像讀起來就感覺上流了一些。

腳本語言有很多種,也有相應(yīng)配套的解釋器。每種有其特殊的使用場景或擅長場景,不同場景要選用不同的工具。

很多程序員經(jīng)常裝逼:「我只用Python」。

其實是因為他只會Python。我就比較踏實,我會告訴產(chǎn)品經(jīng)理:「我先看看哪種語言更適合這個場景,一會兒告訴你用什么」。產(chǎn)品經(jīng)理轉(zhuǎn)身那一刻,我就要趕快學(xué)習(xí)了,哈哈哈~

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對前端、后臺技術(shù)略懂,熱衷于對新的科技領(lǐng)域的探索。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自PEXELS,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 我只會python又怎么了

    來自廣東 回復(fù)
  2. 還在因為“不懂技術(shù)”被開發(fā)忽悠?15天系統(tǒng)化解鎖產(chǎn)品經(jīng)理必懂的程序/代碼、前端、后端、數(shù)據(jù)庫4大模塊基礎(chǔ)技術(shù)知識。助你日常溝通更順暢,產(chǎn)品設(shè)計不挖坑!
    詳情戳>http://996.pm/7daXE 或咨詢起點(diǎn)學(xué)院蘑菇(wx:qdxymg)

    來自廣東 回復(fù)
  3. ~~成了你的粉絲了~~大愛

    來自北京 回復(fù)
  4. 很生動形象,贊

    來自江蘇 回復(fù)
  5. 一下午看了好多篇 成果巨巨鐵粉了

    來自四川 回復(fù)
  6. 果果微信公眾號好久不更新了,原來你在這里

    來自遼寧 回復(fù)
  7. 我喜歡這樣的文章,學(xué)習(xí)中,犀利而不失柔軟,get
    腳本定義:是使用一種特定的描述性語言,一句一定的格式編寫可執(zhí)行文件
    腳本作用:可批處理,提高效率
    腳本語法規(guī)則和運(yùn)行環(huán)境:不同語言,不同寫法,所以有不同的語法規(guī)則和運(yùn)行環(huán)境(又稱解釋器),舉例:JavaScript最流行的解釋器是ChromeV8引擎
    流行的腳本語言:JavaScript、PHP、Perl、Shell、Python、Ruby、Lua

    回復(fù)
  8. 很棒的文章,從前端轉(zhuǎn)做產(chǎn)品經(jīng)理,雖說寫了很久的js,也知道js叫腳本語言,但你要讓我單獨(dú)解釋腳本,我還真不知道怎么說,聽君一席話,勝讀十年書! ??

    來自上海 回復(fù)
  9. 讀起來很有意思~~你副業(yè)應(yīng)該是段子手吧(斜眼笑.jpg)

    來自江蘇 回復(fù)