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

9 評論 16201 瀏覽 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)

    來自江蘇 回復